Системы искусственного интеллекта и интеллектуального анализа данных
Мы уже указывали на существование «родства» между экспертными системами и теорией искусственного интеллекта. Эта отрасль современной науки, в свою очередь «отпочковалась» от кибернетики и постоянно подпитывается ее идеями, впрочем, теория систем искусственного интеллекта (ИИ) многими своими достижениями обогатила кибернетику. Но кибернетика рассматривает процессы управления и в искусственных, и в естественных системах, в то время, как теория ИИ «вынужденно» исследует естественные системы, поскольку ставит перед собой цель создания «мыслящей» искусственной системы.
При проектировании систем искусственного интеллекта их создатели исходят из соображений, что «способ мышления» системы искусственного интеллекта не обязательно должен копировать способ мышления человека и строение его «мыслительного инструмента». Однако, как бы ни далеки по своему устройству были системы искусственного интеллекта от систем естественных, они вынужденно копируют и используют те закономерности мыслительной деятельности, которые были открыты человеком.
Основное отличие экспертных систем от систем искусственного интеллекта заключается в том, что экспертные системы используют (а иногда и логически достраивают) совокупность знаний, полученных от экспертов, но сами не способны создать нового знания. Новое знание может появиться только при условии, что система располагает комплектом средств сбора информации, может управлять им, способна к самообучению, самоорганизации, а также различает «полезное» и «вредное» для нее или ее пользователя, а экспертные системы в классическом варианте такими способностями не наделяются.
Системы же искусственного интеллекта, как правило, обладают всеми этими способностями или их частью. Благодаря этому, системы ИИ способны выявлять отклонения от текущего эталона, накапливать «черновые» гипотезы и через цепь обратной связи устанавливает их статус и полезность. Цепь обратной связи может быть реализована в виде некоторого вспомогательного инструментального комплекса, реализованного на иных чувствительных элементах, нежели основной комплекс сбора информации, либо представлен учителем, «объясняющим» системе, «... что такое «хорошо» и что такое «плохо». В качестве такого учителя часто выступает человек, снабжающий интерпретантой тот признак[96], который был выявлен системой ИИ.
Специалисты в области теории систем ИИ сходятся в мнении, что активность и относительная автономность отдельных подсистем системы искусственного интеллекта способна существенно повысить их эффективность и надежность выводов. Активно развивается направление автономных интеллектуальных агентов — автономных подсистем, наделенных автоматными реакциями на некий комплекс однотипных раздражителей. Поведение таких подсистем по отдельности невозможно назвать интеллектуальным, однако, будучи объединены в комплекс, они оказываются в состоянии обеспечить систему более высокого уровня информацией, необходимой для выработки решения о ситуации и степени ее «полезности» для системы в целом. Такая система обычно строится по иерархическому принципу и располагает сведениями о ценности тех или иных ресурсов, важности удержания значений критических параметров в заданных диапазонах и т. д. — то есть, теми сведениями относительно которых принимается решение о семантике нового признака.
В рамках теории ИИ можно выделить два мощных направления: логическое направление и направление нейронных и нейроподобных сетей.
Логическое направление теории систем искусственного интеллекта основной упор делает на симбиоз логического аппарата и аппарата теории вероятностей. Основное отличие логических систем ИИ от логических экспертных систем состоит в том, что на основе анализа показателей, используемых для вычисления функции полезности (именно с таких позиций осуществляется интерпретация тех или иных состояний и процессов), система способна самостоятельно корректировать аксиоматику: осуществлять ранжирование аксиом, удалять или вводить новые аксиомы. В принципе такая система в состоянии как развиваться, так и деградировать, однако то, какие именно тенденции будут развиты системой, во многом определяется тем, как на этапе синтеза системы была определена функция полезности.
Серьезнейшим недостатком логических систем ИИ является то, что алгоритмы логических рассуждений трудно поддаются распараллеливанию, если на каком-то этапе и удается выделить несколько относительно независимых логических операций и производить их исчисление разными решателями, то в некоторой точке алгоритм, как правило, сходится. А это значит, что наиболее «долгая» ветвь алгоритма будет определять быстродействие системы в целом. С целью сокращении вычислительных затрат изыскиваются методы логического вывода, задачей которых является установление факта нецелесообразности производства дальнейших вычислений. Однако, несмотря на эти ухищрения, объемы вычислений и быстродействие решателя остаются узким местом логических систем ИИ.
Направление систем искусственного интеллекта на базе нейронных и нейроподобных сетей «ближе к природе»: если логика — это порождение человеческого интеллекта, формальная система, выведенная на основе научного обобщения закономерностей человеческого мышления, то нейронные и нейроподобные сети — это попытка сымитировать не процесс мышления, а «процесс чувствования». В основе построения таких систем лежит принцип действия нейрона и нейронной сети, имитирующей строение центральной нервной системы человека.
Для начала разберемся с тем, что представляет собой нейрон... Нейрон — это нервная клетка, состоящая «... из довольно крупного (до 0,1 мм) тела, от которого отходят несколько отростков — дендритов, дающих начало все более и более тонким отросткам, подобно ветвям дерева. Кроме дендритов, от тела нервной клетки отходит еще один отросток — аксон, напоминающий длинный тонкий провод. Аксоны бывают очень длинны — до метра — и заканчиваются, подобно дендритам, древовидным разветвлением. На концах веточек, отходящих от аксона, можно видеть маленькие пластинки или луковички. Луковички одного нейрона близко подходят к различным участкам тела или дендритов другого нейрона, почти прикасаясь к ним. Эти контакты носят название синапсов; через них нейроны взаимодействуют друг с другом. Число луковичек, подходящих к дендритам одного нейрона, может исчисляться десятками и даже сотнями. Таким образом, нейроны очень тесно связаны друг с другом; они образуют нервную сеть[97]«. Если не вникать в тонкости, то можно сказать, что нейроны могут пребывать только в двух состояниях: возбужденном состоянии или в покое. При возбуждении на поверхности клетки образуется электрический потенциал, который передается через синапсы других нервных клеток и либо переводит, либо не переводит их в состояние возбуждения. Поэтому исходят из допущения, что нервная сеть — это дискретная система, состоящая из элементарных подсистем — нейронов, способных пребывать в одном из двух состояний. Такой взгляд на нейронную сеть, как иерархически организованную совокупность однотипных элементов со сложным поведением позволяет говорить о том, что это инструмент параллельной обработки данных, в различных сочетаниях поступающих от различных источников. Нейроны обладают способностью к обучению, заключающейся в том, что «проводимость синапса увеличивается после первого прохождения через него возбуждения и нескольких следующих прохождений[98]«. В результате этого повторяющиеся комбинации «данных» обучают сеть — настраивая ее на восприятие и распознавание образов ситуации (сэмплов). Как следствие, нейронная сеть, получающая данные об обстановке, поступающие от органов чувств, а также данные о внутреннем состоянии и взаимном расположении частей организма, оказывается в состоянии распознавать множество самых разнообразных состояний. Теперь задача состоит в том, чтобы получить данные, подтверждающие полезность запоминания распознанного сэмпла, что требует от системы определенных логических способностей...
Может показаться, что нейронная сеть без принципиально иной по организации системы обработки логической компоненты, отражающей топологию отношений во времени, пространстве, организационной иерархии или пространстве некой конструкции, пригодна лишь для решения задач распознавания. Но, судя по результатам исследований в области нейрофизиологии, в организме человека отсутствуют специализированные «логические клетки» — то есть, все эти операции реализуются именно на нейронных структурах, которые обладают большой информационной емкостью. Приняв некоторые упрощения, можно утверждать, что многообразие пространственных отношений выражено в терминах временных задержек реакции отдельных нейронов, инерционности отдельных связей нейронной сети. Эти характеристики также являются предметом «запоминания» и учитываются при выработке адаптивного поведения организма. Однако эта способность требует от человека способности абстрактного («знакового») мышления — введения еще одного уровня иерархии, обеспечивающей возможность оперировать информационно-емкими понятиями. Именно эта особенность — наличие второй сигнальной системы — и выделяет человека из числа прочих живых существ и обеспечивает ему возможность запоминания протяженных во времени событий и сценариев, ассоциированных с ними. То есть, логика становится доступной нашему пониманию, если введена знаковая система, запоминание правил которой дается легче, нежели запоминание всех конкретных признаков событий и вероятных путей их развития. Рассуждая логически, мы оперируем не образами ситуаций, а знаками, для запоминания которых требуются гораздо меньшие усилия.
Преимуществом нейронной или нейроподобной сети перед чисто логической системой искусственного интеллекта заключается в гибком сочетании параллельной и последовательной обработки информации, обусловленном иерархической структурой нейронной сети. Однако человеку свойственно оптимизировать свою деятельность — там, где удобнее воспользоваться неким инструментом, имеющимся в его распоряжении, он не станет искать пути применения того инструмента, который не приспособлен для выполнения работы. Пока нейроподобные сети (созданные на искусственных нейронах — перцептронах) и нейронные сети (созданные на нейронах, полученных у простейших организмов), как правило, на этапе манипулирования логической компонентой используют традиционную или несколько модифицированную логику, то есть, переходят от параллельной обработки данных к последовательной обработке. Хотя созданы и средства, которые, оперируя величинами инерционности нейронов, способны осуществлять логическую обработку без перехода к уровню знаковой системы. Сражение за быстродействие систем продолжается и, возможно, что через некоторое время мы станем свидетелями технологического прорыва в этом направлении, который приведет к созданию реальной системы параллельной обработки данных. Однако это не приведет к тому, что формальная логика утратит свои позиции в инструментарии аналитика — для решения каждой специфической задачи требуется свой, индивидуальный, набор инструментальных средств.
Где используются системы ИИ, построенные на нейронных и нейроподобных сетях? Приложений масса: от анализа финансовых котировок и мультисенсорных систем сбора информации до систем распознавания словоформ в компьютерной лингвистике, от систем декодирования помехоустойчивых кодов и криптообработки до систем производства приближенных вычислений — диапазон применения их крайне широк. Современная технология производства нейроподобных сетей уже миновала зачаточную стадию: созданы как аппаратные, так и программные реализации нейроподобных сетей, инструментарий их настройки и обучения, однако функция полезности пока задается извне, да иначе какой смысл в нейроподобных и нейронных сетях, которые сами решают, что им полезно, а что — нет (это все равно, что молоток, который сам решает: то ли ударить по теплому и мягкому пальцу, то ли по твердой и холодной шляпке гвоздя).
Как согласуется все то, что мы говорили о нейронных и нейроподобных сетях с моделями? Любая обученная нейронная или нейроподобная сеть — это по существу и есть модель, выступающая в роли образа ситуации ли, объекта ли — не суть важно. Поэтому можно сказать, что нейроинформатика и нейрокомпьютинг — это развитие идеологии моделирования в направлении дальнейшей автоматизации процесса (равно, как и все, что делается в отрасли искусственного интеллекта). По этой причине можно утверждать, что для аналитика, как потребителя результатов функционирования систем искусственного интеллекта, внутреннее устройство подобной системы непринципиально, хотя и нелишне знать, как устроен и работает тот инструмент, с помощью которого ты решаешь свои задачи.
Существуют ли примеры систем искусственного интеллекта, которые можно пощупать руками, не вставая из-за рабочего стола? Да, существуют и их, если приглядеться, — масса... Достаточно запустить компьютер, на котором установлена всем знакомая операционная система Microsoft Windows, как вы окажетесь в интеллектуальной среде, которая отслеживает массу событий, контролирует состояние множества запущенных процессов и способна выдавать рекомендации, направленные на стабилизацию параметров функционирования операционной системы и компьютера. Если у вас на компьютере установлена система автоматизированного перевода, то это еще один пример системы ИИ, если вы используете сканер и программу автоматического распознавания текста — вот вам и еще один пример. Этот список можно продолжить, однако, остановимся на еще одном приложении систем ИИ, особенно актуальной для касты аналитиков...
В последнее время наблюдается оживление рынка программного обеспечения, предназначенного для ведения интеллектуального анализа данных (в англоязычных источниках — Data Mining, т. е. «раскопка данных»). Для этого класса систем ИИ характерно комплексное использование методов, используемых в логических системах ИИ и нейрокомпьютинге, в сочетании с инструментарием статистического анализа данных и компьютерной лингвистики. Только по состоянию на начало 1999 года на американском рынке интеллектуального программного обеспечения было представлено свыше пятнадцати программных и программно-аппаратных комплексов, относящихся к этому классу[99]. Безусловно, все эти системы нуждаются в обучении, профессиональной настройке и адаптации к предметной области, в которой предполагается их дальнейшее использование. В большинстве своем, они представляют собой системы искусственного интеллекта, ориентированные на решение задач анализа «абстрактных» типов данных (т. е. безотносительно к их семантике), интегрированные со сконфигурированными под потребности заказчика базами данных. Иным вариантом поставки систем data mining является вариант, предполагающий настройку и адаптацию системы искусственного интеллекта (собственно, инструмента Data Mining) под уже существующую подсистему хранения данных заказчика.
В любом варианте поставки по мере функционирования системы она выделяет некие скрытые закономерности в хранимых массивах данных (в том числе — корреляции временных рядов). Такие корреляции не всегда очевидны для аналитика, однако, для систем data mining числа — родная стихия. Системы data mining не имеют обыкновения забывать или упускать из внимания сколь бы то ни было «незначительные детали» и закономерности — это свойство делает их полезным инструментом информационно-аналитической работы.
Принцип функционирования систем интеллектуального анализа данных состоит в том, что на основе анализа потока данных, поступающих от разнообразных источников информации, формируется информационный образ неким образом интерпретируемой ситуации, который в ходе дальнейшей эксплуатации системы может быть «узнан», о чем и информируется потребитель. Отрасль, для которой создается такая система, на этапе разработки, в принципе, не существенна, поскольку важен лишь принцип формирования системы признаков и класс данных, на которые ориентирована данная система (количественные, качественные).
Адаптация к предметной области этого класса программного обеспечения заключается в том, что предметная область подлежит моделированию и описанию в виде совокупности измеримых атрибутов. Поведение этих атрибутов во времени неким (наперед неизвестным) образом характеризует состояние и поведение систем. С точки зрения исследователя интерес представляет именно то, каким образом наблюдаемые ситуации и тенденции отражаются в имеющемся наборе атрибутов, не существует ли неких признаков, характеризующих начальный период зарождения негативной или позитивной тенденции, скатывания к неким сценариям в развитии ситуации и т. п.
Еще раз заметим: системы data mining не работают напрямую с текстами произвольного формата и данными, которые не могут быть непосредственно сопоставлены. Максимум, что они «могут», если не располагают тезаурусом, характерным для данной предметной области — это работа со структурно-статистическими признаками и временными распределениями.
Если разобраться, то, на самом деле, такие системы могут оказаться полезными даже в случае отсутствия интепретанты у впервые проявившегося признака, поскольку системы интеллектуального анализа данных способны лишь акцентировать внимание аналитика на неких всплесках, по совокупности интегральных или частных показателей отличающих ситуацию от эталона нормы. Какую именно интерпретацию получат эти признаки — вопрос квалификации аналитика, поскольку задача систем интеллектуального анализа данных — это выделение сэмпла, но никак не снабжение его некой семантикой. Системы этого типа работают подобно периферийному зрению человека — они реагируют лишь на изменения (периферийное зрение человека обеспечивает только сигнализацию о перемещениях в «опасной» зоне, но за распознавание движущегося объекта оно не берется).
Обращают на себя внимание попытки вхождения на уровень таких, казалось бы, трудно формализуемых отношений, как политика. Подобные системы не пытаются подменить аналитика, взвалив на себя весь интеллектуальный процесс, связанный с формированием политической стратегии (социализацией идей), однако способны выступать в роли хорошего помощника, способного непредвзято оценить пользу от предпринятых политических шагов. Для того, чтобы система смогла стать таким помощником, пользователю нужно «разъяснить» автоматизированной системе преследуемые им цели и рассматриваемые способы достижения этих целей, «проинформировать» систему о тех политических силах, чьи интересы, следует учитывать при решении задачи, отношениях между вероятными политическими сторонниками и противниками, возможных препятствиях на пути достижения целей и вероятных причинах их возникновения. Лишь после этого встроенная экспертная система будет способна оказать пользователю помощь в разработке альтернативных вариантов стратегии достижения целей, сопоставить эти варианты, а также оценить результативность предпринятых политических шагов. Далее начинается работа, собственно, системы искусственного интеллекта, которая на основе поставляемых ей данных (отклики прессы, рейтинги, результаты голосования и т. д.) предпримет попытки оценивания результативности целенаправленной деятельности. По результатам работ обычно предоставляется набор графиков, текстов и диаграмм, обеспечивающих возможность системного видения проблемы и путей ее решения.
Доступным примером, на котором можно испытать возможности такого рода систем, может служить распространяемая на основе лицензии Shareware «облегченная» версия программного обеспечения PolicyMaker Lite (PoliMap, США, http://www.polimap.com). Данный программный продукт специально разработан для ведения политического анализа и позволяет оценивать расстановку действующих политических сил при осуществлении политической активности (например, при продвижении законодательных инициатив, ведении внутрипартийной борьбы или в ходе выборов). И хотя в этой системе (по крайней мере, в той демонстрационной версии, которая предлагается на пробу заинтересованным лицам) явно перевешивает блок экспертных знаний, ознакомление с ней может оказаться весьма поучительным.
Назвать такие системы разумными нельзя, но на звание электронного интеллектуального помощника они вполне могут претендовать. Часто по своим функциями системы этого типа занимают позицию между инструментальными средствами формального моделирования и средствами активизации мыслительной деятельности.