Курносов Ю. В., Конотопов П. Ю

Вид материалаДокументы

Содержание


9.3 Экспертные системы
9.4 Системы искусственного интеллекта и интеллектуального анализа данных
Подобный материал:
1   ...   25   26   27   28   29   30   31   32   ...   43
Продукционные модели представления знаний формируются из следующих компонентов:
  • семантическая сеть;
  • множество правил вывода (продукций).

Такие модели вместо логического вывода на множестве аксиом используют вывод на знаниях.


Фреймовые модели представления знаний формируются из компонентов типа «фрейм». Фрейм представляет собой структуру данных, включающую имя фрейма, имя слота (слотов), значение слота (слотов). На тип значения слота ограничений практически не налагается — ими могут быть числа, математические соотношения, тексты на естественном языке, программы, правила вывода или ссылки на другие слоты данного фрейма или других фреймов. Как следствие, из фреймов может быть построена сложная многосвязная структура, отражающая знания о некоторой предметной области.


В качестве технологической платформы для построения базы знаний могут быть избраны навигационные, реляционные и объектные базы данных, языки гипертекстовой разметки, программы, разработанные на языках логического программирования и обработки символьных данных и программы, разработанные на языках программирования общей семантики. Выбор технологической платформы может быть продиктован как спецификой хранимых знаний, так и наличествующим у разработчика инструментарием (не говоря о требованиях к быстродействию, уровню конфиденциальности знаний и т. д.).


9.3 ЭКСПЕРТНЫЕ СИСТЕМЫ


Эксперты высокого класса не всегда есть под рукой, их опыт всегда специфичен, да и ротацию кадров следует учитывать. Технология же экспертных систем позволяет улучшить (если не исправить) ситуацию в кадровой сфере, а также оптимизировать работу экспертов высокого класса, переложив решение рутинных проблем на «плечи» автоматизированных систем. Поэтому экспертные системы нашли широкое применение в современной аналитике. Заметим, что экспертные системы являются инструментом, способным оперировать, в том числе, и знаниями, еще не прошедшими процедуру научного обобщения и формализации — кроме экспертных систем это может делать только человек. К этому следует прибавить, еще и то, что способности человека по оперативному извлечению необходимых знаний и данных из памяти ограничены и подвержены влиянию целого ряда внешних условий (например, стрессовые ситуации, колебания физических параметров среды обитания и т. п.).

В качестве иллюстрации к последнему утверждению приведем курьезный пример. В 1990-е годы в Италии провели интересный эксперимент: специально отобранной группе девушек были предложены для решения два идентичных задания, первое из которых они решали, будучи одеты в одежду делового стиля, а второе — в бикини. Второе задание было решено с чуть ли не в два раза худшими результатами, чем первое. А ведь это всего лишь изменение стиля одежды... Чего же ожидать от человека, если поместить его в действительно экстремальные условия?


В последние десятилетия направление экспертных систем (ЭС) оформилось в самостоятельную (и весьма прибыльную) отрасль теоретических и прикладных исследований в рамках теории искусственного интеллекта. Правда, в силу действия модных течений название специалистов, работающих в этой области, несколько раз менялось: то их именовали специалистами по интеллектуальным технологиям, то инженерами знаний, то когнитологами. Сейчас на западе в ходу термин Knowledge Management (управление знаниями), соответственно, поменялось и название специальности.

Целью деятельности этих специалистов является создание программ и устройств, использующих знания и процедуры вывода для решения задач в заданной предметной области. ЭС не только реализуют заранее разработанные алгоритмы решения задач, но способны самостоятельно вырабатывать «новые»95 алгоритмы решения возникающих задач.

Следует выделять два направления работ в этой отрасли: направление создания инструментальных средств для создания экспертных систем (программных оболочек экспертных систем) и направление собственно создания ЭС, наполненных конкретными знаниями в некоторой предметной области.


