Интеллектуальные системы для целей экологического мониторинга
Здесь стоит упомянуть вычислительные системы нового (пятого) поколения – системы искусственного интеллекта. Разработчики этих систем создают алгоритмы, которые бы совмещали мощные вычислительные ресурсы вычислительной техники и уникальные возможности биологических систем. Рассмотрим основные методы (и системы), применяемые для решения задач мониторинга [37].
Нечёткие системы. Весьма условное название для систем, работающих на основе нечёткой логики. Для начала определим область нечёткой логики.
Как известно, классическая логика оперирует только с двумя значениями: истина (1) и ложь (0). Однако этими двумя значениями довольно сложно представить (можно, но громоздко) большое количество реальных задач. Поэтому для их решения был разработан (в конце 60-х Л. Заде) специальный математический аппарат, называемый нечеткой логикой. Основным отличием нечеткой логики от классической, как явствует из названия, является наличие не только двух классических состояний (значений), но и промежуточных:
Как можно легко заметить, при использовании только классических состояний (ложь – 0, истина – 1) мы приходим к классическим законам логики.
Экспертные системы. Экспертные системы являются наиболее простыми и наиболее разработанными системами искусственного интеллекта.
Экспертная система – это программа для компьютера, которая оперирует со знаниями в определённой предметной области с целью выработки рекомендаций или решения проблем.
Признаки экспертной системы:
1. Обладание знаниями, т.е. способностью выполнять определённый алгоритм.
2. Концентрация знаний на определённой предметной области.
3. Решение проблем, основанное на этих знаниях.
Считается, что структура экспертной системы определяется следующими модулями:
1. Временные базы данных, предназначенные для хранения исходных и промежуточных данных текущей задачи.
2. Базы знаний – совокупность знаний о некоторой предметной области, на основе которых можно производить рассуждения, предназначенные для хранения долгосрочных сведений и правил манипулирования данными.
3. Решатель (база программ) реализующий последовательность правил для решения конкретной задачи на основе информации, хранящейся в базах знаний и базах данных.
4. Компонент приобретения знаний, автоматизирующий процесс наполнения базы знаний.
5. Объяснительный компонент, формирующий пояснения о том, как система решала поставленную задачу.
Основная часть экспертных систем, представлена в виде преобразованных навыков и опыта экспертов, разрабатывающих эвристические подходы в ходе решения определённых проблем. Необходимость создания ЭС была вызвана острой нехваткой специалистов-экспертов, которые смогли бы в любой момент квалифицированно отвечать на многочисленные вопросы в своей области знаний. Хороший эксперт всегда малодоступен, а очень хороший – тем более. Поэтому так важно и нужно иметь компьютер, обладающий знаниями эксперта, к которому можно обратиться в любой момент с профессиональным вопросом на естественном языке. Для того чтобы понять, зачем современному компьютеру необходимо быть интеллектуальным, рассмотрим взаимодействие человека, которою называют конечным пользователем (КП), и ПК. Вот «портрет» его знаний (точнее – незнаний):
· Он НЕ ЗНАЕТ, как устроен компьютер;
· Он НЕ ЗНАЕТ, как писать программы для работы с компьютером;
· Он НЕ ЗНАЕТ формальных (математических) методов решения задач в своей области, что необходимо для пользования компьютером.
Заметим, однако, что он – специалист в своей области, решает свою и очень важную конкретную задачу, т.е. проектирует, ищет неисправность в конструкции, синтезирует нужные вещества, создает новую технологию, ищет месторождение и т. д. А ПК нужен ему лишь для повышения эффективности его труда, КП и без нее может решить свою задачу – ведь справлялся же он с ней до изобретения компьютеров! Поэтому к ЭВМ он обращается для того, чтобы решить свою задачу быстрее и качественней, чем прежде.
Как же быть? Многолетний опыт применения ЭВМ выработал определенную систему взаимодействия пользователя и ЭВМ, в которую входит (а точнее входили), по крайней мере, два промежуточных звена: аналитик и программист.
Аналитик – это специалист но формальным методам решения задачи, т.е. прикладной математик, знакомый с предметной областью пользователя. Последнее свойство аналитика очень важно, иначе он просто не понимал бы КП. Задачу пользователя, сформулированную на естественном языке, аналитик представляет в математической форме и разрабатывает (или заимствует из справочника) алгоритм ее решения.
Составленную формализованную задачу и алгоритм ее решения он передает программисту, который составляет программу решения этой задачи на ЭВМ в виде текста на одном из языков, понятных машине, вводит ее через дисплей в ЭВМ и отлаживает эту программу. ПК решает задачу. Программист расшифровывает результат, передает аналитику, и тот переводит решение на язык пользователя.
Для того чтобы устранить и эту «лишнюю инстанцию», можно пойти одним из двух путей: передать функции аналитика конечному пользователю, чтобы он сам формализовал и программировал свою задачу, работая непосредственно на дисплее; или передать эти функции ПК и автоматизировать процесс формализации и программирования решения задачи пользователя.
Первый путь требует обучения пользователя. В процессе обучения он должен научиться формализировать задачу, которую собирается решить на ЭВМ, т.е. выполнить роль прикладного математика в своей области и прикладного программиста, чтобы составить нужную программу. Именно так приходится поступать сейчас конечному пользователю, если он хочет решить свою задачу на ПК. Поэтому так трудно внедрять ЭВМ в новые области. Ведь кроме желания работать на ЭВМ, надо еще очень много знать и уметь. На первых этапах эффективность труда специалиста не повышается, а снижается. Ему приходится тратить слишком много дополнительного времени на формализацию своей задачи и программирование, не говоря уже об отладке программы, на другие неизбежные программистские заботы.
Остается один путь – «научить» компьютер формализовать задачи, программировать, решать их и представлять результат решения в виде, доступном пониманию пользователя. Несмотря на то, что создание таких интеллектуальных компьютеров, работающих в определенной предметной области, дело чрезвычайно сложное, на это пришлось пойти, чтобы не готовить из каждого специалиста – инженера, медика, историка – профессионального программиста (программирующего пользователя).
Для своего нормального функционирования экспертная система, которая выполняет функции аналитика должна обладать рядом свойств:
1. Понимать естественный язык, на котором пользователь излагает свою задачу.
2. Уметь построить формальную модель этой задачи, т.е. формализовать ее с тем, чтобы применить формальные методы решения.
3. Составить программу решения задачи (или в простейшем случае найти эту программу в своем архиве – банке данных).
4. Запустить программу и получить результат.
5. Интерпретировать результат, т.е. представить его в форме, доступной пользователю.
6. Объяснить (при необходимости), каким образом был получен этот результат.
В процессе формулирования задачи между пользователем и ЭС должен происходит оживленный диалог, во время которого содержание задачи пользователь сообщается компьютеру. Программу, осуществляющую эту сложную операцию, называют лингвистическим процессором, или диалоговым процессором, подчеркивая диалоговый характер процесса взаимодействия с пользователем.
В своей работе диалоговый процессор активно взаимодействует с базой знаний, где хранятся знания в той предметной области, по которой специализирована данная ЭС. Сразу отметим, что нет ЭС на все случаи жизни, каждая ЭС довольно узко специализирована на определенную предметную область. Например, поиск месторождений определенного минерала, скажем вольфрамовой руды.
Ограниченность предметной области ЭС дает возможность создать весьма полную базу знаний по тому или иному предмету, явлению, что обеспечивает компьютеру возможность понимать пользователя так же, как понимают друг друга специалисты одной области, т.е. «с полуслова». Но база знаний не только позволяет понимать пользователя, но и отвечать на его вопросы. Для этого она содержит сведения о том, каким образом поступали раньше специалисты в той или иной ситуации и что из этого вышло. Эти знания представлены в виде так называемых продукции, т.е. конструкций вида «если, то». Они дают возможность формализовать задачу пользователя, т.е. составить такую цепочку, связанную причинно-следственными связями, что в ее конце будет находиться ответ на заданный пользователем вопрос или поставлен другой вопрос, на который нужно ответить пользователю.
Особенно много ЭС специализировано по выяснению неисправностей в действующих системах. Их база знаний состоит из продукций вида: «если характеристика А не в норме, то следует осмотреть блоки Б, В и Г» и т. д. Эти экспертные знания помогут найти неисправности в сложной технической системе.
Таким образом, одну ЭС составляют диалоговый процессор, база знаний и планировщик, которые и образуют, так называемый, интеллектуальный интерфейс между пользователями и компьютером.
Любопытно, что появление ЭС породило на Западе своеобразное «луддистское» движение среди экспертов, которые отказывались рассекречивать и передавать свой опыт для заполнения банка знаний ЭС – ведь эта ЭС становилась обычно умнее (без кавычек) каждою из экспертов в отдельности. Это хорошо доказала, например, экспертная система «Мицин», которая диагностирует заболевания крови лучше любого врача гематолога. В липе экспертных систем человек получил надежного партнера для решения своих насущных и сложных задач. Именно поэтому ЭС часто называют партнерскими системами.
Обычно экспертные системы рассматриваются с точки зрения их применения в двух аспектах: для решения каких задач они могут быть использованы и в какой области деятельности? Эти два аспекта накладывают свой отпечаток на архитектуру разрабатываемой экспертной системы.
Можно выделить следующие классы задач, решаемых экспертными системами: диагностика, прогнозирование, идентификация, управление, проектирование, мониторинг.
Приведём классификацию экспертных систем, предложенную американским специалистом в области ЭС П. Джексоном.
Классификация экспертных систем по задачам:
1. Интерпретирующие системы. Описание ситуаций по результатам наблюдений. Например, распознавание образов и определение химических свойств вещества.
2. Прогнозирующие системы. Логический анализ возможных последствий. Например, предсказание погоды, прогноз ситуаций на финансовых рынках.
3. Диагностические системы. Обнаружение источников нарушений по результатам наблюдений за наблюдаемой системой. Например, диагностика заболевания и т.п.
4. Системы проектирования. Структурный синтез конфигурации объектов при заданных ограничениях. Например, синтез электронных схем, компоновка архитектурных планов.
5. Системы планирования. Подготовка планов последовательности операций. Например, составление маршрутов передвижения транспорта.
6. Системы мониторинга. Анализ поведения контролируемой системы и прогноз. Например, контроль движения воздушного транспорта, наблюдение за состоянием энергетических объектов.
7. Наладочные системы. Выработка рекомендаций по устранению неисправностей в контролируемой системе. Например, консультирующие системы.
8. Системы оказания помощи при ремонте. Планирование процесса устранения неисправностей в сложных объектах.
9. Обучающие системы. Анализ знаний обучающихся по определённому предмету и предложение средств по ликвидации ошибок.
10. Системы контроля. Адаптивное управление поведением сложных человеко-машинных систем, с прогнозом возможных сбоев. Например, управление воздушным транспортом, военными действиями.
Данная классификация не является однозначной. Многие авторы выявляют различные неточности и наложения.
Экспертные системы способны производить логические цепочки на основе ранее полученных выводов, сравнивая знания с этими выводами, проверяя их логичность, уточняя и строя более тонкие конструкции. Если полученный результат будет явно противоречии здравому смыслу, то при алгоритмическом пути это безразлично для ПК, но в экспертной системе такое положение не может остаться не замеченным.
Экспертные системы могут сильно отличаться своей конфигурацией в зависимости от целей их создания, имеющихся технических средств, объема данных и знаний. При этом важной является возможность комбинирования экспертных систем с математическими моделями, служащими для алгоритмических вычислений. Такие системы принято называть интегрированными. В качестве требуемого результата часто рассматриваются гак называемые сценарии. Под термином «сценарий» понимают и возможные варианты развития событий, и возможные виды воздействия (предпосылки вариантов), и «качественное целевое представление о будущем», которое является эффективным инструментом подготовки информации для принятия стратегических решений. Ценность сценарного метода возрастает, когда вырабатывается целая система сценариев, отражающих все возможные события и виды воздействий.
Разработка экспертных систем, предназначенных для обработки данных, наталкивается на громадные трудности. «Интеллектуализация» компьютерной обработки первичной информации об окружающей среде основывается, с одной стороны, на идеях и методах конкретной области знания, для которой создается система обработки данных. С другой стороны, в компьютерной системе обработки используются разнообразные методы прикладной математики: математическая статистика, теория решения обратных задач и т.п.
Соответственно, при создании экспертных систем обработки данных, с одной стороны, приходится учитывать методические и метрологические особенности методик выполнения измерения, а с другой – априорные предположения и ограничения математических алгоритмов обработки, что предполагает участие достаточно большого коллектива профессионалов – специалистов в предметной области, математиков, программистов и специалистов по разработке экспертных систем и высокую стоимость разработки. Поэтому при наличии огромного числа систем общего назначения – пакетов для статистической обработки данных, электронных таблиц и т.п., существует небольшое число экспертных систем, способных автоматически провести весь цикл анализа данных.
В отличие от традиционных программ, предназначенных для решения математически строго определенных задач по точным разрешающим алгоритмам, с помощью экспертных систем решаются задачи, относящиеся к классу неформализованных или слабоформализованных, слабоструктурированных задач.
Алгоритмические решения таких задач или не существуют в силу неполноты, неопределенности, неточности, расплывчатости рассматриваемых ситуаций и знаний в них или же такие решения неприемлемы на практике в силу сложности разрешающих алгоритмов. Поэтому экспертные системы используют логический вывод и эвристический поиск решения.
Искусственные нейронные сети. Наиболее сложными, но и наиболее гибкими системами искусственного интеллекта являются искусственные нейронные сети (ИНС). Область их применения это автоматизация процессов распознавания образов, адаптивное управление, аппроксимация функционалов, прогнозирование, создание экспертных систем, организация ассоциативной памяти и многие другие приложения. С помощью ИНС можно, например, предсказывать показатели биржевого рынка, выполнять распознавание оптических или звуковых сигналов, создавать самообучающиеся системы, способные управлять автомашиной при парковке или синтезировать речь по тексту, ну и конечно работать с огромными массивами слабоструктурированных мониторинговых данных.
Основная идея создания ИНС в том, чтобы, имея в распоряжении вычислительную силу компьютера, использовать лучшие свойства человеческого мозга. Приведём перечень важнейших свойств биологических нейронных систем.
Важнейшие свойства биологических нейросетей:
1. Параллельность обработки информации. Каждый нейрон формирует свой выход только на основе своих входов и собственного внутреннего состояния под воздействием общих механизмов регуляции нервной системы.
2. Способность к полной обработке информации. Все известные человеку задачи решаются нейронными сетями. К этой группе свойств относятся ассоциативность (сеть может восстанавливать полный образ по его части), способность к классификации, обобщению, абстрагированию и множество других. Они до конца не систематизированы.
3. Самоорганизация. В процессе работы биологические НС самостоятельно, под воздействием внешней среды, обучаются решению разнообразных задач. Неизвестно никаких принципиальных ограничений на сложность задач, решаемых биологическими нейронными сетями. Нервная система сама формирует алгоритмы своей деятельности, уточняя и усложняя их в течение жизни. Человек пока не сумел создать систем, обладающих самоорганизацией и самоусложнением. Это свойство НС рождает множество вопросов. Ведь каждая замкнутая система в процессе развития упрощается, деградирует. Следовательно, подвод энергии к нейронной сети имеет принципиальное значение. Почему же среди всех диссипативных (рассеивающих энергию) нелинейных динамических систем только у живых существ, и, в частности, биологических нейросетей проявляется способность к усложнению? Какое принципиальное условие упущено человеком в попытках создать самоусложняющиеся системы?
4. Биологические НС являются аналоговыми системами. Информация поступает в сеть по большому количеству каналов и кодируется по пространственному принципу: вид информации определяется номером нервного волокна, по которому она передается. Амплитуда входного воздействия кодируется плотностью нервных импульсов, передаваемых по волокну.
5. Надежность. Биологические НС обладают фантастической надежностью: выход из строя даже 10% нейронов в нервной системе не прерывает ее работы. По сравнению с последовательными ЭВМ, основанными на принципах фон Неймана, где сбой одной ячейки памяти или одного узла в аппаратуре приводит к краху системы.
Современные искусственные НС по сложности и «интеллекту» приближаются к нервной системе таракана, но уже сейчас демонстрируют ценные свойства:
1. Обучаемость. Выбрав одну из моделей НС, создав сеть и выполнив алгоритм обучения, мы можем обучить сеть решению задачи, которая ей по силам. Нет никаких гарантий, что это удастся сделать при выбранных сети, алгоритме и задаче, но если все сделано правильно, то обучение бывает успешным.
2. Способность к обобщению. После обучения сеть становится нечувствительной к малым изменениям входных сигналов (шуму или вариациям входных образов) и дает правильный результат на выходе.
3. Способность к абстрагированию. Если предъявить сети несколько искаженных вариантов входного образа, то сеть сама может создать на выходе идеальный образ, с которым она никогда не встречалась.
4. Параллельность обработки и реализуемость НС. Быстродействие современных ЭВМ составляет около 100 Mflops (flops операция с плавающей запятой в секунду). Время прохождения одного нервного импульса около 1 мс, и можно считать, что производительность одного нейрона порядка 10 flops. Эквивалентное быстродействие мозга составит 1012 flops. Если рассмотреть задачи, решаемые мозгом, и подсчитать требуемое количество операций для их решения на обычных ЭВМ, то получим оценку быстродействия до 1012-1014 flops. Разница в производительности между обычной ЭВМ и мозгом – 4-6 порядков! Чем это объясняется?
Несмотря на существенные различия, отдельные типы ИНС обладают несколькими общими чертами. Во-первых, основу каждой ИНС составляют относительно простые, в большинстве случаев – однотипные, элементы (ячейки), имитирующие работу нейронов мозга. Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов – однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон – выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов.
Каждый синапс характеризуется величиной синаптической связи или ее весом, который по физическому смыслу эквивалентен электрической проводимости. Текущее состояние нейрона определяется, как взвешенная сумма его входов.
Ограничения модели нейрона
1. Вычисления выхода нейрона предполагаются мгновенными, не вносящими задержки. Непосредственно моделировать динамические системы, имеющие «внутреннее состояние», с помощью таких нейронов нельзя.
2. В модели отсутствуют нервные импульсы. Нет модуляции уровня сигнала плотностью импульсов, как в нервной системе. Не появляются эффекты синхронизации, когда скопления нейронов обрабатывают информацию синхронно, под управлением периодических волн возбуждения-торможения.
3. Нет четких алгоритмов для выбора функции активации.
4. Нет механизмов, регулирующих работу сети в целом (пример - гормональная регуляция активности в биологических нервных сетях).
5. Чрезмерная формализация понятий: «порог», «весовые коэффициенты». В реальных нейронах нет числового порога, он динамически меняется в зависимости от активности нейрона и общего состояния сети. Весовые коэффициенты синапсов тоже не постоянны. «Живые» синапсы обладают пластичностью и стабильностью: весовые коэффициенты настраиваются в зависимости от сигналов, проходящих через синапс.
6. Существует большое разнообразие биологических синапсов. Они встречаются в различных частях клетки и выполняют различные функции. Тормозные и возбуждающие синапсы реализуются в данной модели в виде весовых коэффициентов противоположного знака, но разнообразие синапсов этим не ограничивается. Дендро-дендритные, аксо-аксональные синапсы не реализуются в модели.
7. В модели не прослеживается различие между градуальными потенциалами и нервными импульсами. Любой сигнал представляется в виде одного числа.
Способность к обучению является фундаментальным свойством мозга. В контексте ИНС процесс обучения может рассматриваться как настройка архитектуры сети и весов связей для эффективного выполнения специальной задачи. Обычно нейронная сеть должна настроить веса связей по имеющейся обучающей выборке. Функционирование сети улучшается по мере настройки весовых коэффициентов. Свойство сети обучаться на примерах делает их более привлекательными по сравнению с системами, которые следуют определенной системе правил функционирования, сформулированной экспертами.
Для конструирования процесса обучения, прежде всего, необходимо иметь модель внешней среды, в которой функционирует нейронная сеть – знать доступную для сети информацию. Эта модель определяет парадигму обучения. Во-вторых, необходимо понять, как модифицировать весовые параметры сети – какие правила обучения управляют процессом настройки. Алгоритм обучения означает процедуру, в которой используются правила обучения для настройки весов. В зависимости от того, как решена проблема обучения мы получаем сеть с определёнными качествами.
Существуют три парадигмы обучения: «с учителем», «без учителя» (самообучение) и смешанная. В первом случае нейронная сеть располагает правильными ответами (выходами сети) на каждый входной пример. Веса настраиваются так, чтобы сеть производила ответы как можно более близкие к известным правильным ответам. Усиленный вариант обучения с учителем предполагает, что известна только критическая оценка правильности выхода нейронной сети, но не сами правильные значения выхода. Обучение без учителя не требует знания правильных ответов на каждый пример обучающей выборки. В этом случае раскрывается внутренняя структура данных или корреляции между образцами в системе данных, что позволяет распределить образцы по категориям. При смешанном обучении часть весов определяется посредством обучения с учителем, в то время как остальная получается с помощью самообучения.
Классификация ИНС весьма обширна. Выделяют однослойный персептрон, многослойный персептрон, самоорганизующиеся сети Кохонена, сети Хопфилда, сети Хэмминга и др. Многие алгоритмы ИНС реализованы в соответствующих программных продуктах и активно применяются в сложнейших методах анализа.
Гибридные интеллектуальные системы. В последние годы интенсивно развиваются гибридные интеллектуальные системы, позволяющие использовать преимущества традиционных средств и методов искусственного интеллекта, и, в то же время, преодолевающие некоторые их недостатки, способные решать задачи, не решаемые отдельными методами искусственного интеллекта. Гибридные интеллектуальные системы позволяют более эффективно соединять формализуемые и неформализуемые знания за счет интеграции традиционных средств искусственного интеллекта.
Гибридные ИС можно классифицировать, в зависимости от архитектуры, на следующие типы: 1) комбинированные (combination), 2) интегрированные (integration), 3) объединенные (fusion) и 4) ассоциативные (association) гибридные интеллектуальные системы.
Гибридная экспертная система сочетает в себе численное и лингвистическое представление знаний, в системе используется иерархическая интеграция самоорганизующейся нечеткой нейронной сети (с возможностью online-обучения) и нечеткой экспертной системы, оптимизированной посредством генетического алгоритма (математические алгоритмы, использующие эволюционные закономерности развития сложных систем).
Нейронная сеть способствует быстрому обучению, в то время как экспертная система позволяет выполнить интерпретацию нечетких данных и объяснить полученное решение. Нейронная сеть может обучаться как с учителем, так и без учителя, может обучаться без переподготовки старой информации.