В настоящее время ЭС применяются в различных областях человеческой деятельности. К числу уже устоявшихся, апробированных в научно-исследовательской и деловой практике, можно отнести экспертные системы медицинского, технологического, юридического назначения, экспертные системы, ориентированные на поддержку процессов проектирования в архитектуре, электронике и электротехнике, разработки программного обеспечения, а также в военных приложениях. Их характерной особенностью является то, что они разработаны для тех отраслей человеческой деятельности, в которых проявляются устойчивые закономерности, описания которых и подвергается формальному представлению в базе знаний. Перечислим ряд экспертных систем, принадлежащих к различным отраслям деятельности человека:
  • MYCIN- в области медицины;
  • Rational Rose — в области разработки программного обеспечения;
  • ArchiCAD — в области архитектурного проектирования;
  • P-CAD, Or-CAD — в электронике и электротехнике и многие другие.

В зависимости от типов решаемых задач, экспертные системы можно разделить на следующие классы: системы классификации и распознавания объектов, интерпретации данных, диагностики, проектирования, прогнозирования, планирования, мониторинга, отладки, обучения и управления.


Для взаимодействия с пользователем могут использоваться интерфейсы, обеспечивающие взаимодействие с пользователем на подмножестве естественного языка, графические средства, шаблоны ввода/вывода и формальные знаковые системы. При этом интерфейсом могут предусматриваться режимы консультации потребителя, комментария к выводам (объяснение), обучение пользователя правилам из базы знаний и коррекции содержимого базы знаний.

Как явствует из предыдущего предложения, экспертные системы в качестве своего ядра имеют именно базы знаний, построенные в соответствии с одной из описанных нами моделей представления знаний или по комбинированной схеме.


9.4 СИСТЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА И ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ


Мы уже указывали на существование «родства» между экспертными системами и теорией искусственного интеллекта. Эта отрасль современной науки, в свою очередь «отпочковалась» от кибернетики и постоянно подпитывается ее идеями, впрочем, теория систем искусственного интеллекта (ИИ) многими своими достижениями обогатила кибернетику. Но кибернетика рассматривает процессы управления и в искусственных, и в естественных системах, в то время, как теория ИИ «вынужденно» исследует естественные системы, поскольку ставит перед собой цель создания «мыслящей» искусственной системы.

При проектировании систем искусственного интеллекта их создатели исходят из соображений, что «способ мышления» системы искусственного интеллекта не обязательно должен копировать способ мышления человека и строение его «мыслительного инструмента». Однако, как бы ни далеки по своему устройству были системы искусственного интеллекта от систем естественных, они вынужденно копируют и используют те закономерности мыслительной деятельности, которые были открыты человеком.

Основное отличие экспертных систем от систем искусственного интеллекта заключается в том, что экспертные системы используют (а иногда и логически достраивают) совокупность знаний, полученных от экспертов, но сами не способны создать нового знания. Новое знание может появиться только при условии, что система располагает комплектом средств сбора информации, может управлять им, способна к самообучению, самоорганизации, а также различает «полезное» и «вредное» для нее или ее пользователя, а экспертные системы в классическом варианте такими способностями не наделяются.

Системы же искусственного интеллекта, как правило, обладают всеми этими способностями или их частью. Благодаря этому, системы ИИ способны выявлять отклонения от текущего эталона, накапливать «черновые» гипотезы и через цепь обратной связи устанавливает их статус и полезность. Цепь обратной связи может быть реализована в виде некоторого вспомогательного инструментального комплекса, реализованного на иных чувствительных элементах, нежели основной комплекс сбора информации, либо представлен учителем, «объясняющим» системе, «... что такое «хорошо» и что такое «плохо». В качестве такого учителя часто выступает человек, снабжающий интерпретантой тот признак96, который был выявлен системой ИИ.

Специалисты в области теории систем ИИ сходятся в мнении, что активность и относительная автономность отдельных подсистем системы искусственного интеллекта способна существенно повысить их эффективность и надежность выводов. Активно развивается направление автономных интеллектуальных агентов — автономных подсистем, наделенных автоматными реакциями на некий комплекс однотипных раздражителей. Поведение таких подсистем по отдельности невозможно назвать интеллектуальным, однако, будучи объединены в комплекс, они оказываются в состоянии обеспечить систему более высокого уровня информацией, необходимой для выработки решения о ситуации и степени ее «полезности» для системы в целом. Такая система обычно строится по иерархическому принципу и располагает сведениями о ценности тех или иных ресурсов, важности удержания значений критических параметров в заданных диапазонах и т. д. — то есть, теми сведениями относительно которых принимается решение о семантике нового признака.


В рамках теории ИИ можно выделить два мощных направления: логическое направление и направление нейронных и нейроподобных сетей.

Логическое направление теории систем искусственного интеллекта основной упор делает на симбиоз логического аппарата и аппарата теории вероятностей. Основное отличие логических систем ИИ от логических экспертных систем состоит в том, что на основе анализа показателей, используемых для вычисления функции полезности (именно с таких позиций осуществляется интерпретация тех или иных состояний и процессов), система способна самостоятельно корректировать аксиоматику: осуществлять ранжирование аксиом, удалять или вводить новые аксиомы. В принципе такая система в состоянии как развиваться, так и деградировать, однако то, какие именно тенденции будут развиты системой, во многом определяется тем, как на этапе синтеза системы была определена функция полезности.

Серьезнейшим недостатком логических систем ИИ является то, что алгоритмы логических рассуждений трудно поддаются распараллеливанию, если на каком-то этапе и удается выделить несколько относительно независимых логических операций и производить их исчисление разными решателями, то в некоторой точке алгоритм, как правило, сходится. А это значит, что наиболее «долгая» ветвь алгоритма будет определять быстродействие системы в целом. С целью сокращении вычислительных затрат изыскиваются методы логического вывода, задачей которых является установление факта нецелесообразности производства дальнейших вычислений. Однако, несмотря на эти ухищрения, объемы вычислений и быстродействие решателя остаются узким местом логических систем ИИ.

Направление систем искусственного интеллекта на базе нейронных и нейроподобных сетей «ближе к природе»: если логика — это порождение человеческого интеллекта, формальная система, выведенная на основе научного обобщения закономерностей человеческого мышления, то нейронные и нейроподобные сети — это попытка сымитировать не процесс мышления, а «процесс чувствования». В основе построения таких систем лежит принцип действия нейрона и нейронной сети, имитирующей строение центральной нервной системы человека.

Для начала разберемся с тем, что представляет собой нейрон... Нейрон — это нервная клетка, состоящая «... из довольно крупного (до 0,1 мм) тела, от которого отходят несколько отростков — дендритов, дающих начало все более и более тонким отросткам, подобно ветвям дерева. Кроме дендритов, от тела нервной клетки отходит еще один отросток — аксон, напоминающий длинный тонкий провод. Аксоны бывают очень длинны — до метра — и заканчиваются, подобно дендритам, древовидным разветвлением. На концах веточек, отходящих от аксона, можно видеть маленькие пластинки или луковички. Луковички одного нейрона близко подходят к различным участкам тела или дендритов другого нейрона, почти прикасаясь к ним. Эти контакты носят название синапсов; через них нейроны взаимодействуют друг с другом. Число луковичек, подходящих к дендритам одного нейрона, может исчисляться десятками и даже сотнями. Таким образом, нейроны очень тесно связаны друг с другом; они образуют нервную сеть97«. Если не вникать в тонкости, то можно сказать, что нейроны могут пребывать только в двух состояниях: возбужденном состоянии или в покое. При возбуждении на поверхности клетки образуется электрический потенциал, который передается через синапсы других нервных клеток и либо переводит, либо не переводит их в состояние возбуждения. Поэтому исходят из допущения, что нервная сеть — это дискретная система, состоящая из элементарных подсистем — нейронов, способных пребывать в одном из двух состояний. Такой взгляд на нейронную сеть, как иерархически организованную совокупность однотипных элементов со сложным поведением позволяет говорить о том, что это инструмент параллельной обработки данных, в различных сочетаниях поступающих от различных источников. Нейроны обладают способностью к обучению, заключающейся в том, что «проводимость синапса увеличивается после первого прохождения через него возбуждения и нескольких следующих прохождений98«. В результате этого повторяющиеся комбинации «данных» обучают сеть — настраивая ее на восприятие и распознавание образов ситуации (сэмплов). Как следствие, нейронная сеть, получающая данные об обстановке, поступающие от органов чувств, а также данные о внутреннем состоянии и взаимном расположении частей организма, оказывается в состоянии распознавать множество самых разнообразных состояний. Теперь задача состоит в том, чтобы получить данные, подтверждающие полезность запоминания распознанного сэмпла, что требует от системы определенных логических способностей...

Может показаться, что нейронная сеть без принципиально иной по организации системы обработки логической компоненты, отражающей топологию отношений во времени, пространстве, организационной иерархии или пространстве некой конструкции, пригодна лишь для решения задач распознавания. Но, судя по результатам исследований в области нейрофизиологии, в организме человека отсутствуют специализированные «логические клетки» — то есть, все эти операции реализуются именно на нейронных структурах, которые обладают большой информационной емкостью. Приняв некоторые упрощения, можно утверждать, что многообразие пространственных отношений выражено в терминах временных задержек реакции отдельных нейронов, инерционности отдельных связей нейронной сети. Эти характеристики также являются предметом «запоминания» и учитываются при выработке адаптивного поведения организма. Однако эта способность требует от человека способности абстрактного («знакового») мышления — введения еще одного уровня иерархии, обеспечивающей возможность оперировать информационно-емкими понятиями. Именно эта особенность — наличие второй сигнальной системы — и выделяет человека из числа прочих живых существ и обеспечивает ему возможность запоминания протяженных во времени событий и сценариев, ассоциированных с ними. То есть, логика становится доступной нашему пониманию, если введена знаковая система, запоминание правил которой дается легче, нежели запоминание всех конкретных признаков событий и вероятных путей их развития. Рассуждая логически, мы оперируем не образами ситуаций, а знаками, для запоминания которых требуются гораздо меньшие усилия.

Преимуществом нейронной или нейроподобной сети перед чисто логической системой искусственного интеллекта заключается в гибком сочетании параллельной и последовательной обработки информации, обусловленном иерархической структурой нейронной сети. Однако человеку свойственно оптимизировать свою деятельность — там, где удобнее воспользоваться неким инструментом, имеющимся в его распоряжении, он не станет искать пути применения того инструмента, который не приспособлен для выполнения работы. Пока нейроподобные сети (созданные на искусственных нейронах — перцептронах) и нейронные сети (созданные на нейронах, полученных у простейших организмов), как правило, на этапе манипулирования логической компонентой используют традиционную или несколько модифицированную логику, то есть, переходят от параллельной обработки данных к последовательной обработке. Хотя созданы и средства, которые, оперируя величинами инерционности нейронов, способны осуществлять логическую обработку без перехода к уровню знаковой системы. Сражение за быстродействие систем продолжается и, возможно, что через некоторое время мы станем свидетелями технологического прорыва в этом направлении, который приведет к созданию реальной системы параллельной обработки данных. Однако это не приведет к тому, что формальная логика утратит свои позиции в инструментарии аналитика — для решения каждой специфической задачи требуется свой, индивидуальный, набор инструментальных средств.

Где используются системы ИИ, построенные на нейронных и нейроподобных сетях? Приложений масса: от анализа финансовых котировок и мультисенсорных систем сбора информации до систем распознавания словоформ в компьютерной лингвистике, от систем декодирования помехоустойчивых кодов и криптообработки до систем производства приближенных вычислений — диапазон применения их крайне широк. Современная технология производства нейроподобных сетей уже миновала зачаточную стадию: созданы как аппаратные, так и программные реализации нейроподобных сетей, инструментарий их настройки и обучения, однако функция полезности пока задается извне, да иначе какой смысл в нейроподобных и нейронных сетях, которые сами решают, что им полезно, а что — нет (это все равно, что молоток, который сам решает: то ли ударить по теплому и мягкому пальцу, то ли по твердой и холодной шляпке гвоздя).


Как согласуется все то, что мы говорили о нейронных и нейроподобных сетях с моделями? Любая обученная нейронная или нейроподобная сеть — это по существу и есть модель, выступающая в роли образа ситуации ли, объекта ли — не суть важно. Поэтому можно сказать, что нейроинформатика и нейрокомпьютинг — это развитие идеологии моделирования в направлении дальнейшей автоматизации процесса (равно, как и все, что делается в отрасли искусственного интеллекта). По этой причине можно утверждать, что для аналитика, как потребителя результатов функционирования систем искусственного интеллекта, внутреннее устройство подобной системы непринципиально, хотя и нелишне знать, как устроен и работает тот инструмент, с помощью которого ты решаешь свои задачи.


Существуют ли примеры систем искусственного интеллекта, которые можно пощупать руками, не вставая из-за рабочего стола? Да, существуют и их, если приглядеться, — масса... Достаточно запустить компьютер, на котором установлена всем знакомая операционная система Microsoft Windows, как вы окажетесь в интеллектуальной среде, которая отслеживает массу событий, контролирует состояние множества запущенных процессов и способна выдавать рекомендации, направленные на стабилизацию параметров функционирования операционной системы и компьютера. Если у вас на компьютере установлена система автоматизированного перевода, то это еще один пример системы ИИ, если вы используете сканер и программу автоматического распознавания текста — вот вам и еще один пример. Этот список можно продолжить, однако, остановимся на еще одном приложении систем ИИ, особенно актуальной для касты аналитиков...


В последнее время наблюдается оживление рынка программного обеспечения, предназначенного для ведения интеллектуального анализа данных (в англоязычных источниках — Data Mining, т. е. «раскопка данных»). Для этого класса систем ИИ характерно комплексное использование методов, используемых в логических системах ИИ и нейрокомпьютинге, в сочетании с инструментарием статистического анализа данных и компьютерной лингвистики. Только по состоянию на начало 1999 года на американском рынке интеллектуального программного обеспечения было представлено свыше пятнадцати программных и программно-аппаратных комплексов, относящихся к этому классу99. Безусловно, все эти системы нуждаются в обучении, профессиональной настройке и адаптации к предметной области, в которой предполагается их дальнейшее использование. В большинстве своем, они представляют собой системы искусственного интеллекта, ориентированные на решение задач анализа «абстрактных» типов данных (т. е. безотносительно к их семантике), интегрированные со сконфигурированными под потребности заказчика базами данных. Иным вариантом поставки систем data mining является вариант, предполагающий настройку и адаптацию системы искусственного интеллекта (собственно, инструмента Data Mining) под уже существующую подсистему хранения данных заказчика.

В любом варианте поставки по мере функционирования системы она выделяет некие скрытые закономерности в хранимых массивах данных (в том числе — корреляции временных рядов). Такие корреляции не всегда очевидны для аналитика, однако, для систем data mining числа — родная стихия. Системы data mining не имеют обыкновения забывать или упускать из внимания сколь бы то ни было «незначительные детали» и закономерности — это свойство делает их полезным инструментом информационно-аналитической работы.

Принцип функционирования систем интеллектуального анализа данных состоит в том, что на основе анализа потока данных, поступающих от разнообразных источников информации, формируется информационный образ неким образом интерпретируемой ситуации, который в ходе дальнейшей эксплуатации системы может быть «узнан», о чем и информируется потребитель. Отрасль, для которой создается такая система, на этапе разработки, в принципе, не существенна, поскольку важен лишь принцип формирования системы признаков и класс данных, на которые ориентирована данная система (количественные, качественные).

Адаптация к предметной области этого класса программного обеспечения заключается в том, что предметная область подлежит моделированию и описанию в виде совокупности измеримых атрибутов. Поведение этих атрибутов во времени неким (наперед неизвестным) образом характеризует состояние и поведение систем. С точки зрения исследователя интерес представляет именно то, каким образом наблюдаемые ситуации и тенденции отражаются в имеющемся наборе атрибутов, не существует ли неких признаков, характеризующих начальный период зарождения негативной или позитивной тенденции, скатывания к неким сценариям в развитии ситуации и т. п.

Еще раз заметим: