Интеллектуальные информационные системы
Выбери формат для чтения
Загружаем конспект в формате docx
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Интеллектуальные
информационные системы
Тема 1
ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ КАК НАУЧНОЕ НАПРАВЛЕНИЕ
1.1. ПОНЯТИЕ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
В современном мире рост производительности труда в основном достигается в тех случаях, когда часть интеллектуальной нагрузки берут на себя компьютеры. Одним из способов достижения максимального прогресса в этой области является «искусственный интеллект», когда компьютер не только берет на себя однотипные, многократно повто- ряющиеся операции, но и сам может обучаться. Кроме того, создание полноценного «ис- кусственного интеллекта» открывает перед человечеством новые горизонты развития.
Термин «интеллект» (intelligence) происходит от латинского intellectus, что означает
«ум, рассудок, разум; мыслительные способности человека». Соответственно искус- ственный интеллект (artificial intelligence), ИИ (AI) – обычно рассматривается как свой- ство автоматических систем брать на себя отдельные функции интеллекта человека,
например выбирать и принимать оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий.
Интеллектом называют способность мозга решать (интеллектуальные) задачи пу- тем приобретения, запоминания и целенаправленного преобразования знаний в процессе обучения на опыте и адаптации к разнообразным обстоятельствам.
В этом определении под термином «знания» подразумевается не только та информа-
ция, которая поступает в мозг через органы чувств. Такого типа знания чрезвычайно важны, но недостаточны для интеллектуальной деятельности. Это объясняется тем, что объекты окружающей нас среды обладают свойством не только воздействовать на орга- ны чувств, но и находиться друг с другом в определенных отношениях. Ясно, что для то- го, чтобы осуществлять в окружающей среде интеллектуальную деятельность (или хотя бы просто существовать), необходимо иметь в системе знаний модель этого мира. В этой информационной модели окружающей среды реальные объекты, их свойства и отноше- ния между ними не только отображаются и запоминаются, но и могут мысленно «целе- направленно преобразовываться». При этом существенно, что формирование модели внешней среды происходит в процессе обучения на опыте и адаптации к разнообразным обстоятельствам.
Рассмотрим, чем отличается интеллектуальная задача от просто задачи. Для этого необходимо применить термин «алгоритм» – один из краеугольных терминов киберне-
тики.
Под алгоритмом понимают точное предписание о выполнении в определенном по- рядке системы операций для решения любой задачи из некоторого данного класса (мно-
жества) задач. Термин «алгоритм» происходит от имени узбекского математика Аль- Хорезми, который еще в IX веке предложил простейшие арифметические алгоритмы. В математике и кибернетике класс задач определенного типа считается решенным, когда для его решения установлен алгоритм. Нахождение алгоритмов является естественной
целью человека при решении им разнообразных классов задач. Отыскание алгоритма для задач некоторого данного типа связано с тонкими и сложными рассуждениями, требую- щими большой изобретательности и высокой квалификации. Принято считать, что по- добного рода деятельность требует участия интеллекта человека. Задачи, связанные с отысканием алгоритма решения класса задач определенного типа, называются интел- лектуальными.
Что же касается задач, алгоритмы решения которых уже установлены, то, как отме- чает известный специалист в области искусственного интеллекта М. Минский, «излишне приписывать им такое мистическое свойство, как интеллектуальность». В самом деле, после того, как такой алгоритм уже найден, процесс решения соответствующих задач становится таким, что его могут в точности выполнить человек, вычислительная машина (должным образом запрограммированная) или робот, не имеющие ни малейшего пред- ставления о сущности самой задачи. Требуется только, чтобы лицо, решающее задачу, было способно выполнять те элементарные операции, из которых складывается процесс, и, кроме того, чтобы оно педантично и аккуратно руководствовалось предложенным ал- горитмом. Такое лицо, действуя, как говорят в таких случаях, чисто машинально, может успешно решать любую задачу рассматриваемого типа.
Поэтому представляется естественным исключить из класса интеллектуальных такие задачи, для которых существуют стандартные методы решения. Примерами этих задач могут служить чисто вычислительные задачи: решение системы линейных алгебраиче- ских уравнений, численное интегрирование дифференциальных уравнений и т. д. Для
решения подобного рода задач имеются стандартные алгоритмы, представляющие собой определенную последовательность элементарных операций, которая может быть легко реализована в виде программы для вычислительной машины. В противоположность это- му для широкого класса интеллектуальных задач, таких, как распознавание образов, игра в шахматы, доказательство теорем и т. п., напротив, формальное разбиение процесса по- иска решения на отдельные элементарные шаги часто оказывается весьма затруднитель-
ным, даже если само их решение несложно.
Таким образом, мы можем дать несколько иное определение: интеллект – это уни- версальный сверхалгоритм, который способен создавать алгоритмы решения конкретных задач.
Отметим, что профессия программиста, исходя из приведенных определений, явля-
ется одной из самых интеллектуальных, поскольку продуктом деятельности программи- ста являются программы – алгоритмы в чистом виде. Именно поэтому создание даже элементов ИИ должно очень сильно повысить производительность его труда.
Деятельность мозга (обладающего интеллектом), направленную на решение интел- лектуальных задач, называют мышлением, или интеллектуальной деятельностью. Ин- теллект и мышление органически связаны с решением таких задач, как доказательство теорем, логический анализ, распознавание ситуаций, планирование поведения, игры и управление в условиях неопределенности. Характерными чертами интеллекта, проявля-
ющимися в процессе решения задач, является способность к обучению, обобщению, накоплению опыта (знаний и навыков) и адаптации к изменяющимся условиям в процес- се решения задач. Благодаря этим качествам интеллекта мозг может решать разнообраз-
ные задачи, а также легко перестраиваться с решения одной задачи на другую. Таким об- разом, мозг, наделенный интеллектом, является универсальным средством решения ши- рокого круга задач (в том числе неформализованных), для которых нет стандартных, за- ранее известных методов решения.
Следует иметь в виду, что существуют и другие, чисто поведенческие (функцио- нальные) определения. Например: любая материальная система, с которой можно доста- точно долго обсуждать проблемы науки, литературы и искусства, обладает интеллектом (Колмогоров А. Н.). Другим примером поведенческой трактовки интеллекта может слу- жить известное определение А. Тьюринга. Его смысл заключается в следующем. В раз- ных комнатах находятся люди и машина. Они не могут видеть друг друга, но имеют воз-
можность обмениваться информацией (например, с помощью электронной почты). Если в процессе диалога между участниками игры людям не удается установить, что один из участников – машина, то такую машину можно считать обладающей интеллектом.
А. Тьюрингом предложен план имитации мышления. «Пытаясь имитировать интел- лект взрослого человека, – пишет Тьюринг, – мы вынуждены много размышлять о том процессе, в результате которого человеческий мозг достиг своего настоящего состоя- ния… Почему бы нам вместо того, чтобы пытаться создать программу, имитирующую интеллект взрослого человека, не попытаться создать программу, которая имитировала бы интеллект ребенка? Ведь если интеллект ребенка получает соответствующее воспи-
тание, он становится интеллектом взрослого человека… Наш расчет состоит в том, что устройство, ему подобное, может быть легко запрограммировано… Таким образом, мы расчленим нашу проблему на две части: на задачу построения «программы-ребенка» и задачу «воспитания» этой программы».
Забегая вперед, можно сказать, что именно этот путь используют практически все системы искусственного интеллекта. Ведь понятно, что практически невозможно зало-
жить все знания в достаточно сложную систему. Кроме того, только на этом пути про- явятся перечисленные выше признаки интеллектуальной деятельности (накопление опы- та, адаптация и т. д.).
1.2. ФИЛОСОФСКИЕ АСПЕКТЫ ПРОБЛЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
(ВОЗМОЖНОСТЬ СУЩЕСТВОВАНИЯ, БЕЗОПАСНОСТЬ, ПОЛЕЗНОСТЬ)
Основная философская проблема в области искусственного интеллекта (ИИ) – воз- можность или невозможность моделирования мышления человека.
Принципиальная возможность автоматизации решения интеллектуальных задач с помощью ЭВМ обеспечивается свойством алгоритмической универсальности. Алгорит-
мическая универсальность ЭВМ означает, что на них можно программно реализовывать (т. е. представить в виде машинной программы) любые алгоритмы преобразования ин-
формации – будь то вычислительные алгоритмы, алгоритмы управления, поиска доказа- тельства теорем или композиции мелодий. При этом имеется в виду, что процессы, по- рождаемые этими алгоритмами, являются потенциально осуществимыми, т. е. что они осуществимы в результате конечного числа элементарных операций. Практическая осу- ществимость алгоритмов зависит от имеющихся в нашем распоряжении средств, кото- рые могут меняться с развитием техники. Так, в связи с появлением быстродействующих
ЭВМ стали практически осуществимыми и такие алгоритмы, которые ранее были только потенциально осуществимыми.
Однако свойство алгоритмической универсальности не ограничивается констатаци-
ей того, что для всех известных алгоритмов оказывается возможной их программная реа- лизация на ЭВМ. Содержание этого свойства имеет и характер прогноза на будущее: всякий раз, когда в будущем какое-либо предписание будет признано алгоритмом, то независимо от того, в какой форме и какими средствами это предписание будет первона- чально выражено, его можно будет задать также в виде машинной программы.
Но не следует думать, что вычислительные машины и роботы могут в принципе ре- шать любые задачи. Анализ разнообразных задач привел математиков к замечательному открытию. Было строго доказано существование таких типов задач, для которых невоз- можен единый эффективный алгоритм, решающий все задачи данного типа; в этом смысле невозможно решение задач такого типа и с помощью вычислительных машин.
Этот факт способствует лучшему пониманию того, что могут делать машины и чего они не могут сделать. В самом деле, утверждение об алгоритмической неразрешимости неко- торого класса задач является не просто признанием того, что такой алгоритм нам не из- вестен и никем еще не найден. Такое утверждение представляет собой одновременно и прогноз на все будущие времена о том, что подобного рода алгоритм нам не известен и никем не будет указан или, иными словами, что он не существует.
Как действует человек при решении таких задач? Часто он просто игнорирует их. Другим путем является сужение условий универсальности задачи, когда она решается только для определенного подмножества начальных условий. И еще один путь заключа-
ется в том, что человек методом «научного тыка» расширяет множество доступных для себя элементарных операций (например, создает новые материалы, открывает новые ме- сторождения или типы ядерных реакций).
Следующим философским вопросом искусственного интеллекта является цель со- здания. Допустим, что человек сумел создать интеллект, превышающий свой собствен- ный. Что теперь будет с человечеством? Какую роль будет играть человек? Для чего он
теперь нужен? И вообще, нужно ли в принципе создание искусственного интеллекта? Может ли интеллектуальная система иметь свои желания и поступать не так, как нам хо- телось бы? Таким образом, встает еще одна проблема – проблема безопасности, которая будоражит умы человечества еще со времен Карела Чапека, впервые употребившего термин «робот». Большой вклад в обсуждение данной проблемы внесли и другие писате- ли-фантасты. Как самые известные можно упомянуть серии рассказов писателя-фантаста
и ученого Айзека Азимова. Именно у Айзека Азимова имеется самое проработанное и принятое большинством людей решение проблемы безопасности. Речь идет о так назы- ваемых трех законах роботехники:
1. Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинен вред.
2. Робот должен повиноваться командам, которые ему дает человек, кроме тех случаев, когда эти команды противоречат первому закону.
3. Робот должен заботиться о своей безопасности, насколько это не противоре- чит первому и второму законам.
На первый взгляд, подобные законы, при их полном соблюдении, должны обеспе- чить безопасность человечества. Однако при внимательном рассмотрении возникают не- которые вопросы. Во-первых, законы сформулированы на человеческом языке, который не допускает простого их перевода в алгоритмическую форму. Сложно перевести на лю-
бой из известных языков программирования такой термин, как «причинить вред».
Стоит ли вообще создавать искусственный интеллект? Многие исследователи счи- тают, что если искусственный интеллект возможно создать, то рано или поздно он будет
создан. И лучше его создавать под контролем общественности, с тщательной проработ- кой вопросов безопасности.
1.3. ИСТОРИЯ РАЗВИТИЯ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
Исторически сложились три основных подхода в моделировании искусственного интеллекта.
В рамках первого подхода объектом исследований являются структура и механизмы работы мозга человека, а конечная цель заключается в раскрытии тайн мышления. Необ- ходимыми этапами исследований в этом направлении являются построение моделей на
основе психофизиологических данных, проведение экспериментов с ними, выдвижение новых гипотез относительно механизмов интеллектуальной деятельности, совершен- ствование моделей и т. д. Этот поход называется нейрокибернетикой.
Второй подход в качестве объекта исследования рассматривает искусственный ин- теллект. Здесь речь идет о моделировании интеллектуальной деятельности с помощью вычислительных машин. Целью работ в этом направлении является создание алгоритми- ческого и программного обеспечения вычислительных машин, позволяющего решать ин- теллектуальные задачи не хуже человека. Механизм работы не имеет значения. Важны только входная информация и результат ее обработки. Этот подход получил название
кибернетики «черного ящика».
Третий подход ориентирован на создание смешанных человеко-машинных, или, как еще говорят, интерактивных интеллектуальных систем, на симбиоз возможностей есте- ственного и искусственного интеллекта. Важнейшими проблемами в этих исследованиях являются оптимальное распределение функций между естественным и искусственным интеллектом и организация диалога между человеком и машиной.
Самыми первыми интеллектуальными задачами, которые стали решаться при помо- щи ЭВМ, были логические игры (шашки, шахматы), доказательство теорем. Хотя, прав- да, здесь надо отметить еще кибернетические игрушки типа «электронной мыши» Клода Шеннона, которая управлялась сложной релейной схемой. Эта «мышка» могла исследо- вать лабиринт и находить выход из него. Кроме того, помещенная в уже известный ей лабиринт, она не искала выход, а сразу же, не заглядывая в тупиковые ходы, выходила из
лабиринта.
Американский кибернетик А. Самуэль составил для вычислительной машины про- грамму, которая позволяет ей играть в шашки, причем в ходе игры машина обучается или, по крайней мере, создает впечатление, что обучается, улучшая свою игру на основе накопленного опыта. В 1962 г. эта программа сразилась с Р. Нили, сильнейшим шаши- стом в США, и победила. Многих чрезвычайно интересовало, каким образом машине удалось достичь столь высокого класса игры? Были программно заложены правила игры,
так, что выбор очередного хода был подчинен этим правилам. На каждой стадии игры машина выбирала очередной ход из множества возможных ходов согласно некоторому критерию качества игры. В шашках (как и в шахматах) обычно невыгодно терять свои фигуры и, напротив, выгодно брать фигуры противника. Игрок (будь он человек или ма- шина), который сохраняет подвижность своих фигур и право выбора ходов и в то же время держит под боем большое число полей на доске, обычно играет лучше своего про- тивника, не придающего значения этим элементам игры. Описанные критерии хорошей игры сохраняют свою силу на протяжении всей игры, но есть и другие критерии, кото- рые относятся к отдельным ее стадиям, – дебюту, миттельшпилю, эндшпилю.
Оптимально сочетая такие критерии (например, в виде линейной комбинации с экс- периментально подбираемыми коэффициентами или более сложным образом), можно для оценки очередного хода машины получить некоторый числовой показатель эффек- тивности – оценочную функцию. Тогда машина, сравнив между собой показатели эф- фективности очередных ходов, выберет ход, соответствующий наибольшему показате- лю. Подобная автоматизация выбора очередного хода не обязательно обеспечивает оп- тимальный выбор, но все же это какой-то выбор, и на его основе машина может продол- жать игру, совершенствуя свою стратегию (образ действия) в процессе обучения на про- шлом опыте. Формально обучение состоит в подстройке параметров (коэффициентов) оценочной функции на основе анализа проведенных ходов и игр с учетом их исхода.
По мнению А. Самуэля, машина, использующая этот вид обучения, может научиться играть лучше, чем средний игрок, за относительно короткий период времени.
Можно сказать, что все эти элементы интеллекта, продемонстрированные машиной в процессе игры в шашки, сообщены ей автором программы. Но программа эта не явля- ется «жесткой», заранее продуманной во всех деталях. Она совершенствует свою страте-
гию игры в процессе самообучения. И хотя процесс «мышления» у машины существенно отличен от того, что происходит в мозгу играющего в шашки человека, она способна у него выиграть.
Ярким примером сложной интеллектуальной игры до недавнего времени являлись
шахматы. В 1974 г. состоялся международный шахматный турнир машин, снабженных соответствующими программами. Победу на этом турнире одержала советская машина с шахматной программой «Каисса». Почему здесь употреблено «до недавнего времени»? Дело в том, что недавние события показали: несмотря на довольно большую сложность шахмат и невозможность в связи с этим произвести полный перебор ходов, возможность перебора их на большую глубину, чем обычно, очень увеличивает шансы на победу. К примеру, по сообщениям в печати, компьютер фирмы IBM, победивший Каспарова, рас- полагал 256 процессорами, каждый из которых имел 4 Гб дисковой памяти и 128 Мб оперативной. Весь этот комплекс мог просчитывать более 100 000 000 ходов в секунду. До недавнего времени редкостью был компьютер, умеющий делать такое количество це- лочисленных операций в секунду, а здесь мы говорим о ходах, которые должны быть сгенерированы и для которых просчитаны оценочные функции. Хотя, с другой стороны, этот пример говорит об универсальности переборных алгоритмов.
В настоящее время существуют и успешно применяются программы, которые поз- воляют машинам играть в деловые или военные игры, имеющие большое прикладное значение. Здесь также чрезвычайно важно придать программам присущие человеку спо- собности к обучению и адаптации. Одной из наиболее интересных интеллектуальных за- дач, также имеющей огромное прикладное значение, является задача обучения распозна- вания образов и ситуаций. Решением ее занимались и продолжают заниматься предста-
вители различных наук – физиологи, психологи, математики, инженеры. Такой интерес к задаче стимулировался фантастическими перспективами широкого практического ис- пользования результатов теоретических исследований: читающие автоматы, системы ис- кусственного интеллекта, ставящие медицинские диагнозы, проводящие криминалистиче- скую экспертизу и т. п., а также роботы, способные распознавать и анализировать слож- ные сенсорные ситуации.
В 1957 г. американский физиолог Ф. Розенблатт предложил модель зрительного восприятия и распознавания – перcептрон. Появление машины, способной обучаться по- нятиям и распознавать предъявляемые объекты, оказалось чрезвычайно интересным не
только физиологам, но и представителям других областей знания и породило большой поток теоретических и экспериментальных исследований.
Перcептрон или любая программа, имитирующая процесс распознавания, работают в двух режимах: в режиме обучения и в режиме распознавания. В режиме обучения не-
кто (человек, машина, робот или природа), играющий роль учителя, предъявляет машине объекты и о каждом из них сообщает, к какому понятию (классу) он принадлежит. По этим данным строится решающее правило, являющееся, по существу, формальным опи- санием понятий. В режиме распознавания машине предъявляются новые объекты (вооб- ще говоря, отличные от ранее предъявленных), и она должна их классифицировать по возможности правильно.
Проблема обучения распознаванию тесно связана с другой интеллектуальной зада- чей – проблемой перевода с одного языка на другой, а также обучения машины языку. При достаточно формальной обработке и классификации основных грамматических пра- вил и приемов пользования словарем можно создать вполне удовлетворительный алго- ритм для перевода, скажем, научного или делового текста. Для некоторых языков такие системы были созданы еще в конце 60-х г. Однако чтобы связно перевести достаточно большой разговорный текст, необходимо понимать его смысл. Работы над такими про- граммами ведутся уже давно, но до полного успеха еще далеко. Имеются также про- граммы, обеспечивающие диалог между человеком и машиной на урезанном естествен- ном языке.
Что же касается моделирования логического мышления, то хорошей модельной за- дачей здесь может служить задача автоматизации доказательства теорем. Начиная с 1960 г., был разработан ряд программ, способных находить доказательства теорем в исчисле- нии предикатов первого порядка. Эти программы обладают, по словам американского специалиста в области ИИ Дж. Маккатти, «здравым смыслом», т. е. способностью делать
дедуктивные заключения.
Очень важным направлением систем искусственного интеллекта является роботех- ника. В чем основное отличие интеллекта робота от интеллекта универсальных вычисли- тельных машин? Для ответа на этот вопрос вспомним принадлежащее великому русско- му физиологу И. М. Сеченову высказывание: «… все бесконечное разнообразие внешних проявлений мозговой деятельности сводится окончательно лишь к одному явлению –
мышечному движению». Другими словами, вся интеллектуальная деятельность человека направлена, в конечном счете, на активное взаимодействие с внешним миром посред- ством движений. Точно так же элементы интеллекта робота служат прежде всего для ор- ганизации его целенаправленных движений. В то же время основное назначение чисто компьютерных систем искусственного интеллекта состоит в решении интеллектуальных
задач, носящих абстрактный или вспомогательный характер, которые обычно не связаны ни с восприятием окружающей среды с помощью искусственных органов чувств, ни с
организацией движений исполнительных механизмов.
Первых роботов трудно было назвать интеллектуальными. Только в 60-х годах по- явились «очувствленные» роботы, которые управлялись универсальными компьютерами. К примеру, в 1969 г. в Электротехнической лаборатории (Япония) началась разработка проекта «промышленный интеллектуальный робот». Цель разработки – создание «очув- ствленного» манипуляционного робота с элементами искусственного интеллекта для вы-
полнения сборочно-монтажных работ с визуальным контролем.
Манипулятор робота имел шесть степеней свободы и управлялся мини-ЭВМ NEAC- 3100 (объем оперативной памяти – 32 000 слов, объем внешней памяти на магнитных
дисках – 273 000 слов), формирующей требуемое программное движение, которое отра- батывалось следящей электрогидравлической системой. Захват манипулятора оснащался тактильными датчиками.
В качестве системы зрительного восприятия использовались две телевизионные ка-
меры, снабженные красно-зелено-синими фильтрами для распознавания цвета предме- тов. Поле зрения телевизионной камеры разбито на 64 х 64 ячеек. В результате обработ- ки полученной информации определялась область, занимаемая интересующим робота предметом. Далее с целью детального изучения этого предмета выявленная область вновь делилась на 4 096 ячеек. В том случае, когда предмет не помещался в выбранное
«окно», оно автоматически перемещалось, подобно тому, как человек скользит взглядом
по предмету. Робот Электротехнической лаборатории был способен распознавать про- стые предметы, ограниченные плоскостями и цилиндрическими поверхностями при спе- циальном освещении. Стоимость данного экспериментального образца составляла при- мерно 400 000 долларов.
Постепенно характеристики роботов улучшались, но до сих пор они еще далеки по понятливости от человека, хотя некоторые операции уже выполняют на уровне лучших жонглеров. К примеру, удерживают на лезвии ножа шарик от настольного тенниса.
Можно выделить работы киевского Института кибернетики, где под руководством Н. М. Амосова и В. М. Глушкова велся комплекс исследований, направленных на разра-
ботку элементов интеллекта роботов. Особое внимание в этих исследованиях уделялось проблемам распознавания изображений и речи, логического вывода (автоматического доказательства теорем) и управления с помощью нейроподобных сетей.
Например, еще в 70-х годах был создан макет транспортного автономного инте- грального робота (ТАИР). Конструктивно ТАИР представлял собой трехколесное шасси, на котором смонтированы сенсорная система и блок управления. Сенсорная система
включала следующие средства очувствления: оптический дальномер, навигационную си- стему с двумя радиомаяками и компасом, контактные датчики, датчики углов наклона тележки, таймер и др. Особенностью ТАИРа являлось то, что в его составе не было ком- пьютера в том виде, к которому мы привыкли. Основу системы управления составляла бортовая нейроподобная сеть, на которой реализовывались различные алгоритмы обра- ботки сенсорной информации, планирования поведения и управления движением робота.
Анализируя историю развития теории искусственного интеллекта, можно выделить целый пласт программ для решения интеллектуальных задач, которые могут быть разде- лены на несколько групп, определяемых типом задач, решаемых этими программами (рис. 1).
Первую группу составляют игровые программы, они, в свою очередь, делятся на две
подгруппы: человеческие игры и компьютерные игры. Особенностью всех программ для имитации человеческих игр является большая роль поисковых процедур – поиск лучшего или локально лучшего хода требует в сложных играх типа шахмат просмотра большого числа вариантов. Недаром шахматные программы являются специальным тестом для проверки эффективности поисковых процедур.
Таким образом, к началу XXI века сложились следующие направления исследований в области искусственного интеллекта:
1. Представление знаний и разработка систем, основанных на знаниях (knowledge-
based systems). Это основное направление в области изучения искусственного интеллек- та. Оно связано с разработкой моделей представления знаний, созданием баз знаний, об- разующих ядро экспертных систем.
2. Программное обеспечение систем искусственного интеллекта (software engineering for Al). В рамках этого направления разрабатываются специальные языки для решения интеллектуальных задач, в которых традиционно упор делается на преобладание логиче- ской и символьной обработки над вычислительными процедурами. Создаются пакеты
прикладных программ, ориентированные на промышленную разработку интеллектуаль- ных систем.
Рис. 1. Программы решения интеллектуальных задач
3. Разработка естественно-языковых интерфейсов и машинный перевод (natural lan- guage processing). Идея машинного перевода не так проста, как может показаться. При- менение простых моделей показало их неэффективность при решении данной задачи. В настоящее время применяется ряд сложных моделей, использующих ассоциативный по- иск и структурный подход, включающий морфологический анализ, семантический ана- лиз и прагматический анализ смысла предложений.
4. Интеллектуальные роботы (robotics). Робот – это электротехническое устройство, предназначенное для автоматизации человеческого труда. Можно выделить несколько
поколений в истории создания и развития робототехники:
• роботы с жесткой схемой управления (программируемые манипуляторы);
• адаптивные роботы с сенсорными устройствами;
• самоорганизующиеся, или интеллектуальные роботы.
В настоящее время в мире изготавливается более 100 000 роботов в год. Фактически робототехника сегодня – это инженерная наука, все больше применяющая технологии искусственного интеллекта.
5. Обучение и самообучение (machine learning). Это активно развивающаяся область искусственного интеллекта. Включает модели, методы и алгоритмы, ориентированные на
автоматическое накопление и формирование знаний на основе анализа и обобщения дан- ных. Включает обучение по примерам (или индуктивное), а также традиционные подхо- ды из теории распознавания образов. В последние годы к этому направлению тесно при- мыкают стремительно развивающиеся системы data mining (анализа данных) и knowledge discovery (поиска закономерностей в базах данных).
6. Распознавание образов (pattern recognition). Это одно из направлений искусствен- ного интеллекта, практически выделившееся в самостоятельную науку. Его основной подход – описание классов объектов через определенные значения признаков. Каждому объекту ставится в соответствие матрица признаков, по которой происходит его распо-
знавание. Процедура распознавания использует чаще всего специальные математические процедуры и функции, разделяющие объекты на классы. Это направление близко к ма- шинному обучению и тесно связано с нейрокибернетикой.
7. Новые архитектуры компьютеров (new hardware platforms and architectures). Самые современные процессоры сегодня основаны на архитектуре Неймана, использовавшейся еще в компьютерах первых поколений. Эта архитектура неэффективна для символьной
обработки. Поэтому усилия многих научных коллективов уже много лет нацелены на раз- работку аппаратных архитектур, предназначенных для обработки символьных и логиче- ских данных.
8. Игры и машинное творчество. Это направление связано с тем, что на заре иссле- дований искусственный интеллект включал игровые интеллектуальные задачи – шахма- ты, шашки, го. В основе первых программ лежит один из ранних подходов – лабиринт-
ная модель мышления и эвристики.
9. Другие направления. Искусственный интеллект – междисциплинарная наука, ко- торая вбирает в себя знания смежных наук. Область исследований по искусственному интеллекту простирается очень широко: нейронные сети, генетические алгоритмы, ко- гнитивное моделирование, интеллектуальные интерфейсы, распознавание и синтез речи, менеджмент знаний, формальные модели, мягкие вычисления и много другое.
1.4. ИНТЕЛЛЕКТУАЛЬНЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ
Исследования в области искусственного интеллекта получили широкое применение в информационных системах. Появился новый класс систем – интеллектуальные ин- формационные системы (ИИС).
В течение последних 10 лет произошло значительное расширение сферы практиче-
ского применения информационных систем и технологий в области экономики. Интен- сивное развитие и индустриализация информационных технологий привели к тому, что информационные потоки сопровождают все стадии цикла «производство – потребление» и соответствующего движения денежных средств в общественном производстве. Ин- формационные системы (ИС) используются в настоящее время в различных сферах эко- номики. Их применяют:
предприятия, производящие национальный продукт;
правительство, собирающее налоги и выделяющее трансферты;
потребители, формирующие денежный поток;
финансовая система, аккумулирующая сбережения потребителей;
инвесторы, инвестирующие производство;
мировая экономическая система, связанная потоками экспорта и импорта с нацио- нальным общественным производством.
Каждый из данных блоков имеет в своем составе информационную систему и соот- ветствующую ей базу данных, совокупность сведений которой образует экономическое информационное пространство общественного производства. Потребности бизнеса ста- вят задачу интеллектуализации информационных систем. Основное назначение такой информационной системы – обеспечить обработку и выдачу информации для принятия решения по руководству функционированием и развитием экономического объекта. Термин «информационная система» относится к классу программных продуктов, облег- чающих или «автоматизирующих» ведение бизнеса. Необходимая для выполнения этой задачи информация включает базы данных и модели анализа собственно организации (объекта управления), окружения, с которым происходит взаимодействие, внешних не- контролируемых факторов.
Современные информационные системы все более дифференцируются по областям применения. На рынке программного обеспечения появляются и широко используются (наряду с системами поиска нормативно-правовой информации) информационные си- стемы бухгалтерского учета, системы поддержки принятия решений (DSS-СППР), ин-
формационные системы менеджмента (MIS), информационные системы управления ин- вестициями (Project Expert), информационные системы риск-менеджмента (RMIS). Рас- тут требования потребителей к возможностям информационных систем и все острее сто- ит вопрос применения технологий искусственного интеллекта в экономических инфор- мационных системах, сопровождающих работу предприятий.
Современные системы управления базами данных включают в свой состав целый
ряд механизмов и технологий, повышающих их интеллектуальные возможности. Это относится прежде всего к многомерной организации данных в хранилищах данных, ор- ганизации естественно-языкового интерфейса, реализации сценариев «что – если». Все эти механизмы почерпнуты из области исследований по искусственному интеллекту. Системы поддержки принятия решений (DSS) являются развитыми интеллектуальными системами, т. к. призваны готовить аналитически обобщенные данные для окончательно- го выбора решения специалистом-менеджером.
Важность этих систем определяется следующими обстоятельствами:
• в DSS реализуется поиск аналитических зависимостей или агрегатов, при исполь- зовании которых правила принятия решений, т. е. зависимости между наблюдаемыми данными и гипотезами, становятся более простыми;
• в структуре специализированных процессоров или архитектур этих систем реали- зуются некоторые начальные этапы технологии обработки данных, характерные для тех-
нологии искусственного интеллекта. Это относится к организации хранения и обработки больших объемов данных в виде многомерных кубов с учетом семантических взаимосвя- зей.
На начальных стадиях разработки методов искусственного интеллекта создание экс- пертных систем, предназначенных для оценки предпочтительности гипотез на основе наблюдаемых данных, и документальных информационно-поисковых систем (ИПС) и систем управления базами данных (СУБД) шло параллельными путями, затем произошло
объединение ИПС как компоненты полнотекстового поиска и реляционных СУБД. В настоящее время постреляционные СУБД включают ряд компонентов из области искус- ственного интеллекта. Экспертные системы представляли собою автономные программ- ные комплексы, не интегрированные с базами данных и системами аналитических вы- числений. Понятие «экспертная система» закрепилось за такими автономными програм- мами, ориентированными на определенную достаточно узкую сферу применения. Затем
стало ясно, что принципы логического вывода и баз знаний применимы к широкому кру- гу задач, экспертные системы стали использовать базы данных и оформляться как про- граммные продукты, имеющие развитые средства ввода-вывода данных, хранения и ве- дения баз знаний, прикладные задачи. Такую новую генерацию систем стали называть интеллектуальными информационными системами.
Интеллектуальные информационные системы объединяют в себе возможности СУБД, лежащих в основе информационных систем, и технологию искусственного интел- лекта, благодаря чему хранение в них экономической информации сочетается с ее обра- боткой и подготовкой для использования при принятии решений. Вначале ИИС, называ-
емые также системами, основанными на знаниях, рассматривались как средство, позво- ляющее неэкспертам принимать решения с таким же качеством, как один или более экс- пертов в конкретной области. Однако очень быстро стало ясно, что эта технология в дей- ствительности способна к достижению большего объема знаний и более быстрому реа- гированию, чем группа специалистов.
Первоначально ИИС использовали знания нескольких экспертов в каждой из обла-
стей. В настоящее время базы знаний частично формируются посредством машинного обучения, используя методы индукции, генетические алгоритмы и некоторые другие ме- тоды извлечения знаний. Менеджер, используя такую схему, теоретически может при- нимать решения более эффективно и с меньшей стоимостью, чем это смог бы сделать любой индивидуальный эксперт в данной области. Наиболее очевидным преимуществом интеграции некоторых форм искусственного интеллекта в процессе принятия решений по сравнению с постоянным консультированием с группой экспертов обычно является более низкая стоимость и большее соответствие результатов задаче. В отличие от обыч- ных аналитических и статистических моделей интеллектуальные информационные си- стемы позволяют получить решение трудно формализуемых слабо структурированных задач.
Возможность интеллектуальных информационных систем работать со слабо струк- турированными данными подразумевает наличие следующих качеств:
решать задачи, описанные только в терминах мягких моделей, когда зависимости между основными показателями являются не вполне определенными или даже неизвест- ными в пределах некоторого класса;
способность к работе с неопределенными или динамичными данными, изменяю- щимися в процессе обработки, позволяет использовать ИИС в условиях, когда методы
обработки данных могут изменяться и уточняться по мере поступления новых данных;
способность к развитию системы и извлечению знаний из накопленного опыта конкретных ситуаций увеличивает мобильность и гибкость системы, позволяя ей быстро
осваивать новые области применения.
Возможность использования информации, которая явно не хранится, а выводится из имеющихся в базе данных, позволяет уменьшить объемы хранимой фактографической информации при сохранении богатства доступной пользователю информации. Направ-
ленность интеллектуальных информационных систем на решение слабо структурирован- ных, плохо формализуемых задач расширяет область применения ИИС.
Наличие развитых коммуникативных способностей у интеллектуальных информа- ционных систем дает возможность пользователю выдавать задания системе и получать от нее обработанные данные и комментарии на языке, близком к естественному.
Важнейшее требование к организации диалога пользователя с ИИС – естествен-
ность, означающая формулирование потребностей пользователя с использованием про-
фессиональных терминов конкретной области применения. Наибольшее распростране- ние интеллектуальные информационные системы получили в сфере экономического ана- лиза деятельности предприятия, стратегического планирования, инвестиционного анали- за, оценки рисков и формирования портфеля ценных бумаг, финансового анализа, марке- тинга.
Применение ИИС совместно со стандартными методами исследования операций, динамического программирования, а также с методами нечеткой логики для планирова- ния при комплексной автоматизации деятельности предприятия приносит принципиаль- ные выгоды: реально снижаются операционные издержки; повышается качество управ-
ленческих решений.
Таким образом, для интеллектуальных информационных систем характерны следу- ющие признаки:
• развитые коммуникативные способности: возможность обработки произ- вольных запросов в диалоге на языке, максимально приближенном к естественному (си- стема естественно-языкового интерфейса);
• направленность на решение слабо структурированных, плохо формализуе- мых задач (реализация мягких моделей);
• способность работать с неопределенными и динамичными данными;
• способность к развитию системы и извлечению знаний из накопленного опы- та конкретных ситуаций;
• возможность получения и использования информации, которая явно не хра-
нится, а выводится из имеющихся в базе данных;
• система имеет не только модель предметной области, но и модель самой се- бя, что позволяет ей определять границы своей компетентности;
• способность к аддуктивным выводам, т. е. к выводам по аналогии;
• способность объяснять свои действия, неудачи пользователя, предупреждать пользователя о некоторых ситуациях, приводящих к нарушению целостности данных.
Отличительные особенности ИИС по сравнению с обычными информационными
системами состоят в следующем:
интерфейс с пользователем на естественном языке с использованием бизнес- понятий, характерных для предметной области пользователя;
способность объяснять свои действия и подсказывать пользователю, как правильно ввести экономические показатели и как выбрать подходящие к его задаче параметры
экономической модели;
представление модели экономического объекта и его окружения в виде базы зна- ний и средств дедуктивных и правдоподобных выводов в сочетании с возможностью ра-
боты с неполной или неточной информацией;
способность автоматического обнаружения закономерностей бизнеса в ранее накопленных фактах и включения их в базу знаний.
ИИС особенно эффективны в применении к слабо структурированным задачам, в
которых пока отсутствует строгая формализация и для решения которых применяются эвристические процедуры, позволяющие в большинстве случаев получить решение. От- части этим объясняется то, что диапазон применения ИИС необычайно широк: от управ- ления непрерывными технологическим процессами в реальном времени до оценки по-
следствий от нарушения условий поставки товаров по импорту.
Тема 2
ПРЕДСТАВЛЕНИЕ ЗНАНИЙ И ВЫВОД НА ЗНАНИЯХ
2.1. ДАННЫЕ И ЗНАНИЯ
При изучении интеллектуальных систем традиционно возникает вопрос: что такое знания и чем они отличаются от обычных данных, обрабатываемых ЭВМ?
Данные – это отдельные факты, характеризующие объекты, процессы и явления предметной области, а также их свойства.
При обработке на ЭВМ данные трансформируются, получают новое качество. Понятие «знание» более сложно и многоаспектно. Знания основаны на данных, по-
лученных эмпирическим путем. Они представляют собой результат мыслительной дея- тельности человека, направленной на обобщение его опыта, полученного в результате практической деятельности. Можно сказать так, что знания – это закономерности пред- метной области (принципы, связи, законы), полученные в результате практической дея-
тельности и профессионального опыта, позволяющие специалистам ставить и решать за- дачи в этой области.
При поиске наиболее удобных, рациональных средств и форм информационного об- мена человек чаще всего сталкивается с проблемой компактного, однозначного и доста- точно полного представления знаний. Таким образом, знания – система понятий и отно- шений для такого обмена. Можно условно классифицировать знания в предметной обла-
сти на понятийные, конструктивные, процедурные, фактографические знания и метазна- ния.
Понятийные знания – набор понятий, используемых при решении данной задачи, например в фундаментальных науках и теоретических областях наук, т. е. это понятий- ный аппарат науки.
Конструктивные знания – наборы структур, подсистем системы и взаимодействий между их элементами, например в технике.
Процедурные знания – методы, процедуры (алгоритмы) их реализации и идентифи- кации, например в прикладных науках.
Фактографические – количественные и качественные характеристики объектов и явлений, например в экспериментальных науках.
Метазнания – знания о порядке и правилах применения знаний (знания о знаниях). Знания могут быть классифицированы как поверхностные (знания о видимых взаи-
мосвязях между отдельными событиями и фактами предметной области) и глубинные (абстракции, аналогии, схемы, отображающие структуру и природу процессов, протека- ющих в предметной области).
Современные экспертные системы работают в основном с поверхностными знания- ми. Это связано с тем, что на данный момент нет универсальных методик, позволяющих выявлять глубинные структуры знаний и работать с ними.
Часто знания делят на процедурные и декларативные. Исторически первичными бы-
ли процедурные знания, которые управляли данными. Для их изменения требовалось из- менять программы. Однако с развитием искусственного интеллекта приоритет данных постепенно изменялся, и все большая часть знаний сосредоточивалась в структурах дан- ных (таблицы, списки, абстрактные типы данных), т. е. увеличивалась роль декларатив- ных знаний. Сегодня знания приобрели чисто декларативную форму, то есть знаниями
считаются предложения, записанные на языках представления знаний, приближенных к естественному и понятных неспециалистам.
2.2. МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Представление знаний есть процесс, конечная цель которого – представление ин- формации (семантического смысла, значения) в виде информативных сообщений (син- таксических форм): фраз устной речи, предложений письменной речи, страниц книги, понятий справочника, объектов географической карты, мазков и персонажей картины и т. п. Для этого необходимо пользоваться некоторой конструктивной системой правил для их представления и восприятия (прагматического смысла). Такая система правил называ- ется формализмом представления знаний. Неформализуемые знания – это знания, полу- чаемые с применением неизвестных (неформализуемых) правил, например эвристик, ин- туиции, здравого смысла, и принятия решений на их основе.
Человек пользуется естественным формализмом – языком, письменностью. Язык, языковые конструкции развиваются благодаря тому, что человеческие знания постоянно
нуждаются в языковом представлении, выражении, сжатии, хранении, обмене. Мысль,
которую нельзя выразить в языковой конструкции, не может быть включена в информа- ционный обмен. Язык – форма представления знаний. Чем многообразнее язык народа, чем больше знаний он может отражать, тем богаче культура народа. В то же время, пред- ложения и слова языка должны иметь однозначный семантический смысл. Особую роль
играет язык математики как язык наук (не только точных, но и гуманитарных), формали- зации знаний, основа изложения системы знаний в естественных науках. Свой язык имеют химия, физика, экономика, информатика и т. д. Языки наук часто пересекаются и взаимообогащаются при исследовании междисциплинарных проблем.
Процедуры логического вывода позволяют на основании общих правил вывести ре-
шение для заданной конкретной ситуации, описываемой некоторыми исходными данны- ми. Цепочка логического вывода строится по мере приближения к решению, в зависимо- сти от выведенных на каждом шаге данных и выведенных к этому шагу новых знаний. Конкретные формы организации дедуктивного вывода зависят от того, в какой форме представлены знания в базе знаний (на каком языке представления знаний).
Существуют десятки моделей (или языков) представления знаний для различных предметных областей. Большинство из них может быть сведено к следующим классам:
продукционные модели;
семантические сети;
фреймы;
формальные логические модели.
Продукционная модель представления знаний наиболее распространена в прило- жениях. Модель реализуется правилами-продукциями: ЕСЛИ <условие> ТО <действие>.
В качестве условия может выступать любая совокупность суждений, соединенных
логическими связками «и», «или».
Это же правило является основным в реализации выводов из хранимых фактов. Вы- вод – это разновидность знания, а именно, знания о том, как можно извлечь из базы зна- ний дополнительные знания, не представленные ранее.
Пример. Продукцией будет следующее правило:
ЕСЛИ (курс доллара – растет) (сезон – осень) (число продавцов – убывает) ТО (прогноз цен на рынке жилья – рост рублевых цен на квартиры).
Такого рода правила и знания о ценах, предложении и спросе на рынке жилья могут стать базой для базы знаний о рынке жилья и экспертной системы для риэлторской груп- пы (фирмы).
Существуют две основные стратегии вывода на множестве правил-продукций:
• прямой вывод (вывод от исходных данных-фактов, аксиом – к цели, по пути выво- да пополняя исходную базу знаний новыми полученными истинными фактами; процесс заканчивается лишь тогда, когда выведен факт, эквивалентный искомому);
• обратный вывод (вывод от целевого факта к данным, на очередном шаге отыскива- ется очередной факт, в заключительной части содержится факт, эквивалентный исход-
ному факту; процесс заканчивается тогда, когда для каждого факта, выведенного на оче- редном шаге, будет найдено правило, имеющее этот факт в качестве заключения, а по- сылками – исходные или выведенные на предыдущих шагах факты).
Под данными понимаются исходные факты, хранящиеся в базе фактов, на основа- нии которых запускается машина вывода (интерпретатор правил, перебирающий правила из продукционной базы знаний).
Обе стратегии вывода имеют недостатки, достоинства и модификации.
Пример. Если все множество правил-продукций разбито на группы по некоторому признаку (структурировано), то вместо полного или случайного перебора всех правил при прямом и обратном выводе осуществляется целенаправленный переход от одной группы правил к другой. Используются также смешанные стратегии вывода, сочетающие прямой и обратный выводы.
Продукционные модели удобны для представления логических взаимосвязей между фактами, так как они более формализованы и достаточно строгие (теоретические), мо- дульные (продукции явно между собой не связаны, поэтому их можно модифицировать по модульной технологии), соответствуют долговременной памяти человека.
Системы обработки знаний, использующие представление знаний продукционными
правилами, получили название продукционных систем.
В состав продукционной системы входят база правил, база данных и интерпретатор правил. База правил – это область памяти, которая содержит базу знаний – совокупность
знаний, представленных в форме правил вида «ЕСЛИ – ТО». База данных – это область
памяти, содержащая фактические данные (факты), которые описывают вводимые данные и состояния системы. Интерпретатор представляет собой механизм вывода и является тем компонентом системы, который формирует заключения, используя базу правил и ба- зу данных.
Механизм вывода в продукционной системе не сложный. Он имеет функции поиска в базе знаний, последовательного выполнения операций над знаниями и получения за- ключений. В прямых выводах выбирается один из элементов данных, содержащихся в
базе данных, и если при сопоставлении этот элемент согласуется с посылкой правила, то из правила выводится соответствующее заключение и помещается в базу данных или же исполняется действие, определяемое правилом, и соответствующим образом изменяется содержимое базы данных. Такие выводы называются восходящими выводами, когда по-
следовательно выводятся новые результаты, начиная с уже известных данных.
Обратные выводы называются нисходящими, или выводами, ориентированными на цель. Процесс нисходящих выводов начинается от поставленной цели. Если эта цель со- гласовывается с заключением правила, то посылка правила принимается за подцель или гипотезу. Этот процесс продолжается до тех пор, пока не будет получено совпадение подцели или гипотезы с полученными данными.
Сложно сказать, какой из этих способов лучше, т. к. это зависит от задачи, для кото- рой он используется. Часто в системах, к которым предъявляется требование высокой универсальности, имеют место оба способа вывода.
Продукционная модель чаще всего применяется в промышленных экспертных си- стемах. Она характеризуется наглядностью, легкостью внесения дополнений и измене- ний, простотой механизма логического вывода.
Семантические сети. Представление знаний в виде семантической сети является одной из основных моделей представления знаний. Термин «семантическая» означает
«смысловая», а сама семантика – это наука, устанавливающая отношения между симво-
лами и объектами, которые они обозначают, т. е. наука, определяющая смысл знаков.
Семантическая сеть – это ориентированная графовая структура, каждая вершина которой отображает некоторое понятие (объект, процесс, ситуацию), а ребра графа соот- ветствуют отношениям (связям) типа «это есть», «принадлежать», «быть причиной»,
«входить в», «состоять из», «быть как» и аналогичным между парами понятий. На се- мантических сетях используются специальные процедуры вывода: пополнение сети,
наследование свойств, поиск по образцу и др.
Пример. Рассмотрим факт: «причиной неритмичной работы предприятия является старое оборудование, а причиной последнего – отсутствие оборотных средств». Семан- тическая сеть может содержать вершины «оборотные средства», «старое оборудование», соединяемые ребрами-отношениями типа «быть причиной».
Достоинство семантических сетей – наглядность представления знаний, с их помо-
щью удобно представлять причинно-следственные связи между элементами (подсисте- мами), а также структуру сложных систем. Недостаток таких сетей – сложность вывода, поиска подграфа, соответствующего запросу. Характерная особенность семантических сетей – наличие трех типов отношений:
• класс – элемент класса (часть – целое, класс – подкласс, элемент – множе-
ство, например, цветок – роза);
• свойство – значение (иметь свойство, иметь значение, например, цвет – жел- тый);
• пример элемента класса (элемент за, элемент под, раньше, позже, например,
роза – чайная).
Предлагается несколько классификаций семантических сетей, связанных типами от- ношений между понятиями.
По количеству типов отношений: однородные (с единственным типом отношений) и
неоднородные (с различными типами отношений).
По типам отношений: бинарные (в которых отношения связывают два объекта) и N- арные (в которых есть специальные отношения, связывающие более двух понятий).
Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, отражающей поставлен- ный запрос к базе. Данная модель представления знаний была предложена американ- ским ученым-психологом Куиллианом. Основным ее преимуществом является то, что
она более других соответствует современным представлениям об организации долговре- менной памяти. Недостатком этой модели является сложность организации процедуры поиска вывода из семантической сети. Пример семантической сети для предложения ти- па «Поставщик осуществил поставку изделий по заказу клиента до 1 июня текущего года в количестве 1 000 штук» приведен на рис. 2.
Рис. 2. Пример семантической сети
На этом примере видно, что между объектами «Поставщик» и «Поставка» определе- но отношение «агент», между объектами «Изделие» и «Поставка» определено отношение
«объект» и т. д. Число отношений, используемых в конкретных семантических сетях, может быть самое разное.
К. Филмор, один из первых последователей идеи семантических падежей при разбо- ре предложений, проводил свои рассуждения, пользуясь двенадцатью отношениями. Не- полный список возможных отношений, используемых в семантических сетях для разбора предложений, выглядит следующим образом:
1. Агент – это то, что (тот, кто) вызывает действие. Агент часто является под- лежащим в предложении, например: «Миша ударил мяч».
2. Объект – это то, на что (на кого) направлено действие. В предложении объект часто выполняет роль прямого дополнения, например: «Миша взял желтую пирамиду».
3. Инструмент – то средство, которое используется агентом для выполнения действия, например: «Миша открыл дверь с помощью ключа».
4. Соагент служит как подчиненный партнер главному агенту, например: «Ми- ша собрал кубики с помощью мамы».
5. Пункт отправления и пункт назначения – это отправная и конечная позиции при перемещении агента или объекта: «Миша перешел из комнаты на кухню».
6. Траектория – перемещение от пункта отправления к пункту назначения:
«Они прошли через дверь по ступенькам на лестницу».
7. Средство доставки – то в чем или на чем происходит перемещение: «Он все- гда едет домой на автобусе».
8. Местоположение – то место, где произошло (происходит, будет происходить)
действие, например: «Он работал за столом».
9. Потребитель – то лицо, для которого выполняется действие: «Миша собрал кубики для Оли».
10. Сырье – это, как правило, материал, из которого что-то сделано или состоит.
Обычно сырье вводится предлогом «из», например: «Миша собрал домик из кубиков».
11. Время – указывает на момент совершения действия: «Он закончил свою ра- боту поздно вечером».
Фреймы. Термин «фрейм» («каркас», «рамка») был предложен Марвином Минским в 70-е годы для обозначения структуры знаний для восприятия пространственных сцен. Фрейм – это абстрактный образ для представления некоего стереотипа восприятия.
Фреймовая модель представления знаний задает каркас описания класса объектов и удобна для описания структуры и характеристик однотипных объектов (процессов, со- бытий), описываемых фреймами – специальными ячейками (шаблонами понятий) фрей- мовой сети (знания).
Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы- экземпляры, которые создаются для отображения реальных фактических ситуаций на ос-
нове поступающих данных. Модель фрейма является достаточно универсальной, т. к. позволяет отобразить все многообразие знаний о мире через:
фреймы-структуры, использующиеся для обозначения объектов и понятий (заем, залог, вексель);
фреймы-роли для обозначения ролевых обязанностей (менеджер, кассир, клиент);
фреймы-сценарии для обозначения поведения (банкротство, собрание акционеров);
фреймы-ситуации для обозначения режимов деятельности, состояний (тревога, авария).
Каждый фрейм имеет имя, единственное во всей фреймовой системе. Структуру
фрейма составляют элементы, которые называются слотами. Каждый слот состоит и множества фасет. Традиционная структура фрейма представлена на рис. 3.
ИМЯ фрейма
. . . . . . . .
С Л О Т Ы
. . . . . . . .
фасеты
Рис. 3. Структура фрейма
Фрейм – концентратор знаний и может быть активизирован как отдельный автоном- ный элемент и как элемент сети. Фрейм – это модель части знаний (абстрактного образа, ситуации), активизация фрейма аналогична активизации этого кванта знаний – для объ- яснения, предсказания и т. п. Отдельные характеристики (элементы описания) объекта называются слотами фрейма. Фреймы сети могут наследовать слоты других фреймов се- ти.
Например, возьмем такое понятие, как «функция». Различные функции могут отли- чаться друг от друга, но существует некоторый набор формальных характеристик для описания любой функции (фрейм «Функция»): тип и допустимое множество изменений аргумента (область определения функции), тип и допустимое множество значений функ- ции (множество значений функции), аналитическое правило связи аргумента со значени-
ем функции. Соответственно, могут быть определены фреймы «Аргумент», «Значение функции», «Закон соответствия». Далее можно определить фреймы «Тип аргумента»,
«Вычисление значения функции», «Операция» и др. Пример слотов для фрейма «Закон
соответствия»: аналитический способ задания закона; сложность вычисления (реализа- ции). Чтобы описать конкретное значение фрейма, необходимо каждому слоту придать конкретное значение, например, таким образом:
Имя фрейма – Функция; Аргумент – x;
Значение функции – y;
Закон соответствия – квадратичный. Слоты:
Значения аргумента – R;
Способ задания функции – y = ax2 + bx + c; Сложность вычисления – 7.
Пример фрейма «Задача вычислительного типа» приведен на рис. 4.
Рис. 4. Структура фрейма «Задача вычислительного типа»
Основным преимуществом фрейма как модели представления знаний является то, что он отражает концептуальную основу организации памяти человека, а также ее гиб- кость и наглядность. Фреймовое представление наглядно и структурировано (модульно) и позволяет получать описание системы в виде связанных, иерархических структур (мо- дулей – фреймов, единиц представления знаний).
Формальные логические модели. Традиционно в представлении знаний выделяют формальные логические модели, основанные на классическом исчислении предикатов
первого порядка, когда предметная область или задача описывается в виде набора акси-
ом. В основе такого представления лежит язык математической логики, позволяющий формально описывать понятия математической логики и связи между ними.
Предикатом называется функция, принимающая только два значения («истина» и
«ложь») и предназначенная для выражения свойств объектов или связей между ними. Выражение, в котором утверждается или отрицается наличие каких-либо свойств у объ- екта, называется высказыванием. Константы служат для именования объектов предмет-
ной области. Логические предложения, или высказывания образуют атомарные форму- лы.
Логические модели удобны для представления логических взаимосвязей между фак- тами, они формализованы, строги (теоретические), для их использования имеется удоб- ный и адекватный инструментарий, например язык логического программирования
«Пролог».
Модель предметной области для данной модели можно определить упрощенно в виде:
<модель предметной области> = <понятийные знания> + <конструктивные знания>.
Исчисление предикатов первого порядка в промышленных экспертных системах практически не используется. Эта логическая модель применима в основном в исследо-
вательских «игрушечных» системах, т. к. предъявляет очень высокие требования и огра- ничения к предметной области.
2.3. ВЫВОД НА ЗНАНИЯХ
Машина вывода
Из рассмотренных нами моделей представления знаний, несмотря на все недостатки, наибольшее распространение получила продукционная модель представления знаний. При использовании продукционной модели база знаний состоит из набора правил.
Программа, управляющая перебором правил, называется машиной вывода. Машина вывода (интерпретатор правил) выполняет две функции:
• просмотр существующих фактов из рабочей памяти (базы данных) и правил
из базы знаний, добавление в рабочую память новых фактов;
• определение порядка просмотра и применения правил.
С помощью данного механизма осуществляется управление процессом консульта- ции. Для пользователя сохраняется информация о полученных заключениях, запрашива- ется у него информация, когда для очередного правила в рабочей памяти оказывается недостаточно данных.
Часто в системах, основанных на знаниях, механизм вывода представляет собой не- большую программу и включает два компонента: один реализует вывод, другой управля-
ет этим процессом.
Действие компонента вывода основано на применении правила «Если известно, что истинно утверждение А и существует правило вида «Если А, то В», то утверждение В то- же истинно».
Правила срабатывают, когда находятся факты, удовлетворяющие их левой части: ес-
ли истинна посылка, то должно быть истинно и заключение. Компонент вывода должен обладать способностью функционировать в условиях недостатка информации.
Управляющий компонент определяет порядок применения правил, а также устанав-
ливает, имеются ли еще факты, которые могут быть изменены в случае продолжения консультации. Управляющий компонент выполняет четыре функции:
1) сопоставление – образец правила сопоставляется с имеющимися фактами;
2) выбор – если в конкретной ситуации могут быть применены сразу несколько правил. В этом случае из них выбирается одно, наиболее подходящее по заданному кри-
терию (разрешение конфликта);
3) срабатывание – если образец правила при сопоставлении совпадает с какими- либо фактами из рабочей памяти, то правило срабатывает;
4) действие – рабочая память подвергается изменению путем добавления в нее заключения сработавшего правила. Если в правой части правила содержится указание на
какое-либо действие, то оно выполняется (как, например, в системах обеспечения без- опасности информации).
Интерпретатор продукций (правил) работает циклически. В каждом цикле он про- сматривает все правила, чтобы выявить среди них те, посылки которых совпадают с из- вестными на данный момент фактами из рабочей памяти. Интерпретатор определяет
также порядок применения правил. После выбора правило срабатывает, его заключение заносится в рабочую память, и затем цикл повторяется сначала.
В одном цикле может сработать только одно правило. Если несколько правил успешно сопоставлены с фактами, то интерпретатор производит выбор по определенно-
му критерию единственного правила, которое и сработает в данном цикле.
Работа машины вывода зависит только от состояния рабочей памяти и от состава ба- зы знаний. На практике обычно учитывается история работы, т. е. поведение механизма вывода в предшествующих циклах. Информация о поведении механизма вывода запоми- нается в памяти состояний. Обычно память состояний содержит протокол системы.
Стратегии управления выводом
От выбранного метода поиска (стратегии вывода) будет зависеть порядок примене- ния и срабатывания правил. Процедура выбора сводится к определению направления по- иска и способа его осуществления. Процедуры, реализующие поиск, обычно «зашиты» в механизм вывода, поэтому в большинстве систем инженеры знаний не имеют к ним до- ступа и, следовательно, не могут в них ничего изменять по своему желанию.
При разработке стратегии управления выводом важно определить два вопроса:
1. Какую точку в пространстве состояний принять в качестве исходной? От вы- бора этой точки зависит и метод осуществления поиска: в прямом или обратном направ- лении.
2. Какими методами можно повысить эффективность поиска решения? Эти ме- тоды определяются выбранной стратегией перебора: в глубину, в ширину, по задачам и
т. д.
Прямой и обратный вывод
При обратном порядке вывода вначале выдвигается некоторая гипотеза, а затем ме- ханизм вывода как бы возвращается назад, переходя к фактам, пытаясь найти те, которые подтверждают гипотезу. Если она оказалась правильной, то выбирается следующая ги- потеза, детализирующая первую и являющаяся по отношению к ней подцелью. Далее отыскиваются факты, подтверждающие истинность подчиненной гипотезы. Вывод тако- го типа называется управляемым целями, или управляемым консеквентами. Обратный
поиск применяется в тех случаях, когда цели известны и их сравнительно немного.
В системах с прямым выводом по известным фактам отыскивается заключение, ко- торое из этих фактов следует. Если такое заключение удается найти, то оно заносится в
рабочую память. Прямой вывод часто называют выводом, управляемым данными, или выводом, управляемым антецедентами.
Существуют системы, в которых вывод основывается на сочетании данных методов. Такой комбинированный метод получил название циклического.
Методы поиска в глубину и ширину
В системах, база знаний которых насчитывает сотни правил, желательным является
использование стратегии управления выводом, позволяющей минимизировать время по- иска решения и тем самым повысить эффективность вывода. К числу таких стратегий относятся поиск в глубину, поиск в ширину, разбиение на подзадачи и альфа-бета алго- ритм.
При поиске в глубину в качестве очередной подцели выбирается та, которая соот- ветствует следующему, более детальному уровню описания задачи. Например, диагно- стирующая система, сделав на основе известных симптомов предположение о наличии определенного заболевания, будет продолжать запрашивать уточняющие признаки и симптомы этой болезни до тех пор, пока полностью не опровергнет выдвинутую гипоте- зу.
При поиске в ширину, напротив, система вывода вначале проанализирует все симп- томы, находящиеся на одном уровне пространства состояний, даже если они относятся к разным заболеваниям, и лишь потом перейдет к симптомам следующего уровня деталь-
ности.
Разбиение на подзадачи подразумевает выделение подзадач, решение которых рас- сматривается как достижение промежуточных целей на пути к конечной цели. Приме- ром, подтверждающим эффективность разбиения на подзадачи, является поиск неис- правностей в компьютере: сначала выявляется отказавшая подсистема (питание, память и т. д.), что значительно сужает пространство поиска. Если удается правильно понять
сущность задачи и оптимально разбить ее на систему иерархически связанных целей- подцелей, то можно добиться того, что путь к ее решению в пространстве поиска будет минимален.
Альфа-бета алгоритм позволяет уменьшить пространство состояний путем удаления ветвей, неперспективных для успешного поиска. Поэтому просматриваются только те вершины, в которые можно попасть в результате следующего шага, после чего непер-
спективные направления исключаются. Альфа-бета алгоритм нашел широкое примене- ние в основном в системах, ориентированных на различные игры, например в шахмат- ных программах.
Нечеткие знания
При попытке формализовать человеческие знания исследователи столкнулись с про-
блемой, затруднявшей использование традиционного математического аппарата для их описания. Существует целый класс описаний, оперирующих качественными характери- стиками объектов (много, мало, сильный, очень сильный и т. д.). Эти характеристики обычно размыты и не могут быть однозначно интерпретированы, однако содержат важ- ную информацию (например: «Одним из возможных признаков гриппа является высокая температура»).
Кроме того, в задачах, решаемых интеллектуальными системами, часто приходится пользоваться неточными знаниями, которые не могут быть интерпретированы как пол-
ностью истинные или полностью ложные. Существуют знания, достоверность которых выражается некоторой промежуточной цифрой, например 0,7.
Как, не разрушая свойства неточности, представлять подобные знания формально?
Для разрешения таких проблем предложен формальный аппарат нечеткой логики и не- четкой алгебры, который положил начало одному из направлений искусственного интел- лекта под названием «мягкие вычисления». Введено одно из главных понятий в нечеткой логике – понятие лингвистической переменной.
Лингвистическая переменная – это переменная, значение которой определяется набором вербальных (то есть словесных) характеристик некоторого свойства. Например, лингвистическая переменная «рост» определяется через набор «карликовый, низкий, средний, высокий, очень высокий».
Тема 3
РАЗРАБОТКА СИСТЕМ, ОСНОВАННЫХ НА ЗНАНИЯХ
3.1. ВВЕДЕНИЕ В ЭКСПЕРТНЫЕ СИСТЕМЫ. ОПРЕДЕЛЕНИЕ И СТРУКТУРА
Существенные черты ИИС – наличие знаний, способности логического вывода и особенно системы управления знаниями. Способность производить выводы – принципи- альная особенность современных интеллектуальных технологий. Эта способность осно- вывается на знаниях, причем знания различаются по форме, начиная от простых фактов, хранящихся в обычной базе данных, до сложных высказываний о реальном или модели- руемом мире. Базу данных можно рассматривать как множество фактов, при этом запро- сы и ограничения целостности являются формулами, которые необходимо интерпрети- ровать, используя семантическое определение истинности.
Одним из наиболее значительных достижений искусственного интеллекта стала раз- работка мощных компьютерных систем, получивших название «экспертных», или осно-
ванных на «знаниях» систем. В современном обществе при решении задач управления сложными многопараметрическими и сильносвязанными системами, объектами, произ- водственными и технологическими процессами приходится сталкиваться с решением неформализуемых либо трудно формализуемых задач. Такие задачи часто возникают в следующих областях: авиация, космос и оборона, нефтеперерабатывающая промышлен- ность и транспортировка нефтепродуктов, химия, энергетика, металлургия, целлюлозно-
бумажная промышленность, телекоммуникации и связь, пищевая промышленность, ма- шиностроение, производство цемента, бетона и т. п., транспорт, медицина и фармацевти- ческое производство, административное управление, прогнозирование и мониторинг.
Наиболее значительным достижением в этой области стало создание систем, которые ставят диагноз заболевания, предсказывают месторождения полезных ископаемых, помо-
гают в проектировании электронных устройств, машин и механизмов, решают задачи управления реакторами и другие задачи.
Экспертные системы – это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпири- ческий опыт для консультаций менее квалифицированных пользователей.
ЭС представляют собой класс компьютерных программ, которые выдают советы, проводят анализ, выполняют классификацию и ставят диагноз. Они ориентированы на решение задач, обычно требующих проведения экспертизы человеком-специалистом. В
отличие от машинных программ, использующих процедурный анализ, ЭС решают задачи в узкой предметной области (конкретной области экспертизы) на основе дедуктивных суждений. Состав экспертной системы в упрощенном виде представлен на рис. 5.
База знаний ЭС содержит факты (данные) и правила (или другие представления зна- ний), использующие эти факты как основу для принятия решений. Механизм вывода со- держит интерпретатор, определяющий, каким образом применять правила для вывода новых знаний, и диспетчер, устанавливающий порядок применения этих правил.
Осознание полезности систем, которые могут копировать дорогостоящие или редко встречающиеся человеческие знания, привело к широкому внедрению и расцвету этой технологии в 80-, 90-е годы прошлого века.
Рис. 5. Упрощенный состав экспертной системы
Основу успеха ЭС составили два важных свойства:
• в ЭС знания отделены от данных, и мощность экспертной системы обусловлена в первую очередь мощностью базы знаний и только во вторую очередь используемыми методами решения задач;
• решаемые ЭС задачи являются неформализованными или слабо формализованными и используют эвристические, экспериментальные, субъективные знания экспертов в определенной предметной области.
В целом процесс функционирования ЭС можно представить следующим образом: пользователь, желающий получить необходимую информацию, через пользовательский интерфейс посылает запрос к ЭС. Решатель, пользуясь базой знаний, генерирует и выда-
ет пользователю подходящую рекомендацию, объясняя ход своих рассуждений при по- мощи подсистемы объяснений.
Общая структура экспертной системы приведена на рис. 6.
В расширенный состав экспертной системы входит пользователь (специалист пред- метной области, для которого предназначена система, с невысокой квалификацией и по- этому он нуждается в помощи и поддержке своей деятельности со стороны экспертной системы); инженер по знаниям (специалист в области искусственного интеллекта, вы-
ступающий в роли промежуточного буфера между экспертом и базой знаний); интерфейс пользователя (комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и при получении результатов); база знаний (ядро экспертной си- стемы, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю на языке, приближенном к естественному);
программа-решатель, моделирующая ход рассуждений эксперта на основании знаний,
имеющихся в базе знаний, подсистема объяснений, позволяющая пользователю получить ответы на вопросы; интеллектуальный редактор базы знаний (программа, позволяющая инженеру по знаниям возможность создавать базу знаний в диалоговом режиме, вклю- чающая в себя систему вложенных меню, шаблонов языка представления знаний, под- сказок и других сервисных средств, облегчающих работу с базой).
Данная структура предполагает обязательное присутствие указанных на ней блоков. Если система объявлена как экспертная, только наличие всех этих блоков гарантирует
реальное использование аппарата обработки знаний.
Рис. 6. Общая структура экспертной системы
Промышленные прикладные ЭС могут быть существенно сложнее и дополнительно включать базы данных, интерфейсы обмена данными с различными пакетами приклад- ных программ, электронными библиотеками и т.д. (рис. 7).
Основу ЭС составляет подсистема логического вывода, которая использует инфор- мацию из базы знаний (БЗ), генерирует рекомендации по решению искомой задачи. Чаще всего для представления знаний в ЭС используются системы продукций и семантические сети. Допустим, БЗ состоит из фактов и правил (если <посылка>, то <заключение>). Если ЭС определяет, что посылка верна, то правило признается подходящим для данной кон- сультации и оно запускается в действие. Запуск правила означает принятие заключения
данного правила в качестве составной части процесса консультации.
Рис. 7. Схема взаимодействия блоков экспертной системы
Важную роль при создании ЭС играют инструментальные средства, предоставляю- щие в распоряжение разработчика-инженера по знаниям широкий набор для комбиниро- вания систем представления знаний, языков программирования, объектов и процедур.
Обязательными частями любой ЭС являются также модуль приобретения знаний и модуль отображения и объяснения решений. В большинстве случаев реальные ЭС в про-
мышленной эксплуатации работают также на основе баз данных (БД). Только одновре- менная работа со знаниями и большими объемами информации из БД позволяет ЭС по- лучить неординарные результаты, например: поставить сложный диагноз (медицинский или технический), открыть месторождение полезных ископаемых, управлять ядерным реактором в реальном времени.
Особое место в режиме приобретения знаний занимает объяснительный компонент. Именно благодаря ему эксперт на этапе тестирования локализует причины неудачной работы ЭС, что позволяет эксперту целенаправленно модифицировать старые или вво- дить новые знания. Объяснительный компонент объясняет, как система получила реше- ние задачи (или почему она не получила решения) и какие знания она при этом исполь- зовала, – это облегчает эксперту тестирование системы и повышает доверие пользовате- ля к полученному результату. Обычно объяснительный компонент сообщает следующее: как правильно используют информацию пользователя; почему использовались или не использовались данные или правила; какие были сделаны выводы и т. д. Все объяснения делаются на ограниченном естественном языке или языке графики.
Диалоговый компонент ориентирован на организацию дружелюбного общения со всеми категориями пользователей как в ходе решения задач, так и приобретения знаний, объяснения результатов работы.
В разработке ЭС участвуют следующие специалисты:
эксперт в той проблемной области, задачи которой будет решать ЭС;
инженер по знаниям – специалист по разработке ЭС;
программист – специалист по разработке инструментальных средств.
Необходимо отметить, что отсутствие среди участников разработки инженера по знаниям (т. е. его замена программистом) либо приводит к неудаче процесс создания ЭС, либо значительно удлиняет его. Эксперт определяет знания (данные и правила), характе- ризующие проблемную область, обеспечивает полноту и правильность введения в ЭС знаний.
Инженер по знаниям помогает эксперту выявить и структурировать знания, необхо- димые для работы ЭС. Он осуществляет выбор той ИС, которая наиболее подходит для данной проблемной области, и определяет способ того представления знаний в этой ИС,
выделяет и программирует (традиционными средствами) те стандартные функции (ти- пичные для данной проблемной области), которые будут использоваться в правилах,
вводимых экспертом.
Программист разрабатывает систему, содержащую все основные компоненты ЭС, осуществляет сопряжение системы с той средой, в которой она будет использована.
Экспертная система работает в двух режимах: приобретения знаний и решения задач (называемом также режимом консультации или режимом использования ЭС).
В режиме приобретения знаний общение с ЭС осуществляется через посредничество инженера по знаниям. Эксперт описывает проблемную область в виде совокупности дан-
ных и правил. Данные определяют объекты, их характеристики и значения, существую- щие в области экспертизы. Правила определяют способы манипулирования данными,
характерные для рассматриваемой проблемной области. Эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области.
Режиму приобретения знаний при традиционном подходе к разработке программ со-
ответствуют этапы алгоритмизации, программирования и отладки, выполняемые про- граммистом. В отличие от традиционного подхода разработку программ осуществляет эксперт (с помощью ЭС), не владеющий программированием, а не программист.
В режиме консультации общение с ЭС осуществляет конечный пользователь, кото- рого интересует результат и (или) способ получения решения. Пользователь в зависимо- сти от назначения ЭС может не быть специалистом в данной проблемной области – в
этом случае он обращается к ЭС за советом, не умея получить ответ сам; либо пользова-
тель является специалистом – тогда он обращается к ЭС, чтобы либо ускорить процесс получения результата, либо возложить на ЭС рутинную работу. Термин «пользователь» подразумевает, что таковым может быть и эксперт, и инженер по знаниям, и програм- мист. Поэтому, когда хотят подчеркнуть, что речь идет о том, для кого делалась ЭС, ис- пользуют термин «конечный пользователь».
В режиме консультации данные о задаче пользователя обрабатываются диалоговым компонентом, который выполняет следующие действия:
распределяет роли участников (пользователя и ЭС) и организует их взаимодей- ствие в процессе кооперативного решения задачи;
преобразует данные пользователя о задаче, представленные на привычном для пользователя языке, на внутренний язык системы;
преобразует сообщения системы, представленные на внутреннем языке, в сообще- ния на языке, привычном для пользователя (обычно это ограниченный естественный язык или язык графики).
После обработки данные поступают в рабочую память. На основе входных данных в рабочей памяти, общих данных о проблемной области и правил из базы знаний решатель (интерпретатор) формирует решение задачи. Схема функционирования ЭС приведена на рис. 8.
Рис. 8. Схема функционирования экспертной системы
В отличие от традиционных программ ЭС в режиме решения задачи не только ис- полняет предписанную последовательность операций, но и предварительно формирует ее. Если ответ ЭС непонятен пользователю, то он может потребовать объяснения того, как ответ получен.
Таким образом, экспертные системы отличают следующие характеристики:
♦ интеллектуальность;
♦ простота общения с компьютером;
♦ возможность наращивания модулей;
♦ интеграция неоднородных данных;
♦ способность разрешения многокритериальных задач при учете предпочтений лиц, принимающих решения (ЛПР);
♦ работа в реальном времени;
♦ документальность;
♦ конфиденциальность;
♦ унифицированная форма знаний;
♦ независимость механизма логического вывода;
♦ способность объяснения результатов.
3.2. КЛАССИФИКАЦИЯ ЭКСПЕРТНЫХ СИСТЕМ
Класс экспертных систем объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям.
Экспертные системы классифицируются следующим образом:
1. По назначению ЭС делятся на: 1)ЭС общего назначения; 2)специализированные ЭС:
проблемно-ориентированные для задач диагностики, проектирования, прогнозиро- вания;
предметно-ориентированные для специфических задач, например контроля ситуа- ций на атомных электростанциях.
2. По степени зависимости от внешней среды выделяют:
1 )статические ЭС, не зависящие от внешней среды;
2 )динамические, учитывающие динамику внешней среды и предназначенные для решения задач в реальном времени. Время реакции в таких системах может задаваться в миллисекундах, и эти системы реализуются, как правило, на языке С++.
3. По типу использования различают:
1 )изолированные ЭС;
2 )ЭС на входе-выходе других систем;
3 )гибридные ЭС или, иначе говоря, ЭС интегрированные с базами данных и другими программными продуктами (приложениями).
4. По сложности решаемых задач различают:
1 )простые ЭС – до 1 000 простых правил;
2 )средние ЭС – от 1 000 до 10 000 структурированных правил;
3 )сложные ЭС – более 10 000 структурированных правил.
5. По стадии создания выделяют:
1 )исследовательский образец ЭС, разработанный за 1–2 месяца с минимальной БЗ;
2 )демонстрационный образец ЭС, разработанный за 2–4 месяца, например на языке типа LISP, PROLOG, CLIPS;
3 )промышленный образец ЭС, разработанный за 4–8 месяцев, например, на языке
типа CLIPS с полной БЗ;
4 )коммерческий образец ЭС, разработанный за 1,5–2 года, например, на языке типа С++, Java с полной БЗ.
6. По решаемой задаче:
1 )интерпретация данных. Это одна из традиционных задач для экспертных систем. Под интерпретацией понимается процесс определения смысла данных, результаты
которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анализ данных;
2 )диагностика. Под диагностикой понимается процесс соотнесения объекта с некоторым классом объектов и (или) обнаружения неисправности в некоторой системе. Неисправность – это отклонение от нормы. Такая трактовка позволяет с единых
теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания живых организмов, и всевозможные природные аномалии. Важной спецификой является здесь необходимость понимания функциональной структуры диагностирующей системы;
3 )мониторинг (наблюдение). Основная задача мониторинга – непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы – «пропуск» тревожной ситуации и задача «ложного» срабатывания. Сложность этих проблем заключается в размытости симптомов тревожных ситуаций и необходимости учета временного контекста;
4 )прогнозирование. Прогнозирование позволяет предсказывать последствия некоторых событий или явлений на основании анализа имеющихся данных. Прогнозирующие системы логически выводят вероятные следствия из заданных
ситуаций. В прогнозирующей системе используется параметрическая динамическая модель, в которой значения параметров «подгоняются» под заданную ситуацию. Выводимые из этой модели следствия составляют основу для прогнозов с вероятностными оценками (предсказание погоды, оценки будущего урожая, прогнозы в экономике);
5 )планирование. Под планированием понимается нахождение планов действий,
относящихся к объектам, способным выполнять некоторые функции. В таких ЭС используются модели поведения реальных объектов с тем, чтобы логически вывести последствия планируемой деятельности (планирование поведения робота, планирование промышленных заказов, планирование эксперимента);
6 )проектирование. Проектирование состоит в подготовке спецификаций на создание
«объектов» с заранее определенными свойствами. Под спецификацией понимается весь набор необходимых документов: чертеж, пояснительная записка и т. д. Основные
проблемы здесь – получение четкого структурного описания знаний об «объекте» и
проблема «следа». Для организации эффективного проектирования и в еще большей степени перепроектирования необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связываются два основных процесса, выполняемых в рамках соответствующей ЭС: процесс вывода решения и процесс объяснения;
7 )обучение. Под обучением понимается использование компьютера для обучения какой-то дисциплине или предмету. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом «ученике» и его характерных ошибках, затем в работе они способны диагностировать слабости в познаниях обучаемых и находить соответствующие средства для их ликвидации. Кроме того, они планируют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний;
8 )управление. Под управлением понимается функция организованной системы, поддерживающая определенный режим деятельности. Такого рода ЭС осуществляют
управление поведением сложных систем в соответствии с заданными спецификациями (работа на атомных электростанциях, управление воздушным движением);
9 )поддержка принятия решений. Поддержка принятия решений – это совокупность процедур, обеспечивающая лицо, принимающее решения, необходимой информацией и
рекомендациями, облегчающими процесс принятия решения. Эти ЭС помогают специалистам выбрать и сформировать нужную альтернативу среди множества выборов при принятии ответственных решений.
В общем случае все системы, основанные на знаниях, можно подразделить на си- стемы, решающие задачи анализа, и на системы, решающие задачи синтеза. Основное отличие задач анализа от задач синтеза заключается в том, что если в задачах анализа
множество решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально не ограничено и строится из решений компонентов или подпроблем. Задачами анализа являются интерпретация данных, диагностика, под- держка принятия решения. К задачам синтеза относятся проектирование, планирование, управление. Комбинированные: обучение, мониторинг, прогнозирование.
7. По связи с реальным временем:
1) статические ЭС разрабатываются в предметных областях, в которых база зна- ний и интерпретируемые данные не меняются во времени. Они стабильны (например, диагностика неисправностей в автомобиле);
2) квазидинамические ЭС интерпретируют ситуацию, которая меняется с некото- рым фиксированным интервалом времени (микробиологические ЭС, в которых снима- ются лабораторные измерения с технологического процесса один раз в 4–5 часов и ана- лизируется динамика полученных показателей по отношению к предыдущему измере- нию);
3) динамические ЭС работают в сопряжении с датчиками объектов в режиме ре-
ального времени с непрерывной интерпретацией поступающих в систему данных (управ- ление гибкими производственными комплексами, мониторинг в реанимационных пала- тах).
8. По степени интеграции с другими программами:
1 )автономные ЭС работают непосредственно в режиме консультаций с пользователем для специфически «экспертных» задач, для решения которых не
требуется привлекать традиционные методы обработки данных (расчеты, моделирование и т. д.);
2 )гибридные ЭС представляют программный комплекс, агрегирующий стандартные пакеты прикладных программ (например, математическую статистику или системы управления базами данных) и средства манипулирования знаниями. Это может быть
интеллектуальная надстройка над пакетами прикладных программ или интегрированная среда для решения сложной задачи с элементами экспертных знаний. Несмотря на
внешнюю привлекательность гибридного подхода, следует отметить, что разработка таких систем является задачей очень сложной.
3.3. ТЕХНОЛОГИЯ ПРОЕКТИРОВАНИЯ И РАЗРАБОТКИ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ
Проблемы разработки промышленных экспертных систем
Разработка программных комплексов экспертных систем как за рубежом, так и в нашей стране находится на уровне скорее искусства, чем науки. Это связано с тем, что долгое время системы искусственного интеллекта внедрялись в основном во время фазы
проектирования, а чаще всего разрабатывалось несколько прототипных версий про- грамм, и на их основе уже создавался конечный продукт. Такой подход хорош в исследо- вательских условиях, однако в коммерческих условиях он является слишком дорогим, чтобы оправдать затраты на разработку.
Разработка ЭС связана с определенными трудностями, которые необходимо хорошо знать, так же, как и способы их преодоления. Рассмотрим подробнее эти проблемы.
Проблема извлечения знаний экспертов. Ни один специалист никогда просто так не раскроет секреты своего профессионального мастерства, свои сокровенные знания в профессиональной области. Часто такой специалист опасается, что, раскрыв все свои секреты, он будет не нужен компании. Вместо него будет работать экспертная система.
Избежать эту проблему поможет выбор высококвалифицированного эксперта, заинтере- сованного в сотрудничестве.
Проблема формализации знаний экспертов. Эксперты-специалисты в определенной области, как правило, не в состоянии формализовать свои знания. Часто они принимают правильные решения на интуитивном уровне и не могут аргументированно объяснить,
почему принято то или иное решение. Иногда эксперты не могут прийти к взаимопони- манию (фраза «встретились два геолога, у них было три мнения» – не шутка, а реальная жизнь). В таких ситуациях поможет выбор эксперта, умеющего ясно формулировать свои мысли и легко объяснять другим свои идеи.
Проблема нехватки времени у эксперта. Выбранный для разработки эксперт не мо- жет найти достаточно времени для выполнения проекта. Он слишком занят. Он всем ну- жен. У него есть проблемы. Чтобы избежать этой ситуации, необходимо получить от эксперта, прежде чем начнется проект, согласие тратить на проект время в определенном фиксированном объеме.
Правила, формализованные экспертом, не дают необходимой точности. Проблему
можно снять, если решать вместе с экспертом реальные задачи. Не надо придумывать
«игрушечных» ситуаций или задач. В условиях задач нужно использовать реальные дан- ные, такие, как лабораторные данные, отчеты, дневники и другую информацию, взятую из практических задач. Постарайтесь говорить с экспертом на одном языке, используя единую терминологию. Эксперт, как правило, легче понимает правила, записанные на языке, близком к естественному, а не на языке типа LISP или PROLOG.
Недостаток ресурсов. В качестве ресурсов выступают персонал (инженеры знаний, разработчики инструментальных средств, эксперты) и средства построения ЭС (средства разработки и средства поддержки). Недостаток благожелательных и грамотных админи- страторов порождает скептицизм и нетерпение у руководителей. Повышенное внимание в прессе и преувеличения вызвали нереалистические ожидания, которые приводят к разоча-
рованию в отношении экспертных систем. ЭС могут давать не самые лучшие решения на границе их применимости, при работе с противоречивыми знаниями и в рассуждениях на
основе здравого смысла. Могут потребоваться значительные усилия, чтобы добиться не- большого увеличения качества работы ЭС. Экспертные системы требуют много времени на разработку. Так, создание системы PUFF для интерпретации функциональных тестов легких потребовало 5 человеколет, на разработку системы PROSPECTOR для разведки рудных месторождений ушло 30 человеко-лет, система XCON для расчета конфигурации компьютерных систем на основе VAX 11/780 потребовала 8 человеколет. ЭС последних
лет разрабатываются более быстрыми темпами за счет развития технологий ЭС, но про- блемы остались. Удвоение персонала не сокращает время разработки наполовину, потому что процесс создания ЭС – это процесс со множеством обратных связей. Все это необхо-
димо учитывать при планировании создания ЭС.
Неадекватность инструментальных средств решаемой задаче. Часто определен- ные типы знаний (например, временные или пространственные) не могут быть легко представлены на одном ЯПЗ, так же, как и разные схемы представления (например,
фреймы и продукции) не могут быть достаточно эффективно реализованы на одном ЯПЗ. Некоторые задачи могут быть непригодными для решения по технологии ЭС (например, отдельные задачи анализа сцен). Необходим тщательный анализ решаемых задач, чтобы определить пригодность предлагаемых инструментальных средств и сделать правильный выбор.
Процесс разработки экспертной системы
Процесс разработки промышленной экспертной системы практически для любой
предметной области можно разделить на шесть более или менее независимых этапов:
• выбор проблемы (идентификация), определение задачи для решения;
• разработка прототипа ЭС;
• доработка промышленной ЭС;
• оценка ЭС;
• стыковка ЭС;
• поддержка ЭС.
Конечно, последовательность эта далеко не фиксированная. В действительности каждый последующий этап разработки может привнести новые идеи, которые могут по- влиять на предыдущие решения и даже привести к их переработке. Именно поэтому мно- гие специалисты весьма критично относятся к методологии экспертных систем. Они счи- тают, что расходы на разработку таких систем очень большие, время разработки слиш- ком велико, а полученные в результате программы требуют слишком много ресурсов ЭВМ.
В целом за разработку экспертной системы целесообразно браться организации, где накоплен опыт по автоматизации рутинных процедур обработки информации, таких, как формирование корпоративных информационных систем, организация сложных расчетов, работа с компьютерной графикой, обработка текстов и автоматизированный документо- оборот.
Выбор проблемы
Этот этап определяет деятельность, предшествующую решению начать разрабаты-
вать конкретную систему. Он включает:
определение проблемной области и задачи;
нахождение эксперта, желающего сотрудничать при решении проблемы, и назна- чение коллектива разработчиков;
определение предварительного подхода к решению проблемы;
анализ расходов и прибылей от разработки;
подготовку подробного плана разработки.
Правильный выбор проблемы представляет самую критическую часть разработки в целом. Если выбрать неподходящую проблему, можно разработать систему, которая сто- ит намного больше, чем экономит. Еще хуже, если система работает, но неудобна или неприемлема для пользователей.
При выборе области применения следует учитывать, что если знание, необходимое
для решения задач, постоянное, четко формулируемое и связано с вычислительной обра- боткой, то обычные алгоритмические программы, скорее всего, будут самым целесооб- разным способом решения проблем в выбранной области.
Экспертная система ни в коем случае не устранит потребность в реляционных базах данных, статистическом программном обеспечении, электронных таблицах и системах текстовой обработки. Но если результативность задачи зависит от знания, которое явля- ется субъективным, изменяющимся, символьным или вытекающим частично из сообра-
жений здравого смысла, тогда имеет смысл разрабатывать экспертную систему.
Обычно ЭС разрабатываются путем получения специфических знаний от эксперта и ввода их в систему. Некоторые системы могут содержать точку зрения одного эксперта или нескольких. Поиск подходящего эксперта – это ключевой шаг в создании экспертной системы.
В процессе разработки и последующего расширения системы инженер по знаниям и эксперт обычно работают вместе. Инженер по знаниям помогает эксперту структуриро- вать знания, определять и формализовать понятия и правила, необходимые для решения проблемы. Во время первоначальных бесед они должны решить, будет ли их сотрудни- чество успешным. Это немаловажно, поскольку обе стороны будут работать совместно не менее одного года. Кроме них, в коллектив разработчиков целесообразно включить потенциальных пользователей и профессиональных программистов.
Предварительный подход к программной реализации задачи определяется, исходя из характеристик задачи и ресурсов, выделенных на ее решение. Инженер по знаниям вы-
двигает обычно несколько вариантов, связанных с использованием имеющихся на рынке программных средств.
После того, как задача определена, необходимо подсчитать расходы и прибыль от раз- работки экспертной системы. В расходы включаются затраты на оплату труда коллектива разработчиков. В дополнительные расходы должна быть включена стоимость приобретае- мого программного инструментария, с помощью которого будет разработана экспертная си-
стема. Прибыль может быть получена за счет снижения цены продукции, повышения про- изводительности труда, расширения номенклатуры продукции или услуг, разработки новых видов продукции или услуг в области, в которой будет использоваться ЭС. Соответствую- щие расходы и прибыль от системы определяются относительно времени, в течение которо- го возвращаются средства, вложенные в разработку. На современном этапе большая часть фирм, развивающих крупные экспертные системы, предпочитают разрабатывать дорогосто-
ящие проекты, приносящие значительную прибыль. Вполне возможна разработка менее до- рогостоящих систем, но с более длительным сроком окупаемости вложенных средств. Необходимо учитывать также, что программные средства разработки ЭС непрерывно со- вершенствуются.
После того, как инженер по знаниям убедился, что:
данная задача может быть решена с помощью экспертной системы;
экспертную систему можно создать предлагаемыми на рынке средствами;
имеется необходимый эксперт в предметной области;
предложенные критерии производительности являются разумными;
затраты и срок их окупаемости приемлемы для заказчика, составляется план разра- ботки, который определяет шаги процесса разработки и необходимые затраты, а также
ожидаемые результаты.
Разработка прототипа
В настоящее время сложилась определенная технология разработки, которая вклю- чает следующие шесть этапов: идентификация, концептуализация, формализация, вы-
полнение, тестирование и опытная эксплуатация.
Прототипная система является усеченной версией экспертной системы, спроектиро- ванной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она также дает возможность инженеру по знаниям привлечь эксперта к актив- ному участию в процессе разработки экспертной системы.
Объем прототипа – несколько десятков правил, фреймов или примеров. Рассмотрим этапы разработки прототипа (рис. 9).
Рис. 9. Этапы разработки экспертной системы
1. Идентификация проблемы – знакомство и обучение членов коллектива раз- работчиков, а также создание неформальной формулировки проблемы. Уточняется зада- ча, планируется ход разработки прототипа ЭС, определяются необходимые ресурсы (время, люди, ЭВМ и т. д.), источники знаний (книги, дополнительные эксперты, мето- дики), имеющиеся аналогичные экспертные системы, цели (распространение опыта, ав- томатизация действий и т. д.), классы решаемых задач. Средняя продолжительность – 1– 2 недели. Важнейшей стадией этого этапа является извлечение знаний, т. е. получение инженером по знаниям наиболее полного из возможных представления о предметной об- ласти и способах принятия решений в ней. В процессе идентификации задачи инженер по знаниям и эксперт работают в тесном контакте. Начальное неформальное описание задачи экспертом используется инженером по знаниям для уточнения терминов и ключе- вых понятий. Эксперт корректирует описание задачи, объясняет, как решать ее и какие рассуждения лежат в основе того или иного решения. После нескольких циклов, уточня- ющих описание, эксперт и инженер по знаниям получают окончательное неформальное описание задачи. На этой стадии происходит перенос компетентности от эксперта к ин- женеру по знаниям с использованием различных методов: анализ текстов, диалоги, экс- пертные игры, лекции, дискуссии, интервью, наблюдения и др. При идентификации це- лей важно отличать цели, ради которых создается ЭС, от задач, которые она должна ре- шать. Примерами возможных целей являются: формализация неформальных знаний экс- пертов; улучшение качества решений, принимаемых экспертом; автоматизация рутинных аспектов работы эксперта (пользователя); тиражирование знаний эксперта. Средняя про- должительность – 1–3 месяца.
2. Структурирование или концептуализация знаний – разработка неформально- го описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной об- ласти. Выявляется структура полученных знаний о предметной области, т. е. определя- ются терминология, список основных понятий и их атрибутов, отношения между поня- тиями, структура входной и выходной информации, стратегия принятия решений, огра- ничения стратегий и т. д. Такое описание называется полем знаний. На данном этапе про- водится содержательный анализ проблемной области, выявляются используемые поня- тия и их взаимосвязи, определяются методы решения задач, определяются особенности задачи: типы доступных данных, исходные и выводимые данные, подзадачи общей зада- чи, применяемые стратегии и гипотезы, виды взаимосвязей между объектами ПО, типы
используемых отношений (иерархия, причина – следствие, часть – целое и т. п.), процес- сы, применяемые в ходе решения, состав знаний, используемых при решении задачи; ти- пы ограничений, накладываемых на процессы, которые применены в ходе решения, со- став знаний, используемых для обоснования решений. Этот этап завершается созданием модели предметной области (ПО), включающей основные концепты и отношения. Сред- няя продолжительность этапа – 2–4 недели.
3. Формализация знаний – разработка базы знаний на языке представления зна- ний, который, с одной стороны, соответствует структуре поля знаний, а с другой – поз- воляет реализовать прототип системы на следующей стадии программной реализации.
Строится формализованное представление концепций предметной области на основе вы- бранного языка представления знаний. На этом этапе используются логические методы (исчисления предикатов первого порядка), продукционные модели (с прямым и обрат- ным выводом), семантические сети, фреймы, объектно-ориентированные языки, осно- ванные на иерархии классов, объектов. Таким образом, все ключевые понятия и отноше- ния выражаются на некотором формальном языке, который либо выбирается из числа
уже существующих, либо создается заново, определяется состав средств и способы пред- ставления декларативных и процедурных знаний, осуществляется это представление и в итоге формируется описание решения задачи ЭС на предложенном (инженером по зна- ниям) формальном языке. Выходом этапа формализации является описание того, как рассматриваемая задача может быть представлена в выбранном или разработанном фор- мализме. Сюда относятся указание способов представления знаний (фреймы, сценарии,
семантические сети и т. д.) и определение способов манипулирования этими знаниями (логический вывод, аналитическая модель, статистическая модель и др.) и интерпретации знаний. Средняя продолжительность – 1–2 месяца.
4. Выполнение (реализация) – разработка программного комплекса, демонстри- рующего жизнеспособность подхода в целом. Цель этого этапа – создание одного или
нескольких прототипов ЭС, решающих требуемые задачи. Чаще всего первый прототип отбрасывается на этапе реализации действующей ЭС. Затем на данном этапе по резуль-
татам тестирования и опытной эксплуатации создается конечный продукт, пригодный для промышленного использования. Разработка прототипа состоит в программировании его компонентов или выборе их из известных инструментальных средств и наполнении базы знаний. Главное в создании прототипа заключается в том, чтобы этот прототип обеспечил проверку адекватности идей, методов и способов представления знаний реша- емым задачам. Создание первого прототипа должно подтвердить, что выбранные методы
решений и способы представления пригодны для успешного решения, по крайней мере, ряда задач из актуальной предметной области, а также продемонстрировать тенденцию к получению высококачественных и эффективных решений для всех задач предметной об-
ласти по мере увеличения объема знаний. После разработки первого прототипа (ЭС-1) круг предлагаемых для решения задач расширяется, и собираются пожелания и замеча- ния, которые должны быть учтены в очередной версии системы (ЭС-2). Осуществляется развитие ЭС-1 путем добавления «дружественного» интерфейса, средств для исследова-
ния базы знаний и цепочек выводов, генерируемых системой, а также средств для сбора замечаний пользователей и средств хранения библиотеки задач, решенных системой. Выполнение экспериментов с расширенной версией ЭС-1, анализ пожеланий и замеча- ний служат отправной точкой для создания второго прототипа (ЭС-2). Процесс разработки ЭС-2 – итеративный. Он может продолжаться от нескольких месяцев до нескольких лет в зависимости от сложности предметной области, гибкости выбранного представления зна-
ний и степени соответствия управляющего механизма решаемым задачам (возможно, по- требуется разработка ЭС-3 и т. д.). При разработке ЭС-2, кроме перечисленных задач, ре- шаются следующие:
анализ функционирования системы при значительном расширении базы знаний;
исследование возможностей системы в решении более широкого круга задач и принятие мер для обеспечения таких возможностей;
анализ мнений пользователей о функционировании ЭС;
разработка системы ввода-вывода, осуществляющей анализ или синтез предложе- ний ограниченного естественного языка, позволяющей взаимодействовать с ЭС-2 в фор-
ме, близкой к форме стандартных учебников для данной области.
Если ЭС-2 успешно прошла этап тестирования, то она может классифицироваться как промышленная экспертная система. Средняя продолжительность – 1–2 месяца.
5. Тестирование – выявление ошибок в подходе реализации прототипа и выра- ботка рекомендаций по доводке системы до промышленного варианта. Оценивается и
проверяется работа программ прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется на удобство и адекватность интерфейса (характер вопросов в диалоге, связность выводимого текста результата и др.), эффектив- ность стратегии управления (порядок перебора, использование нечеткого вывода и др.),
качество проверочных примеров, корректность базы знаний (полнота и непротиворечи- вость правил). В ходе данного этапа производится оценка выбранного способа представ- ления знаний в ЭС в целом. Для этого инженер по знаниям подбирает примеры, обеспе- чивающие проверку всех возможностей разработанной ЭС. Различают следующие ис- точники неудач в работе системы: тестовые примеры, ввод-вывод, правила вывода, управляющие стратегии.
Показательные тестовые примеры являются наиболее очевидной причиной неудач-
ной работы экспертной системы. В худшем случае тестовые примеры могут оказаться вообще вне предметной области, на которую рассчитана экспертная система, однако ча- ще множество тестовых примеров оказывается слишком однородным и не охватывает всю предметную область. Поэтому при подготовке тестовых примеров следует класси- фицировать их по подпроблемам предметной области, выделяя стандартные случаи, определяя границы трудных ситуаций и т. п.
Ввод-вывод характеризуется данными, приобретенными в ходе диалога с экспертом, и заключениями, предъявленными ЭС в ходе объяснений. Методы приобретения данных могут не давать требуемых результатов, так как, например, задавались неправильные во- просы или собрана не вся необходимая информация. Кроме того, вопросы системы могут быть трудными для понимания, многозначными и не соответствующими знаниям поль-
зователя. Ошибки при вводе могут возникать также из-за неудобного для пользователя входного языка. В ряде приложений для пользователя удобен ввод не только в печатной,
но и в графической или звуковой форме. Выходные сообщения (заключения) системы могут оказаться непонятны пользователю (эксперту) по разным причинам. Например, их может быть слишком много или, наоборот, слишком мало. Также причиной ошибок мо- гут являться неудачная организация, упорядоченность заключений или неподходящий пользователю уровень абстракций с непонятной ему лексикой.
Наиболее распространенный источник ошибок в рассуждениях находится в прави-
лах вывода. Важная причина здесь часто кроется в отсутствии учета взаимозависимости сформированных правил. Другая причина заключается в ошибочности, противоречиво- сти и неполноте используемых правил. Если неверна посылка правила, то это может
привести к употреблению правила в неподходящем контексте. Если ошибочно действие правила, то трудно предсказать конечный результат. Правило может быть ошибочно, ес- ли при корректности его условия и действия нарушено соответствие между ними.
Нередко к ошибкам в работе ЭС приводят применяемые управляющие стратегии. Изменение стратегии бывает необходимо, например, если ЭС анализирует сущности в порядке, отличном от «естественного» для эксперта. Последовательность, в которой дан- ные рассматриваются ЭС, не только влияет на эффективность работы системы, но и мо- жет приводить к изменению конечного результата. Так, рассмотрение правила А до пра- вила В способно привести к тому, что правило В всегда будет игнорироваться системой.
Изменение стратегии бывает также необходимо и в случае неэффективной работы экс- пертной системы. Кроме того, недостатки в управляющих стратегиях могут привести к чрезмерно сложным заключениям и объяснениям ЭС.
Критерии оценки экспертной системы зависят от точки зрения. Например, при те- стировании ЭС-1 главным в оценке работы системы является полнота и безошибочность правил вывода. При тестировании промышленной системы превалирует точка зрения
инженера по знаниям, которого в первую очередь интересует вопрос оптимизации пред- ставления и манипулирования знаниями. И, наконец, при тестировании экспертной си- стемы после опытной эксплуатации оценка производится с точки зрения пользователя, заинтересованного в удобстве работы и получения практической пользы. Средняя про- должительность этапа – 1–2 недели.
6. Опытная эксплуатация. На этом этапе проверяется пригодность экспертной
системы для конечного пользователя. Пригодность экспертной системы для пользовате- ля определяется в основном удобством работы с ней и ее полезностью. Под полезностью экспертной системы понимается ее способность в ходе диалога определять потребности пользователя, выявлять и устранять причины неудач в работе, а также удовлетворять указанные потребности пользователя (решать поставленные задачи). В свою очередь, удобство работы с экспертной системой подразумевает естественность взаимодействия с ней (общение в привычном, не утомляющем пользователя виде), гибкость экспертной системы (способность системы настраиваться на различных пользователей, а также учи- тывать изменения в квалификации одного и того же пользователя) и устойчивость си- стемы к ошибкам (способность не выходить из строя при ошибочных действиях неопыт- ного пользователях). В ходе разработки экспертной системы почти всегда осуществляет- ся ее модификация. Выделяют следующие виды модификации системы: переформулиро- вание понятий и требований, переконструирование представления знаний в системе и усовершенствование прототипа.
Развитие прототипа до промышленной ЭС
При неудовлетворительном функционировании прототипа эксперт и инженер по знаниям имеют возможность оценить, что именно будет включено в разработку оконча-
тельного варианта системы. Если первоначально выбранные объекты или свойства ока- зываются неподходящими, их необходимо изменить. Основная работа на данном этапе заключается в существенном расширении базы знаний, т. е. в добавлении большого чис-
ла дополнительных правил, фреймов, узлов семантической сети или других элементов знаний. Эти элементы знаний обычно увеличивают глубину системы, обеспечивая боль- шее число правил для трудно уловимых аспектов отдельных случаев. В то же время экс- перт и инженер по знаниям могут увеличить базу знаний системы, включая правила, управляющие дополнительными подзадачами или дополнительными аспектами эксперт-
ной задачи (метазнания). Переход от прототипа к промышленной ЭС осуществляется следующим образом:
1. Демонстрационный прототип ЭС. Система решает часть задач, демонстрируя жизнеспособность подхода (несколько десятков правил или понятий).
2. Исследовательский прототип ЭС. Система решает большинство задач, но не- устойчива в работе и не полностью проверена (несколько сотен правил или понятий).
3. Действующий прототип ЭС. Система надежно решает все задачи на реаль- ных примерах, но для сложной задачи требует много времени и памяти.
4. Промышленная система. Система обеспечивает высокое качество решений
при минимизации требуемого времени и памяти, переписывается с использованием бо- лее эффективных средств представления знаний.
5. Коммерческая система. Промышленная система, пригодная к продаже, т. е. хорошо документирована и снабжена сервисом.
На этом этапе разработки большинство экспертов узнают достаточно о вводе правил и могут сами вводить в систему новые правила. Таким образом, начинается процесс, во
время которого инженер по знаниям передает право контроля за системой эксперту для уточнения, детальной разработки и обслуживания.
Оценка системы
После завершения этапа разработки промышленной ЭС необходимо провести ее те-
стирование в отношении критериев эффективности. К тестированию широко привлека- ются другие эксперты с целью апробирования работоспособности системы на различных
примерах. Экспертные системы оцениваются для того, чтобы проверить точность работы программы и ее полезность. Оценку можно проводить, исходя из различных критериев, которые сгруппируем следующим образом:
критерии пользователей (понятность и прозрачность работы системы, удобство ин- терфейсов и т. д.);
критерии приглашенных экспертов (оценка советов-решений, предлагаемых си- стемой, сравнение ее с собственными решениями, оценка подсистемы объяснений и т. д.);
критерии коллектива разработчиков (эффективность реализации, производитель- ность, время отклика, дизайн, широта охвата предметной области, непротиворечивость базы знаний, количество тупиковых ситуаций, когда система не может принять решение, анализ чувствительности программы к незначительным изменениям в представлении знаний и т. д.).
Стыковка системы
На этом этапе осуществляются стыковка экспертной системы с другими программ-
ными средствами в среде, в которой она будет работать, и обучение людей, которых она будет обслуживать. Иногда это означает внесение значительных изменений. Такие изме- нения требуют непременного вмешательства инженера по знаниям или какого-либо дру- гого специалиста, который сможет модифицировать систему. Под стыковкой подразуме- вается также разработка связей между экспертной системой и средой, в которой она дей- ствует. Когда ЭС уже готова, инженер по знаниям должен убедиться в том, что эксперты, пользователи и персонал знают, как эксплуатировать и обслуживать ее. После передачи им своего опыта в области информационной технологии инженер по знаниям может полностью предоставить ее в распоряжение пользователей.
Для подтверждения полезности системы важно предоставить каждому из пользова- телей возможность поставить перед ЭС реальные задачи, а затем проследить, как она
выполняет эти задачи. Для того, чтобы система была одобрена, необходимо представить ее как помощника, освобождающего пользователей от обременительных задач, а не как средство их замещения.
Стыковка включает обеспечение связи ЭС с существующими базами данных и дру- гими системами на предприятии, а также улучшение системных факторов, зависящих от времени, чтобы можно было обеспечить ее более эффективную работу и улучшить ха- рактеристики ее технических средств, если система работает в необычной среде.
Поддержка системы
При перекодировании системы на язык, подобный С, повышается ее быстродействие
и увеличивается переносимость, однако гибкость при этом уменьшается. Это приемлемо в том случае, если система сохраняет все знания проблемной области и это знание не бу- дет изменяться в ближайшем будущем. Но если ЭС создана именно из-за того, что про- блемная область изменяется, то необходимо поддерживать систему в ее инструменталь- ной среде разработки.
3.4. ОСОБЕННОСТИ СОВРЕМЕННЫХ ЭКСПЕРТНЫХ СИСТЕМ
Современные экспертные системы обладают рядом особенностей (рис. 10). Экс- пертная система должна демонстрировать компетентность, т. е. достигать в конкретной предметной области того же уровня профессионализма, что и эксперты-люди. Но просто уметь находить хорошие решения еще недостаточно. Настоящие эксперты не только находят хорошие решения, но часто находят их очень быстро, тогда как новичкам для нахождения тех же решений, как правило, требуется намного больше времени. Следова- тельно, ЭС должна быть умелой – она должна применять знания для получения решений эффективно и быстро, используя приемы и ухищрения, какие применяют эксперты- люди, чтобы избежать громоздких или ненужных вычислений.
Для того чтобы по-настоящему подражать поведению эксперта-человека, ЭС должна обладать робастностью, что подразумевает не только глубокое, но и достаточно широ- кое понимание предмета. А этого можно достичь, используя общие знания и методы нахождения решений проблем, чтобы уметь рассуждать, исходя из фундаментальных принципов, в случае некорректных данных или неполных наборов правил. Это один из наименее разработанных методов в современных ЭС, но именно им успешно пользуются эксперты-люди.
Рис. 10. Особенности ЭС, отличающие ее от обычных программ
Глубина ЭС
Экспертная система должна иметь глубокие знания. Это значит, что она способна
работать эффективно в узкой предметной области, содержащей трудные, нетривиальные задачи. Поэтому правила в ЭС с необходимостью должны быть сложными либо в смысле сложности каждого правила, либо в смысле их обилия. Экспертные системы, как прави- ло, работают с предметными областями реального мира, а не с тем, что специалисты в области ИИ называют игрушечными предметными областями. В предметной области ре- ального мира тот, кто решает задачу, применяет фактическую информацию к практиче- ской проблеме и находит решения, которые являются ценными с точки зрения некоторо- го критерия, определяющего соотношение стоимости и эффективности. В игрушечной предметной области либо задача подвергается чрезвычайному упрощению, либо произ- водится нереалистическая адаптация некоторой сложной проблемы реального мира. Тот, кто решает такую проблему, обрабатывает искусственную информацию, которая в целях облегчения решения упрощена и порождает решения, имеющие чисто теоретический ин- терес.
В тех случаях, когда по отношению к сложной задаче или данным о ней сделаны существенные упрощения, полученное решение может оказаться неприменимым в мас- штабах, которые характерны для реальной проблемы. Рекомендации, методы представ- ления знаний, организация знаний, необходимые для применения методов решения задач к этим знаниям, часто связаны с объемом и сложностью пространства поиска, т. е. мно- жества возможных промежуточных и окончательных решений задачи. Если проблема сверхупрощена или нереалистична, то размерность пространства поиска будет, скорее всего, резко уменьшена, и не возникнет проблем с быстродействием и эффективностью, столь характерных для реальных задач. Эта проблема размерности возникает столь есте- ственно и неуловимо, что даже искушенные в ИИ специалисты могут не оценить ее ис- тинные масштабы.
Самосознание ЭС
Экспертные системы имеют знания, позволяющие им рассуждать об их собственных
действиях, и структуру, упрощающую такие рассуждения. Например, если ЭС основана на правилах, то ей легко просмотреть цепочки выводов, которые она порождает, чтобы прийти к решению задачи. Если заданы еще и специальные правила, из которых ясно, что можно сделать с этими цепочками выводов, то можно использовать эти знания для проверки точности, устойчивости и правдоподобия решений задачи и даже построить доводы, оправдывающие или объясняющие процесс рассуждения. Это знание системы о том, как она рассуждает, называется метазнанием, что означает всего лишь знания о зна- ниях.
У большинства ныне существующих ЭС есть так называемый механизм объяснения. Это знания, необходимые для объяснения того, каким образом система пришла к данным решениям. Большинство этих объяснений включают демонстрацию цепочек выводов и доводов, объясняющих, на каком основании было применено каждое правило в цепочке. Возможность проверять собственные процессы рассуждения и объяснять свои действия –
это одно из самых новаторских и важных свойств ЭС. «Самосознание» так важно для ЭС, потому что:
пользователи начинают больше доверять результатам, испытывать большую уве- ренность в системе;
ускоряется развитие системы, так как систему легче отлаживать;
предположения, положенные в основу работы системы, становятся явными, а не подразумеваемыми;
легче предсказывать и выявлять влияние изменений на работу системы.
Умение объяснить – это всего лишь один из аспектов самосознания. В будущем са- мосознание позволит ЭС делать даже больше. Они сами смогут создавать обоснования
отдельных правил путем рассуждения, исходящего из основных принципов, будут при- спосабливать свои объяснения к требованиям пользователя, смогут изменять собствен- ную внутреннюю структуру путем коррекции правил, реорганизации базы знаний и ре- конфигурации системы. Первый шаг в этом направлении – выделить метазнания и сде- лать их явными точно так же, как знания о предметной области выделены и сделаны яв- ными.
Ошибки экспертных систем
Существует одно очень важное отличие ЭС от традиционных программ. Традицион-
ные программы разрабатываются таким образом, чтобы каждый раз порождать правиль- ный результат, но ЭС заведомо создаются так, чтобы вести себя как эксперты, которые, как правило, дают правильные ответы, но иногда способны ошибаться. На первый взгляд
кажется, что в этом отношении традиционные программы имеют явное преимущество. Однако это преимущество мнимое. Традиционные программы для решения сложных за-
дач, напоминающих те, которые подходят для экспертной системы, тоже могут делать ошибки. Но их ошибки чрезвычайно трудно исправлять, поскольку стратегии, эвристики и принципы, лежащие в основе этих программ, не сформулированы явно в их тексте. Следовательно, эти ошибки нелегко определить и исправить. Подобно людям эксперт- ные системы могут ошибаться. Но в отличие от обычных программ они имеют потенци- альную способность учиться на своих ошибках. С помощью компетентных пользовате-
лей можно заставить экспертные системы совершенствовать свое умение решать задачи в ходе практической работы.
Одной из первых успешных экспертных систем является система DENDRAL, разра- ботанная в Стэнфордском университете в середине 1960-х годов для определения топо- логических структур органических молекул. Система выводила молекулярную структуру химических веществ по данным масс-спектрометрии и ядерного магнитного резонанса.
Экспертная система PROSPECTOR разработана в Стэнфордском университете в 1974–1983 годах для оценки геологами потенциальной рудоносности района. Система содержала более 1 000 правил и реализована на INTERLISP. Программа сравнивала наблюдения геологов с моделями разного рода залежей руд. Программа вовлекала геоло- га в диалог для извлечения дополнительной информации. В 1984 году она точно пред-
сказала существование молибденового месторождения, оцененного в многомиллионную сумму. Достаточно много экспертных систем работает в области медицины, биологии, в промышленности, в сельском хозяйстве.
Тема 4 ИНЖЕНЕРИЯ ЗНАНИЙ
4.1. СТРАТЕГИИ ПОЛУЧЕНИЯ ЗНАНИЙ
Инженерия знаний – достаточно молодое направление искусственного интеллекта, появившееся тогда, когда практические разработчики столкнулись с нетривиальными проблемами трудности «добычи» и формализации знаний. Центральным понятием ин- женерии знаний является поле знаний.
Поле знаний – это условное неформальное описание основных понятий и взаимосвя- зей между понятиями предметной области, выявленных из системы знаний эксперта, в виде графа, диаграммы, таблицы или текста.
При формировании поля знаний ключевым вопросом является сам процесс получе-
ния (извлечения) знаний, когда происходит перенос компетентности экспертов на инже- неров по знаниям.
Извлечение знаний (knowledge elicitation) – это процедура взаимодействия эксперта с источником знаний, в результате которой становятся явными процесс рассуждений спе- циалистов при принятии решения и структура их представлений о предметной области.
В настоящее время большинство разработчиков ЭС отмечает, что процесс извлече- ния знаний остается самым узким местом при построении ЭС. При этом им приходится практически самостоятельно разрабатывать методы извлечения, сталкиваясь с такими
трудностями как:
организационные неувязки;
неудачный метод извлечения, не совпадающий со структурой знаний в данной об- ласти;
неадекватная модель для представления знаний;
неумение наладить контакт с экспертом;
терминологический разнобой;
отсутствие целостной системы знаний и др.
Процесс извлечения знаний – это длительная и трудоемкая процедура, в которой инженеру по знаниям, вооруженному специальными знаниями по когнитивной психоло- гии, системному анализу, математической логике и пр., необходимо воссоздать модель предметной области, которой пользуются эксперты для принятия решения.
Часто в целях упрощения разработки ЭС предпринимаются попытки подменить ин- женера по знаниям самим экспертом. Это нежелательно по многим причинам.
Во-первых, большая часть знаний эксперта – это результат многочисленных наслое- ний, ступеней опыта. Цепочка рассуждений эксперта бывает длиннее, чем это требуется для конечного вывода, а это нецелесообразно для применения в ЭС.
Во-вторых, мышление диалогично. Поэтому диалог инженера по знаниям и эксперта
• наиболее естественная форма изучения лабиринтов памяти эксперта, в которых хранят- ся знания, выраженные часто не в форме слов, а в форме наглядных образов. И именно в процессе объяснения инженеру по знаниям эксперт на эти ассоциативные образы надева-
ет четкие словесные ярлыки, т. е. вербализует знания.
В-третьих, эксперту труднее создать модель предметной области вследствие глуби- ны и объема информации, которой он владеет. Отношения и связи предметной области образуют сложную систему, из которой выделить главную структуру иногда доступнее аналитику (инженеру по знаниям).
С развитием интеллектуальных систем появился целый ряд новых понятий.
Приобретение знаний (knowledge acquisition) – процесс наполнения базы знаний экспертом с использованием специализированных программных средств.
Формирование знаний (machine learning) – процесс анализа данных и выявление скрытых закономерностей с использованием специального математического аппарата и программных средств. К задачам формирования знаний, или машинного обучения отно- сятся задачи прогнозирования, идентификации (синтеза) функций, расшифровки языков,
индуктивного вывода и синтеза с дополнительной информацией, распознавания образов.
4.2. ПРОЦЕДУРА ИЗВЛЕЧЕНИЯ ЗНАНИЙ
Процедура извлечения знаний имеет три основных аспекта: психологический, линг- вистический, гносеологический.
Психологический аспект является ведущим, поскольку он определяет успешность и эффективность взаимодействия инженера по знаниям (аналитика) с основным источ-
ником знаний – экспертом-профессионалом. Психологический аспект выделяется еще и
потому, что извлечение знаний происходит чаще всего в процессе непосредственного общения разработчиков системы. А в общении психология является доминантной.
Общение, или коммуникация (от лат. communication – связь), – это междисципли- нарное понятие, обозначающее все формы непосредственных контактов между людьми
• от дружеских до деловых. Оно широко исследуется в психологии, философии, социо- логии, лингвистике и других науках. Существует несколько десятков теорий общения, и все они сходятся на том, что процедура общения является сложной и многоплановой.
необходимо подчеркнуть, что общение – не просто однонаправленный процесс передачи сообщений и не двухтактный обмен порциями сведений, а нерасчлененный процесс цир- куляции информации, т. е. совместный поиск истины.
Таким образом, общение есть процесс выработки новой информации, общей для
общающихся людей и рождающей их общность.
Можно выделить четыре основных уровня общения:
1. Уровень манипулирования, когда один субъект рассматривает другого как средство или помеху по отношению к проекту своей деятельности.
2. Уровень рефлексивной игры, когда в процессе своей деятельности человек учитывает «контропроект» другого субъекта, но не признает за ним самоценность и стремится к «выигрышу», к реализации своего проекта.
3. Уровень правового общения, когда признают право на существование проек- тов деятельности друг друга и пытаются согласовать их хотя бы внешне.
4. Уровень нравственного общения, когда субъекты внутренне принимают об- щий проект взаимной деятельности.
Стремление и умение общаться на высшем, четвертом, уровне может характеризо- вать степень профессионализма инженера по знаниям. Извлечение знаний – это особый
вид общения, который можно отнести к духовно-информационному типу. Общение де- лится на материально-практическое, духовно-информационное, практически-духовное. При этом информационный аспект общения для инженера по знаниям с прагматической точки зрения важнейший.
Лингвистический аспект касается исследований языковых проблем, т. к. язык – это основное средство общения в процессе извлечения знаний. В инженерии знаний выде-
ляют три слоя лингвистических проблем: «общий код», понятийная структура, словарь пользователя.
«Общий код» решает проблему «языковых ножниц» между профессиональной тер- минологией эксперта и обыденной литературной речью инженера по знаниям и включает такие компоненты, как общенаучная терминология, специальные понятия из профессио- нальной литературы, элементы бытового языка, неологизмы, сформированные за время
совместной работы.
Детализация схемы общения позволяет представить средства общения как два пото- ка, в которых особое место занимают языки, на которых говорят аналитик и эксперт. Различие языков и обусловливает «языковый барьер», или «языковые ножницы» в обще- нии инженера по знаниям и эксперта. Изучение и управление процессом разработки ЭС требует применения специального промежуточного языка, необходимого для взаимодей- ствия инженера по знаниям и эксперта.
Понятийная структура – следующий слой лингвистического аспекта проблемы из- влечения знаний. Особенности формирования понятийной структуры обусловлены уста- новленным постулатом когнитивной психологии о взаимосвязи понятий в памяти чело- века и наличии семантической сети, объединяющей отдельные термины во фрагменты, фрагменты в сценарии и т. д. Построение иерархической сети понятий, так называемой
«пирамиды знаний», – важнейшее звено в проектировании интеллектуальных систем.
Большинство специалистов по искусственному интеллекту и когнитивной психоло- гии считают, что основная особенность естественного интеллекта и памяти в частности – это связанность всех понятий в некоторую сеть. Поэтому для разработки базы знаний нужен уже не словарь, а энциклопедия, в которой все термины объяснены со ссылками на другие термины.
Таким образом, лингвистическая работа инженера по знаниям заключается в постро- ении таких связанных фрагментов с помощью «сшивания» терминов. Фактически эта ра-
бота является подготовкой к этапу концептуализации, где эта концептуальная организа- ция памяти приобретает законченный вид.
При тщательной работе аналитика и эксперта в понятийных структурах начинает просматриваться иерархия понятий.
Работа по составлению словаря и понятийной структуры требует лингвистических знаний, компетентного владения терминами и богатого словарного запаса инженера по
знаниям, так как зачастую аналитик вынужден самостоятельно разрабатывать словарь признаков. Чем богаче и выразительнее получается общий код, тем полнее база знаний. Аналитик вынужден все время помнить о трудности передачи образов и представлений. Полезными оказываются свойства многозначности слов естественного языка.
Словарь пользователя. Лингвистические результаты, соотнесенные со слоями обще- го кода и понятийной структуры, направлены на создание адекватной базы знаний. Од- нако часто профессиональный уровень конечного пользователя не позволяет ему приме- нить специальный язык предметной области в полном объеме. Сложными для начинаю- щих разработчиков являются проблемы формирования отдельного словаря для создания
дружественного интерфейса с пользователем экспертной системы. Необходимы специ- альные приемы, увеличивающие «прозрачность» и доступность системы. Для разработки пользовательского интерфейса требуется дополнительная доработка словаря общего кода с поправкой на доступность и «прозрачность» системы. Например, при разработке экс- пертной системы по психодиагностике «Авантест» пришлось разработать два словаря терминов: один для психологов-профессионалов, второй – для неспециалистов. Посколь-
ку результат психодиагностического тестирования всегда интересен испытуемому (непрофессионалу), ему выдается листинг с психологическим заключением на обычном естественном языке без употребления специальных терминов. Надо отметить, что даже профессиональные психологи предпочитали получать тексты на естественном языке.
Гносеологический аспект извлечения знаний объединяет методологические про- блемы получения нового научного знания, поскольку при создании базы знаний эксперт
часто впервые формулирует некоторые закономерности, до того момента составлявшие его личный опыт.
При разработке базы знаний аналитик выстраивает гносеологическую цепочку, ко- торую можно представить в виде «факт – обобщенный факт – эмпирический закон – тео- ретический закон». При этом важны внутренняя согласованность знания, системность,
объективность, историзм. На практике оказывается трудно придерживаться принципов объективности и системности.
В памяти эксперта все понятия увязаны и закономерности установлены, и задача инженера по знаниям – выявить этот каркас умозаключений эксперта. С этой целью применяется ряд операций традиционной логики:
определение;
сравнение и различение;
анализ;
абстрагирование;
обобщение;
классификация;
категоризация;
образование суждений;
умозаключение и т. д.
Методы практического извлечения знаний
Основной принцип деления методов извлечения знаний связан с источником знаний.
Разделение этих групп методов не означает их антагонистичности, обычно инженер по знаниям комбинирует различные методы. Классификация методов извлечения знаний приведена на рис. 11.
Методы контактов инженера по знаниям с экспертом (источником знаний) называют
коммуникативными.
Методы извлечения знаний, основанные на изучении специальных текстов из учеб- ников, монографий, статей, методик и других носителей профессиональных знаний носят название текстологических методов. Среди методов извлечения знаний эта группа явля- ется наименее разработанной.
Извлечение знаний
Коммуникативные методы
Текстологические методы
Пассивные Активные
Анализ
Наблюдение
Групповые
Индивидуальные
учебников
Протокол
«мыслей вслух» Лекции
«Мозговой штурм»
«Круглый стол»
Анкетирование Интервью
Диалог
Анализ литературы
Анализ документов
Ролевые игры
Экспертные игры
Рис. 11. Классификация методов извлечения знаний
Тема 5 СТРУКТУРИРОВАНИЕ ЗНАНИЙ
5.1. ПРОСТЕЙШИЕ МЕТОДЫ СТРУКТУРИРОВАНИЯ
В качестве простейшего подхода к формированию поля знаний предлагается следу- ющий алгоритм:
1. Определение входных Х и выходных Y данных. Этот шаг необходим, так как он определяет направление движения в поле знаний от Х к Y. Кроме того, структура вход- ных и выходных данных существенно влияет на форму и содержание поля знаний.
2. Составление словаря терминов и наборов ключевых слов N. На этом шаге прово-
дится текстуальный анализ всех протоколов сеансов извлечения знаний и выписываются все значимые слова, обозначающие понятия, явления, процессы, предметы, действия, признаки. Важен осмысленный словарь.
3. Выявление объектов и понятий А. Производится «просеивание» словаря N и вы- бор значимых для принятия решения понятий и их признаков. Образуется полный систе- матический набор терминов из какой-либо области знаний.
4. Выявление связей между понятиями. Строится сеть ассоциаций, где связи только намечены, но пока не поименованы.
5. Выявление метапонятий и детализация понятий. Связи, полученные на предыду- щем шаге, позволяют инженеру по знаниям структурировать понятия, выявлять понятия более высокого уровня обобщения (метапонятия) и детализировать на более низком уровне.
6. Построение пирамиды знаний. Под пирамидой знаний понимается иерархическая
лестница понятий, подъем по которой означает углубление понимания и повышение
уровня абстракции (обобщенности) понятий. Количество уровней в пирамиде зависит от особенностей предметной области, профессионализма экспертов и инженеров по знани- ям.
7. Определение отношений. Отношения между понятиями выявляются как внутри каждого из уровней пирамиды, так и между уровнями. Фактически на этом шаге даются имена тем связям, которые обнаруживаются на шагах 4 и 5. Обозначаются причинно- следственные, лингвистические, временные и другие виды отношений.
8. Определение стратегий принятия решений, т. е. выявление цепочек рассуждений, что связывает все сформированные ранее понятия и отношения в динамическую систему
поля знаний. Именно стратегии придают активность знаниям.
Однако на практике при использовании данного алгоритма можно столкнуться с непредвиденными трудностями, связанными с ошибками на стадии извлечения знаний и с особенностями знаний различных предметных областей. Тогда возможно применение других, специальных методов структурирования. При этом на разных шагах возможно использование различных методов.
5.2. СПЕЦИАЛЬНЫЕ МЕТОДЫ СТРУКТУРИРОВАНИЯ
Используя рассмотренный в п. 5.1 алгоритм, инженер по знаниям может испытывать необходимость в применении специальных методов структурирования на разных шагах алгоритма.
Методы выявления объектов, понятий и их атрибутов
Понятие (концепт) – это обобщение предметов некоторого класса по их специфиче-
ским признакам.
Обобщенность является сквозной характеристикой всех когнитивных психических структур. Так, понятие «автомобиль» объединяет множество различных предметов, но
все они имеют четыре колеса, двигатель и массу других деталей, позволяющих перево- зить на них грузы и людей. Существует ряд методов выявления понятий предметной об-
ласти в общем словаре терминов, который составляется на основании сеансов извлече- ния знаний. При этом важно выявление не только самих понятий, но и их признаков. Сложность заключается в том, что для многих понятий практически невозможно одно- значно определить их признаки, т. к. это связано с различными формами репрезентации понятий в памяти человека.
Все методы выявления понятий делятся на традиционные, основанные на математи-
ческом аппарате распознавания образов и их классификации, и на нетрадиционные, ос- нованные на методологии инженерии знаний.
Если первые достаточно хорошо известны, то вторые пока мало освещены в литера-
туре.
Методы выявления связей между понятиями
Концепты не существуют независимо, они включены в общую понятийную структуру
с помощью отношений. Выявление связей между понятиями при разработке баз знаний доставляет инженеру по знаниям немало проблем. То, что знания в памяти представляют
собой некоторые связанные структуры, а не отдельные фрагменты, известно. Тем не менее
основной упор в существующих моделях представления знаний делается на понятия, а связи вводят довольно простые (в основном, причинно-следственные).
В последнее время в теории искусственного интеллекта все больше внимания уделя- ется взаимосвязанности структур знаний. Введено понятие сценария как некоторой
структуры представления знаний. Основу сценария составляют концептуальная органи- зация памяти и некоторые обобщающие структуры (метаструктуры).
Сценарии, в свою очередь, делятся на фрагменты или сцены. Связи между фрагмен- тами – временные или пространственные, внутри фрагмента – самые различные: ситуа- тивные, ассоциативные, функциональные и т. д.
Все методы выявления таких связей можно разделить на две группы:
◦ формальные;
◦ неформальные (основаны на дополнительной работе с экспертом).
Эти методы выявления связей придумывает инженер по знаниям для того, чтобы вынудить эксперта указать явные и неявные связи между понятиями.
После того, как определены связи между понятиями, все понятия как бы распадают-
ся на группы, которые представляют собой метапонятия.
Методы выделения метапонятий и детализация понятий (пирамида знаний)
Процесс образования метапонятий, т. е. интерпретации групп понятий, полученных
на предыдущей стадии, как и обратная процедура – детализация (разукрупнение) поня- тий – операции, не поддающиеся формализации. Они требуют высокой квалификации
экспертов.
Независимо от того, формальными или неформальными методами были выявлены понятия или детали понятий, присвоение имен или интерпретация их – всегда нефор- мальный процесс, в котором инженер по знаниям просит эксперта дать название группе понятий или отдельных признаков.
Это не всегда удается, т. к. формальные методы иногда выделяют «искусственные» концепты, в то время как неформальные – обычно практически используемые и поэтому легко узнаваемые понятия.
Методы построения пирамиды знаний включают использование наглядного матери- ала – рисунков, схем, кубиков. Уровни пирамиды чаще возникают в сознании инженера
по знаниям именно как некоторые образы.
Построение пирамиды знаний может быть основано и на естественной иерархии предметной области, например связанной с организационной структурой предприятия
или с уровнем компетентности специалистов.
5.3. АВТОМАТИЗИРОВАННОЕ ПРИОБРЕТЕНИЕ ЗНАНИЙ
Автоматизированный подход к проблеме извлечения и структурирования знаний называют приобретением знаний (Knowledge acquisition).
Первое поколение таких систем появилось еще в середине 80-х годов – так называе- мые системы приобретения знаний (СПЗ). Это средства наполнения так называемых
«пустых» экспертных систем, из баз знаний которых изъяты знания. Их авторы считали, что прямой диалог эксперта с компьютером через систему приобретения знаний поможет сократить жизненный цикл разработки. Однако опыт создания и внедрения таких систем продемонстрировал несовершенство такого подхода. Основные недостатки: слабая про-
работка методов извлечения и структурирования знаний, жесткость модели представле- ния знаний, встроенной в систему и связанной с привязкой к программной реализации, ограничения на предметную область. Таким образом, схема разработки первого поколе- ния оказалась несостоятельной для промышленного применения.
Второе поколение СПЗ появилось в конце 80-х годов и было ориентировано на более широкий модельный подход с акцентом на предварительном анализе предметной области.
Так, в Европе широкое применение получила методология KADS (Knowledge Acquisition and Documentation Structuring), в основе которой лежит понятие интерпретационной моде- ли, позволяющей процессы извлечения, структурирования и формализации знаний рас- сматривать как «интерпретацию» лингвистических знаний в другие представления и структуры.
KADS-методология
Преобразования знаний согласно KADS осуществляется через стадии проектирова-
ния и спецификацию пяти шагов анализа:
• идентификация;
• концептуализация;
• гносеологический уровень;
• логический уровень;
• уровень анализа выполнения.
Результатом анализа является концептуальная модель экспертизы, состоящая из че- тырех уровней: уровня области, уровня вывода, уровня задачи, стратегического уровня.
Модель затем вводится в пространство проектирования и преобразуется в трехуровне- вую модель проектирования. При решении реальных задач KADS использует библиотеку интерпретационных моделей, описывающих общие экспертные задачи, такие, как диа- гностика, мониторинг, без конкретного наполнения объектами предметной области.
Интерпретационная модель представляет собой концептуальную модель без уровня области. На основании извлеченных лингвистических данных происходят отбор, комби-
нация и вложение верхних уровней модели, т. е. уровней вывода и задачи, которые наполняются конкретными объектами и атрибутами из уровня области и представляют в результате концептуальную модель рассматриваемой задачи. СПЗ второго поколения включают редактор протоколов, редактор системы понятий, редактор концептуальных моделей и библиотекарь.
Редактор протоколов – программное средство, помогающее инженеру по знаниям в проведении анализа знаний о предметной области на лингвистическом уровне. При рабо-
те со знаниями на этом уровне исходным материалом являются тексты (протоколы) – за- писи интервью с экспертом, протоколы «мыслей вслух» и любые другие тексты, полез- ные с точки зрения инженера по знаниям. Редактор протоколов реализован как гипертек- стовая система, обеспечивающая выделение фрагментов в анализируемом тексте, уста- новление связей между фрагментами, группирование фрагментов, аннотирование фраг- ментов. Фрагменты могут иметь любую длину – от отдельного слова до протокола в це-
лом. Фрагменты могут перекрывать друг друга.
Возможны следующие типы связей между фрагментами:
• аннотация (связь между фрагментом протокола и некоторым текстом, введенным инженером знаний для спецификации этого фрагмента);
• член группы (связь между фрагментом и названием – именем группы фрагментов; объединение фрагментов в группу позволяет инженеру по знаниям структурировать протоколы, при этом группа фрагментов получает уникальное имя);
• поименованная связь (связь между двумя фрагментами, имя связи выбирается инженером знаний);
• понятийная связь (поименованная связь между фрагментом и понятием; обычно используется, если фрагмент содержит определение понятий).
Редактор понятий помогает инженеру по знаниям организовывать предметные зна- ния в виде набора понятий и связывающих их отношений. Каждое понятие имеет имя и
может иметь атрибуты. Каждый атрибут может иметь значение. Какие именно атрибуты используются – это определяет инженер по знаниям с учетом специфики предметной об- ласти.
С помощью редактора понятий вводятся произвольные отношения между понятиями и создаются иерархические структуры по тому или иному отношению. Существует единственное отношение, семантика которого встроена в редактор. Если инженер по знаниям устанавливает это отношение между двумя понятиями, то имеет место наследо- вание атрибутов.
Библиотекарь помогает инженеру по знаниям проводить анализ предметных знаний
на эпистемологическом уровне. Основное назначение библиотекаря состоит в том, что- бы помочь инженеру по знаниям выбрать одну или более моделей, подходящих для ис- следуемой проблемной области.
Вначале библиотекарь демонстрирует иерархию типов задач, для которых в библио- теке имеются модели. После того, как пользователь выбрал интересующую его модель, ему демонстрируют ее краткое описание и список атрибутов, включающий следующие
атрибуты: краткое описание, определение, структура задачи, стратегии, знания.
Выбрав атрибут «определение», пользователь сможет увидеть на экране графиче- ское изображение структуры вывода, элементами которой являются источники знаний и метаклассы. Как источники знаний, так и метаклассы имеют свои наборы атрибутов. Инженер по знаниям может просмотреть их, указывая на соответствующий элемент.
Психосемантика
Помимо KADS на разработку СПЗ второго поколения большое влияние оказали ме- тоды смежных наук, в частности психосемантики – одного из молодых направлений прикладной психологии, перспективного инструмента, позволяющего реконструировать семантическое пространство памяти и тем самым моделировать глубинные структуры знаний эксперта.
Уже первые приложения психосемантики в теории искусственного интеллекта поз- волили получить достаточно наглядные результаты. В дальнейшем развитие этих мето-
дов шло по линии разработки удобных пакетов прикладных программ, основанных на методах многомерного шкалирования, факторного анализа, а также специализированных методов обработки репертуарных решеток.
Успехи СПЗ второго поколения позволили значительно расширить рынок эксперт- ных систем. Тем не менее и эти системы не были свободны от недостатков, к важнейшим из которых можно отнести:
несовершенство интерфейса, в результате чего неподготовленные эксперты не спо- собны овладеть системой и отвергают ее;
сложность настройки на конкретную профессиональную языковую среду;
необходимость разработки дорогостоящих лингвистических процессоров для ана- лиза естественно-языковых сообщений и текстов.
CASE-технологии
Третье поколение СПЗ перенесло акцент в проектировании с эксперта на инженера по знаниям. Новые СПЗ – это программные средства для аналитика, более сложные и гибкие, а главное, использующие графические возможности современных рабочих стан- ций и достижения CASE-технологии. Эти системы позволяют не задавать заранее интер- претационную модель, а формировать базу данных динамически.
Существуют различные классификации СПЗ:
по выразительности и мощности инструментальных средств;
по обобщенным характеристикам;
в рамках структурно-функционального подхода;
интегрированная классификация и т. д.
Однако и современные СПЗ не лишены серьезных недостатков, большая часть кото- рых обусловлена отсутствием теоретической концепции проектирования баз знаний.
Анализ современного состояния программных средств приобретения знаний и под- держки деятельности инженера по знаниям позволяет выявить две группы проблем, ха- рактерных для существующих СПЗ:
◦ методологические проблемы;
◦ технологические проблемы.
Методологические проблемы появляются вследствие недоработки теоретического базиса процесса извлечения и структурирования знаний. Даже тщательно проработанная методология KADS страдает громоздкостью и явной избыточностью. Имеют место сле- дующие проблемы:
• размытость критериев выбора подходящей задачи;
• слабая проработанность теоретических аспектов процессов извлечения знаний (философские, лингвистические, психологические, педагогические и др.), а также отсут- ствие обоснованной классификации методов извлечения знаний и разброс терминологии;
• отсутствие единого теоретического базиса процедуры структурирования знаний;
• жесткость моделей представления знаний, заставляющая разработчиков обеднять и урезать реальные знания экспертов;
• несовершенство математического базиса моделей представления знаний;
• эмпиричность процедуры выбора программного инструментария и процесса тести- рования (отсутствие критериев, разрозненные классификации и т. д.).
Технологические проблемы являются естественным следствием методологических.
Наиболее серьезными из них являются:
отсутствие концептуальной целостности и согласованности между отдельными приемами и методами инженерии знаний;
недостаток или отсутствие квалифицированных специалистов в области инжене- рии знаний;
отсутствие технико-экономических показателей оценки эффективности экспертных систем (в России);
практическая недоступность методических материалов по практике проведения се- ансов извлечения знаний;
неполнота и недостаточность имеющихся методов структурирования знаний, от- сутствие классификаций и рекомендаций по выбору подходящего метода;
несмотря на обилие рынка программных средств, недостаток промышленных си- стем поддержки разработки и их узкая направленность (зависимость от платформы, язы-
ка реализации, ограничений предметной области);
жесткость программных средств, их низкая адаптивность, отсутствие индивиду- альной настройки на пользователя и предметную область;
сложность внедрения экспертных систем, обусловленная психологическими про- блемами персонала и неприятием новой технологии решения задач.
Тема 6
НОВЫЕ ТЕНДЕНЦИИ И ПРИКЛАДНЫЕ АСПЕКТЫ СИСТЕМ, ОСНОВАННЫХ НА ЗНАНИЯХ
6.1. СТРУКТУРЫ ЗНАНИЙ И ПСИХОСЕМАНТИКА
Большинство систем приобретения знаний облегчают сложный и трудоемкий про- цесс формирования баз знаний и реализуют прямой диалог с экспертом. Однако выявля- емые таким образом структуры знаний часто отражают лишь поверхностную составля- ющую знаний эксперта, не затрагивая их глубинной структуры. Этим же недостатком обладает большинство методов непосредственного извлечения знаний.
Для извлечения глубинных пластов экспертного знания можно воспользоваться ме- тодами психосемантики – науки, возникшей на стыке когнитивной психологии, психо- лингвистики, психологии восприятия и исследований индивидуального сознания. Психо- семантика исследует структуры сознания через моделирование индивидуальной системы
знаний и выявление тех категориальных структур сознания, которые могут не осозна- ваться.
Семантические пространства
Психосемантика сразу была оценена специалистами в области искусственного ин-
теллекта как перспективный инструмент, позволяющий реконструировать семантическое пространство памяти как психологическую модель глубинной структуры знаний экспер-
та.
Уже первые приложения психосемантики в искусственном интеллекте в середине 80-х годов XX века позволили получить достаточно наглядные результаты. В психологии семантические пространства выступают как модель категориальной структуры индиви- дуального сознания.
При концептуальном анализе знаний структуру семантического пространства экс- перта можно считать основой для формирования поля знаний. При этом отдельные пара-
метры семантического пространства соответствуют различным компонентам поля (раз- мерность пространства соотносится со сложностью поля, выделенные понятийные структуры с метапонятиями, содержательные связи между понятиями и т. д.).
В основе построения семантических пространств лежат статистическая процедура, факторный анализ, многомерное шкалирование или кластерный анализ, позволяющие группировать ряд отдельных признаков описания в более емкие категории-факторы.
Построение семантического пространства включает переход к описанию предмет- ной области на более высоком уровне абстракции, т. е. переход от языка, содержащего большой алфавит признаков описания, к более емкому языку концептуализации, содер-
жащему меньшее число концептов и выступающему своеобразным метаязыком по отно- шению к первому.
В зависимости от опыта и профессиональной компетентности испытуемых (экспер- тов) размерность пространства и расположение в нем первичных понятий может суще-
ственно варьироваться. Эта особенность семантических пространств может быть исполь- зована на стадии контроля в процессах обучения, при тестировании экспертов и пользо- вателей. На основании получаемых методами психосемантики моделей можно проводить контроль знаний.
При анализе индивидуальных семантических пространств выявляются вопросы, ко- торые не усвоены или не уложились в систему. Контроль структуры знаний проводится
на основе сопоставления семантических пространств хороших специалистов и новичков (студентов, слушателей, молодых специалистов). Степень согласованности семантиче- ских пространств (их размерности, признаки и конфигурации понятий) будет определять уровень знаний новичка.
Однако необходимо учитывать, что семантические пространства двух квалифициро- ванных специалистов могут быть разными, так как содержат индивидуальные различия восприятия, отражающие опыт и характер деятельности человека. Поэтому не всегда можно формально сравнивать семантические пространства эксперта и новичка, следует предварительно изучить семантические пространства нескольких специалистов, а затем
производить сравнение.
Проведенные эксперименты позволили выявить одну закономерность. Размерность семантического пространства с повышением уровня профессионализма уменьшается. Этот вывод согласуется с известными положениями когнитивной психологии о том, что процесс познания сопровождается обобщением.
Построение семантического пространства обычно включает три последовательных
шага:
1. Выбор и применение соответствующего метода оценки семантического сход- ства. Этот шаг включает эксперимент с испытуемыми, которым предлагается оценить общность предъявляемых стимульных признаков на некоторой шкале.
2. Построение структуры семантического пространства на основе математиче- ского анализа полученной матрицы сходства. При этом происходит уменьшение числа
исследуемых понятий за счет обобщения и получения генерализованных (ведущих) осей.
3. Индентификация, интерпретация выделенных факторных структур, класте- ров или групп объектов, осей и т. д. На этом шаге необходимо найти смысловые эквива- ленты, языковые «ярлыки» для выделенных структур. Здесь большое значение приобре- тают лингвистическое чутье и профессионализм специалиста, проводящего исследова- ние, и экспертов-испытуемых. Часто к интерпретации привлекают группу экспертов.
Методы многомерного шкалирования
В дальнейшем развитие методов психосемантики шло по линии разработки удобных пакетов прикладных программ, основанных на методах многомерного шкалирования, факторного анализа, а также специализированных методов статистической обработки репертуарных решеток.
Многомерное шкалирование – это математический инструментарий, предназначен- ный для обработки данных с целью представления объектов в виде точек некоторого ко-
ординатного пространства. Многомерное шкалирование представляет собой один из раз- делов прикладной статистики, научной статистики – научной дисциплины, разрабатыва- ющей и систематизирующей понятия, приемы, математические методы и модели, пред-
назначенные для сбора, стандартной записи, систематизации и обработки статистических данных с целью их лаконичного представления, интерпретации и получения научных и практических выводов.
Традиционно многомерное шкалирование используется для решения трех типов за-
дач:
1. Поиск и интерпретация латентных (т. е. скрытых, непосредственно не
наблюдаемых) переменных, объясняющих заданную структуру попарных расстояний (связей, близостей).
2. Верификация геометрической конфигурации системы анализируемых объек- тов в координатном пространстве латентных переменных.
3. Сжатие исходного массива данных с минимальными потерями в их информа- тивности.
Независимо от задачи многомерное шкалирование всегда используется как инстру- мент наглядного представления (визуализации) исходных данных. Многомерное шкали- рование широко применяется в исследованиях по антропологии, педагогике, психологии,
экономике, социологии.
Использование метафор для выявления «скрытых» структур знаний
Большинство методов извлечения знаний ориентировано на верхние, вербальные
или вербализуемые, уровни знания. Необходим косвенный метод, ориентированный на выявление скрытых предпочтений практического опыта или операциональных составля-
ющих опыта. Таким методом может служить метафорический подход:
• метафора работает как фильтр, выделяющий посредством подбора адекватного объ- екта сравнения, определенные свойства основного объекта (того, о котором идет речь). Эти выделяемые свойства имеют существенно операциональный характер, проявляю- щийся на уровне полиморфизма методов, т. к. метафора по самой своей сути исключает
возможность сравнения объектов по их внутренним, объективным свойствам;
• метафора имеет целью скорее не сообщить что-либо о данном объекте (ответить на вопрос «что это?»), а призвать к определенному отношению к нему, указать на некую парадигму, говорящую о том, как следует вести себя по отношению к данному объекту;
• субъективному сдвигу в отношении к основному объекту (например, языку про- граммирования) соответствует также и сдвиг в восприятии объекта сравнения в силу
данной специфики фильтруемых метафорой свойств. Поэтому объект сравнения высту- пает в метафоре не по своему прямому назначению, а как воплощение какого-либо свой- ства.
Тема 7 ЭВОЛЮЦИОННОЕ МОДЕЛИРОВАНИЕ
7.1. ПРЕДПОСЫЛКИ ПОЯВЛЕНИЯ НАПРАВЛЕНИЯ ЭВОЛЮЦИОННОГО МОДЕЛИРОВАНИЯ
Потребность в прогнозе и адекватной оценке последствий осуществляемых челове- ком мероприятий (особенно негативных) приводит к необходимости моделирования ди- намики изменения основных параметров системы, динамики взаимодействия открытой системы с его окружением (ресурсы, потенциал, условия, технологии и т. д.), с которым осуществляется обмен ресурсами в условиях враждебных, конкурентных, кооперативных или же безразличных взаимоотношений.
Здесь необходимы системный подход, эффективные методы и критерии оценки адекватности моделей, которые направлены не только (не столько) на максимизацию
критериев типа «прибыль», «рентабельность», но и на оптимизацию отношений с окру- жающей средой. Если критерии первого типа важны, например, для кратко- и средне- срочного прогнозирования и тактического администрирования, то второго типа – для
средне- и долгосрочного прогноза, для стратегического администрирования.
При этом необходимо выделить и изучить достаточно полную и информативную си- стему параметров исследуемой системы и его окружения, разработать методику введе- ния мер информативности и близости состояний системы. Важно отметить, что при этом некоторые критерии и меры могут часто конфликтовать друг с другом.
Многие социально-экономические системы можно описывать с единых позиций, средствами и методами единой теории – эволюционной. Эволюционные алгоритмы как аналоги процессов, происходящих в живой природе, находят огромное применение в со- временной науке и технике и показывают подчас просто поразительные результаты.
Основные принципы эволюционной теории заложил Чарльз Дарвин в своей работе
«Происхождение видов». Самым важным его выводом был вывод об основной направ- ляющей силе эволюции – ею признавался естественный отбор. Другими словами, выжи- вает сильнейший. Любой эволюционный алгоритм имеет такой шаг, как выделение са- мых сильных (полезных) особей. Вторым, не менее важным выводом Дарвина был вывод
об изменчивости организмов. Аналогом данного закона у всех алгоритмов является шаг генерации новых экземпляров искомых объектов (решений, структур, особей, алгорит- мов). Именно отбор наилучших объектов является ключевой эвристикой всех эволюци- онных методов, позволяющих зачастую уменьшить время поиска решения на несколько порядков по сравнению со случайным поиском. Если попытаться выразить это на есте- ственном языке, то скажем: сложно получить самое лучшее решение, модифицируя пло-
хое. Скорее всего, оно получится из нескольких лучших на данный момент.
При эволюционном моделировании процесс моделирования сложной социально- экономической системы сводится к созданию модели ее эволюции или к поиску допу- стимых состояний системы, к процедуре (алгоритму) отслеживания множества допусти- мых состояний (траекторий). При этом актуализируются такие атрибуты биологической эволюционной динамики, как, например:
сообщество (корпорация, корпоративные объекты, субъекты, окружение);
видовое разнообразие и распределение в экологической нише (типы распределения ресурсов, структура связей в данной корпорации);
экологическая ниша (сфера влияния и функционирования, эволюция на рынке, в бизнесе);
рождаемость и смертность (производство и разрушение);
изменчивость (экономической обстановки, ресурсов);
конкурентные взаимоотношения (рыночные отношения);
память (способность к циклам воспроизводства);
естественный отбор (штрафные и поощрительные меры);
наследственность (производственные циклы и их предыстория);
регуляция (инвестиции);
самоорганизация и стремление системы в процессе эволюции максимизировать контакт с окружением в целях самоорганизации, возврата на траекторию устойчивого
развития и другие.
При исследовании эволюции системы необходима ее декомпозиция на подсистемы с целью обеспечения:
▪ эффективного взаимодействия с окружением;
▪ оптимального обмена определяющими материальными, энергетическими, информационными, организационными ресурсами с подсистемами;
▪ эволюционируемости системы в условиях динамической смены и переупоря-
дочивания целей, структурной активности и сложности системы;
▪ управляемости системы, идентификации управляющей подсистемы и эффек- тивных связей с подсистемами системы, обратной связи.
7.2. ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ
Адекватным средством реализации процедур эволюционного моделирования явля- ются генетические алгоритмы – одно из направлений исследований в области искус- ственного интеллекта, занимающееся созданием упрощенных моделей эволюции живых организмов для решения задач оптимизации. Идея генетических алгоритмов «подсмот- рена» у систем живой природы, у систем, эволюция которых развертывается достаточно быстро.
Генетический алгоритм – это алгоритм, основанный на имитации генетических процедур развития популяции в соответствии с принципами эволюционной динамики.
Согласно теории Дарвина через механизмы генетического наследования потомки
перенимают от своих родителей основные качества. Таким образом, потомки «сильных» биологических особей также будут более приспособленными по сравнению со своими сверстниками. Все это приводит к увеличению доли приспособленных особей в общей массе вида и спустя несколько сотен поколений общая приспособленность вида увели-
чится. Именно эта идея и лежит в основе генетических алгоритмов.
Генетические алгоритмы нашли широкое применение при решении задач оптимиза- ции (многокритериальной), поиска, управления. Генетические алгоритмы имитируют процессы наследования свойств живыми организмами и генерируют последовательности новых хромосом (векторов), содержащие оптимизированные переменные. При этом вы- полняются операции трех видов: селекция, скрещивание и мутация.
На начальной стадии выполнения генетического алгоритма случайным образом инициализируется определенная популяция хромосом (векторов). Размер популяции, как правило, пропорционален количеству оптимизируемых параметров. Слишком малая по- пуляция хромосом приводит к замыканию в неглубоких локальных минимумах. Слиш- ком большое их количество чрезмерно удлиняет вычислительную процедуру и также
может не привести к точке глобального минимума.
Селекция хромосом может основываться на разных принципах. Одним из наиболее распространенных считается принцип элитарности, в соответствии с которым наиболее
приспособленные (в смысле целевой функции) хромосомы сохраняются, а наихудшие
отбраковываются и заменяются вновь созданным потомством, полученным в результате скрещивания пар родителей. Существует огромное множество методов скрещивания, начиная с полностью случайного. При взвешенно-случайном скрещивании учитывается информация о текущем значении целевой функции. Отбор может происходить по прин-
ципу рулетки; при этом площадь сегмента колеса рулетки, сопоставленного конкретной хромосоме, пропорциональна величине ее функции приспособленности, которая являет- ся целевой функцией.
Процесс скрещивания основан на рассечении пары хромосом на две части с после- дующим обменом этих частей в хромосомах родителей (рис. 12). Место рассечения так- же выбирается случайным образом. Количество новых потомков равно количеству от- бракованных в результате селекции (размер популяции остается неизменным). Признает-
ся допустимым перенос в очередное поколение некоторых случайно выбранных хромо- сом вообще без скрещивания.
Рис. 12. Процесс скрещивания
Данные алгоритмы адаптивны, развивают решения, развиваются сами. Особен- ность этих алгоритмов – их успешное использование при решении NP-сложных проблем (проблем, для которых невозможно построить алгоритм с полиномиально возрастающей алгоритмической сложностью).
Последняя генетическая операция – это мутация. При двоичном кодировании мута- ция состоит в инверсии случайно выбранных битов. При кодировании векторов десятич-
ными числами мутация заключается в замене значения какого-либо элемента вектора другим случайно выбранным значением. Мутация обеспечивает защиту как от слишком быстрого завершения алгоритма (в случае выравнивания значений всех хромосом и це- левой функции), так и от представления в какой-либо конкретной позиции всех хромо- сом одного и того же значения. Однако необходимо иметь в виду, что случайные мута- ции приводят к повреждению уже частично приспособленных векторов. Элемент, под- вергаемый мутации, отбирается случайным образом. Доказано, что каждое последующее
поколение, сформированное селекцией, скрещиванием и мутацией, имеет статистически лучшие средние показатели приспособленности (меньшие значения целевой функции).
В качестве окончательного решения принимается наиболее приспособленная хромосо- ма, имеющая минимальное значение целевой функции. Генетический процесс завершается
либо в момент генерации удовлетворяющего нас решения, либо при выполнении макси- мально допустимого количества итераций. При реализации генетического процесса отсле-
живается, как правило, не только минимальное значение целевой функции, но и среднее значение по всей популяции хромосом, а также их вариации. Решение об остановке алго- ритма может приниматься и в случае отсутствия прогресса минимизации, определяемого по изменениям названных характеристик.
В генетических алгоритмах, используемых при разработке интеллектуальных си- стем, применяются процедуры СЕЛЕКЦИЯ, СКРЕЩИВАНИЕ, МУТАЦИЯ и процедура обновления популяции ОБНОВИТЬ (по аналогии с биологическими генетическими алго-
ритмами). С помощью вероятностного оператора (селекции) выбираются два допусти- мых решения (родителя) i1, i2 из выбранной популяции (вызов процедуры СЕЛЕКЦИЯ). По этим родителям строится новое решение (вызов процедуры СКРЕЩИВАНИЕ) и по- лучается новое решение i. Это решение модифицируется (вызов процедуры МУТАЦИЯ). Если f0 < f(i), то f0 = f(i), т. е. обновляется популяция (вызов процедуры ОБНОВИТЬ).
Указанные процедуры определяются с использованием аналогичных процедур жи-
вой природы (на том уровне знаний о них, что мы имеем). Например, процедура СЕ- ЛЕКЦИЯ может из случайных элементов популяции выбирать элемент с наибольшим значением f(i). Процедура СКРЕЩИВАНИЕ (кроссовер) может по векторам i1, i2 строить вектор i, присваивая с вероятностью 0,5 соответствующую координату каждого из этих векторов-родителей. Это самая простая процедура. Используют и более сложные проце- дуры, реализующие более полные аналоги генетических механизмов. Процедура МУ-
ТАЦИЯ также может быть простой или сложной. Например, простая процедура с задава- емой вероятностью для каждого вектора меняет его координаты на противоположные (0 на 1, и наоборот). Процедура ОБНОВИТЬ заключается в обновлении всех элементов по- пуляции в соответствии с указанными процедурами.
Для примера рассмотрим работу банка, которую можно моделировать на основе ге- нетических алгоритмов. С их помощью можно выбирать оптимальные банковские про- центы (вкладов, кредитов) некоторого банка в условиях конкуренции с тем, чтобы при- влечь больше клиентов (средств).
Тот банк, который сможет привлечь больше вкладов, клиентов и средств и вырабо-
тает более привлекательную стратегию поведения (эволюции), выживет в условиях есте- ственного отбора. Филиалы такого банка (гены) будут лучше приспосабливаться и укрепляться в экономической нише, а возможно, и увеличиваться с каждым новым поко- лением. Каждый филиал банка (индивид популяции) может быть оценен мерой его при- способленности. В основе таких мер могут лежать различные критерии, например аналог экономического потенциала – рейтинг надежности банка или соотношение привлечен- ных и собственных средств банка. Такая оценка эквивалентна оценке того, насколько эффективен организм при конкуренции за ресурсы, т. е. его выживаемости, биологиче- скому потенциалу. При этом особи (филиалы) могут приводить к появлению потомства (новых банков, получаемых в результате слияния или распада), сочетающего те или иные (экономические) характеристики родителей. Например, если один банк имел качествен- ную политику кредитования, а другой – эффективную инвестиционную политику, то но- вый банк может приобрести и то, и другое. Наименее приспособленные особи (филиалы) совсем могут исчезнуть в результате эволюции. Таким образом, отрабатывается генети- ческая процедура воспроизводства новых банков (нового поколения), более приспособ- ленных и способных к выживанию в процессе эволюции банковской системы. Эта поли- тика со временем пронизывает всю банковскую «популяцию», обеспечивая достижение цели – появление эффективно работающей, надежной и устойчивой банковской системы.
Приведем соответствующий генетический алгоритм (укрупненный и упрощенный): алг ГЕНЕТИЧЕСКИЙ_АЛГОРИТМ_БАНКОВСКОЙ_СИСТЕМЫ
ввод Начальная структура банка (начальная популяция);
СТРУКТУРА | процедура оценки структуры по приспособлению Стоп:=0 | флаг для завершения эволюционного процесса
нц пока (Стоп=0)
СЕЛЕКЦИЯ | процедура генетического отбора нового поколения нц пока (МЕРА) | цикл воспроизводства с критерием МЕРА
| мерой эффективности банковской системы
РОДИТЕЛИ | процедура выбора двух структур (филиалов)
| объединяемых (скрещиваемых) на новом шаге ОБЪЕДИНЕНИЕ | процедура образования (объединения)
| нового банка (филиала)
ОЦЕНКА | процедура оценки устойчивости нового банка,
| образования (рейтинга, устойчивости)
ВКЛЮЧЕНИЕ | процедура включения (не включения) в новое
| поколение (в банковскую систему)
кц
МУТАЦИЯ | процедура эволюции (мутации) нового поколения
если (ПРОЦЕСС) | проверка функционала завершаемости эволюции
кц кон.
то Стоп:=1
Структуру процедур СЕЛЕКЦИЯ, МЕРА, РОДИТЕЛИ, ОБЪЕДИНЕНИЕ, ОЦЕНКА,
ВКЛЮЧЕНИЕ, МУТАЦИЯ, ПРОЦЕСС не конкретизируем, хотя даже на интуитивном уровне ясно, что в этом алгоритме они играют решающую роль для эволюционного про- цесса. Не менее важен и правильный (эффективный) выбор структуры, а также представ- ления (описания) этой структуры. Часто ее выбирают по аналогии со структурой хромо- сом, например в виде битовых строк. Каждая строка (хромосома) представляет собой
конкатенацию ряда подстрок (генная комбинация). Гены располагаются в различных по- зициях строки (локусах хромосомы). Они могут принимать некоторые значения (аллели), например для битового представления – 0 и 1. Структура данных в генетическом алго- ритме (генотип) отражает генетическую модель особи. Окружающая среда, окружение определяется вектором в пространстве параметров и соответствует термину «фенотип». Мера качества (процедура МЕРА) структуры часто определяется целевой функцией
(приспособленности). Для каждого нового поколения генетический алгоритм осуществ- ляет отбор пропорционально приспособленности (процедура ОТБОР), модификацию (процедуры РОДИТЕЛИ, ОБЪЕДИНЕНИЕ, ВКЛЮЧЕНИЕ) и мутацию (процедура МУ- ТАЦИЯ). Например, в процедуре ОТБОР каждой структуре ставится в соответствие от- ношение ее приспособленности к суммарной приспособленности популяции и затем происходит отбор (с замещением) всех особей для дальнейшей генетической обработки в
соответствии с этой величиной. Размер отбираемой комбинации можно брать пропорци- ональным приспосабливаемости, и поэтому особи (кластеры) с более высокой приспо- собленностью с большей вероятностью будут чаще выбираться, чем особи с низкой при- способленностью. После отбора выбранные особи подвергаются кроссоверу (рекомбина- ции), т. е. разбиваются на пары. Для каждой пары может применяться кроссовер. Неиз-
мененные особи переходят к стадии мутации. Если кроссовер происходит, полученные потомки заменяют собой родителей и переходят к мутации.
Хотя генетические алгоритмы и могут быть использованы для решения задач, кото- рые, видимо, нельзя решать другими методами, они не гарантируют нахождение опти- мального решения (по крайней мере, за приемлемое время; полиномиальные оценки здесь часто неприменимы). Здесь более уместны критерии типа «достаточно хорошо и достаточно быстро». Главное же преимущество в другом: они позволяют решать слож- ные задачи, для которых не разработаны пока устойчивые и приемлемые методы, осо-
бенно на этапе формализации и структурирования системы, в когнитивных системах. Ге- нетические алгоритмы эффективны в комбинации с другими классическими алгоритма- ми, эвристическими процедурами, а также в тех случаях, когда о множестве решений
есть некоторая дополнительная информация, позволяющая настраивать параметры моде- ли, корректировать критерии отбора, эволюции.
Очень важно понять, за счет чего генетический алгоритм на несколько порядков превосходит по быстроте случайный поиск во многих задачах. Дело в том, что большин-
ство систем имеют довольно независимые подсистемы. Вследствие этого при обмене ге- нетическим материалом часто может встретиться ситуация, когда от каждого из родите- лей берутся гены, соответствующие наиболее удачному варианту определенной подси- стемы (остальные «уродцы» постепенно вымирают). Другими словами, генетический ал- горитм позволяет накапливать удачные решения для систем, состоящих из относительно независимых подсистем (таковы большинство современных сложных технических си-
стем и все известные живые организмы). Соответственно, можно предсказать, когда ге- нетический алгоритм скорее всего даст сбой (или, по крайней мере, не покажет особых преимуществ перед другими методами) – в системах, которые сложно разбить на подси- стемы (узлы, модули), а также в случае неудачного порядка расположения генов (рядом расположены параметры, относящиеся к различным подсистемам), при котором пре- имущества обмена генетическим материалом сводятся к нулю.
Тема 8 НЕЙРОННЫЕ СЕТИ
8.1. НЕЙРОННЫЕ СЕТИ КАК НАПРАВЛЕНИЕ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
Нейронные сети – это одно из приоритетных направлений исследований в области искусственного интеллекта, основанное на попытках воспроизвести нервную систему человека, а именно способность нервной системы обучаться и исправлять ошибки, что должно позволить смоделировать, хотя и достаточно грубо, работу человеческого мозга.
В 60–80 годах XX века приоритетным направлением исследований в области искус- ственного интеллекта были экспертные системы, которые хорошо себя зарекомендова- ли, но только в узкоспециализированных областях. Они не оправдали надежд исследова- телей этого направления на то, что все знания могут быть формализованы и что разум можно рассматривать как устройство, обрабатывающее информацию по определенным
правилам. Оказалось, что знания подразделяются на формализуемые и интуитивные. Пример формализуемых знаний – математика, интуитивных – интуитивные знания экс- перта в некоторой конкретной области деятельности. Для создания более универсальных интеллектуальных систем требовался другой подход. Это привело к тому, что исследова- тели искусственного интеллекта обратили внимание на биологические нейронные сети,
которые лежат в основе человеческого мозга.
Нейронная сеть, или нервная система человека, – это сложная сеть структур челове- ка, обеспечивающая взаимосвязанное поведение всех систем организма.
Биологический нейрон – это специальная клетка, которая структурно состоит из яд-
ра, тела клетки и отростков. Одной из ключевых задач нейрона является передача элек- трохимического импульса по всей нейронной сети через доступные связи с другими нейронами. Притом, каждая связь характеризуется некоторой величиной, называемой силой синаптической связи. Эта величина определяет, что произойдет с электрохимиче-
ским импульсом при передаче его другому нейрону: либо он усилится, либо он ослабит- ся, либо останется неизменным.
Биологическая нейронная сеть обладает высокой степенью связности: на один
нейрон может приходиться несколько тысяч связей с другими нейронами. Но это при- близительное значение, и в каждом конкретном случае оно разное. Передача импульсов от одного нейрона к другому порождает определенное возбуждение всей нейронной се- ти. Величина этого возбуждения определяет реакцию нейронной сети на какие-то вход- ные сигналы. Например, встреча человека со старым знакомым может привести к силь- ному возбуждению нейронной сети, если с этим знакомым связаны какие-то яркие и приятные жизненные воспоминания.
В свою очередь, сильное возбуждение нейронной сети может привести к учащению сердцебиения, более частому морганию глаз и другим реакциям. Встреча же с незнако-
мым человеком для нейронной сети пройдет практически незаметной, а значит, и не вы- зовет каких-либо сильных реакций.
На рис. 13. приведена упрощенная модель биологической нейронной сети.
Каждый нейрон состоит из тела клетки, которое содержит ядро. От тела клетки от- ветвляется множество коротких волокон, называемых дендритами. Длинные дендриты называются аксонами. Аксоны растягиваются на большие расстояния, намного превы- шающее то, что показано в масштабе этого рисунка. Обычно аксоны имеют длину 1 см (что превышает в 100 раз диаметр тела клетки), но могут достигать и 1 метра.
Рис. 13. Упрощенная модель биологической нейронной сети
8.2. СВОЙСТВА НЕЙРОННЫХ СЕТЕЙ
Нейронные сети в искусственном интеллекте – это упрощенные модели биологиче- ских нейронных сетей. Структура человеческого мозга сложна, многое в его функциони- ровании пока неизвестно, и поэтому воспроизвести точно деятельность нервной системы пока невозможно.
У нейронных сетей много важных свойств, но ключевое из них – это способность к
обучению. Обучение нейронной сети в первую очередь заключается в изменении «силы» синаптических связей между нейронами. Следующий пример наглядно это демонстриру- ет. В классическом опыте Павлова каждый раз непосредственно перед кормлением соба- ки звонил колокольчик. Собака достаточно быстро научилась ассоциировать звонок ко- локольчика с приемом пищи. Это явилось следствием того, что синаптические связи между участками головного мозга, ответственными за слух и слюнные железы, усили- лись. И в последующем возбуждение нейронной сети звуком колокольчика стало приво- дить к более сильному слюноотделению у собаки.
Нейронные сети – новая модель параллельных и распределенных вычислений, один из основных архитектурных принципов построения машин 6-го поколения. В основу ис- кусственных нейросетей положены следующие черты биологических нейронных сетей, позволяющие им справляться с нерегулярными задачами:
простой обрабатывающий элемент – нейрон;
участие огромного числа нейронов в обработке информации;
каждый нейрон связан с большим числом других (глобальные связи);
изменяющиеся по весу связи между нейронами;
массовый параллелизм обработки информации.
Сети, обладающие этими свойствами, принадлежат к классу коннекционистских мо- делей обработки информации. Основная их черта – использование взвешенных связей
между обрабатывающими элементами как средства запоминания информации.
С коннекционистской точки зрения интуитивные знания не могут быть представле- ны в виде множества лингвистически формализованных правил и должны быть привле- чены совершенно иные стратегии. Основная идея состоит в следующем: для того чтобы реализовать некоторые возможности мозга, необходимо воссоздать его архитектурные особенности. Таким образом, коннекционистская машина, или нейронная сеть, является
высокосвязной сетью простых процессоров (искусственных нейронов), каждый из кото- рых имеет много входов и много выходов.
В биологических нейронах способность к обработке выражается в электрохимиче- ских характеристиках межнейронных соединений (синапсов). В коннекционистских си-
стемах она моделируется заданием силы связи или веса каждому входу. Биологические нейроны взаимодействуют путем передачи электрических импульсов, которые идентич- ны друг другу, а информация заключена в пространственно-временных связях между
ними. Нейроны непрерывно суммируют эффект всех приходящих импульсов. Если ре- зультат суммирования возбуждающий, то генерируется выходной импульс, если тормо- зящий, то выходной импульс не генерируется.
В искусственных нейронных сетях каждый нейрон непрерывно обновляет свое со- стояние порождением значения активации, которая является функцией входных сигналов и внутренних параметров нейрона. Активация используется для генерации выхода через
некоторую сжимающую функцию. Обработка ведется одновременно большим числом элементов, где каждый нейрон связан с большим числом других, поэтому нейронная сеть
устойчива к неисправностям и способна к быстрым вычислениям. Задать нейронную сеть для решения конкретной задачи – значит определить: модель нейрона; топологию связей; вес связей.
Параметры нейрона (веса) настраиваются посредством подачи на входы обучающих
векторов и изменением весов так, чтобы нейрон выдавал требуемые выходные сигналы. Таким образом, нейрон является адаптивной (приспосабливающейся), а не заранее за- программированной системой. Работу нейронной сети целесообразно представлять как эволюцию динамической системы и описывать системой дифференциальных уравнений.
Нейронные сети устойчивы к шумам в сигналах и отказам компонентов (нейронов и синапсов). Отказ компонента не влечет отказа всей нейронной сети в целом, а лишь не- сколько ухудшает ее характеристики.
Характерной особенностью работы нейронных сетей является то, что они способны находить статистические закономерности или особенности в обучающей выборке. Это
позволяет нейронной сети отнести новый входной объект к одному из уже усвоенных се- тью образов либо к новому классу. Типичными приложениями нейронных сетей являют- ся классификация образов и ассоциативная память, восстанавливающая полный образ по частичным данным.
По структуре сети делятся на однослойные и многослойные. К однослойным отно- сятся модель Хопфилда и машина Больцмана. Многослойная сеть имеет входной, выход- ной и скрытые слои. На входной слой подается информация, с выходного снимается ре- зультат обработки, а скрытые слои участвуют в обработке информации.
8.4. ПРОЦЕСС ОБУЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ
В отличие от традиционных средств обработки информации программирование нейронных сетей осуществляется неявно в процессе обучения. Обучение строится сле- дующим образом: существует так называемый задачник, то есть набор примеров с задан- ными ответами, эти примеры предъявляются системе, нейроны получают условие при- мера и преобразуют их. Далее нейроны несколько раз обмениваются преобразованными сигналами и, наконец, выдают ответ в виде набора сигналов. Отклонение от правильного ответа штрафуется. Обучение заключается в минимизации штрафа как неявной функции связей.
Сравним обучение в традиционных вычислительных системах и в нейронных сетях. В традиционных вычислительных системах:
• необходимо точное описание алгоритма (ориентация на обработку символов);
• данные должны быть точными. Аппаратура легко повреждается. Разрушение основ- ных элементов памяти делает машину неисправной;
• каждый обрабатываемый объект явно указан в памяти;
• трудно построить хороший алгоритм восприятия образов и ассоциативной выборки (неясно, например, как мы распознаем рукописные символы, конкретного написания ко- торых раньше не видели).
В нейронной сети:
• способ обработки больше похож на обработку сигналов, вместо программы – набор весов нейронов, вместо программирования – обучение нейронов (настройка весов);
• нейронная сеть устойчива к шумам, искажения данных не влияют существенно на результат (в том числе выход из строя отдельных нейронов);
• обрабатываемые объекты представлены весами нейронов неявно. В результате сеть может работать с объектами, которые ей ранее не встречались, и обобщать результаты обучения.
Нейросеть так же, как и биологический аналог, должна иметь каналы для связи с внеш- ним миром. Одни каналы обеспечивают поступление информации из внешнего мира на нейросеть, другие выводят информацию из нейросети во внешний мир. Поэтому одни нейроны сети рассматривается как входные, другие же – как выходные. Часть нейронов может не сообщаться с внешним миром, а взаимодействовать с входными, выходными и такими же нейронами («скрытые» нейроны).
Существует огромное количество способов соединения нейронов, растущее с увели-
чением числа нейронов в сети. Наиболее часто встречается слоистая архитектура, в кото- рой нейроны располагаются слоями. В слоистых сетях нейроны расположены в несколь- ко слоев (рис. 14). В наиболее общем случае аксоны каждого нейрона одного слоя направлены к нейронам следующего слоя. Таким образом, нейроны первого слоя явля- ются входными (принимающими информацию из внешнего мира), нейроны последнего слоя – выходными (выдающими информацию во внешний мир). Нейроны первого слоя получают входные сигналы, преобразуют их и через точки ветвления передают нейронам второго слоя. Далее срабатывает второй слой и т. д. до k-го слоя, который выдает выход- ные сигналы для интерпретатора и пользователя. Если не оговорено иначе, то каждый выходной сигнал i-го слоя подается на вход всех нейронов i + 1-го. Число нейронов в каждом слое может быть любым и никак заранее не связано с количеством нейронов в других слоях.
Стандартный способ подачи входных сигналов: все нейроны первого слоя получают каждый входной сигнал. Особое распространение получили трехслойные сети, в которых каждый слой имеет свое наименование: первый – входной, второй – скрытый, третий – выходной. Схема трехслойной сети изображена на рис. 15.
Рис. 14 Слоистая сеть с k-слоями
Рис. 15. Трехслойная сеть с шестью нейронами
Другой вид архитектуры – полносвязная, когда каждый нейрон соединен с каждым, в том числе сам с собой. Выходными сигналами сети могут быть все или некоторые вы- ходные сигналы нейронов после нескольких тактов функционирования сети. Все вход- ные сигналы подаются всем нейронам. Пример простейшей нейросети из трех нейронов показан на рис. 16. Сеть имеет 13 синапсов, четыре из которых служат для связи с внеш- ним миром, а остальные соединяют нейроны между собой. Для удобства изображения из каждого нейрона выходит не один, а несколько аксонов, направленных на другие нейро- ны или во внешний мир, что аналогично присоединенным к одному аксону через синап- сы нескольким дендритам.
Слоистые сети являются частными случаями полносвязных. Для построения экс- пертных систем мы выбрали именно полносвязные нейронные сети, исходя из следую- щих соображений. Во-первых, при одинаковом числе нейронов полносвязные сети име- ют большее количество межнейронных связей, что увеличивает информационную ем-
кость сети. Во-вторых, полносвязная архитектура является намного более универсаль- ной, что не требует экспериментов с вариациями схемы соединений для каждой задачи.
В-третьих, в случае эмуляции сети на обычной ЭВМ полносвязные сети обладают серь- езными преимуществами, прежде всего в скорости функционирования и простоте про- граммной реализации без ущерба качеству обучаемости.
Рис. 16. Схема простейшей нейронной сети из трех нейронов
Элементы слоистых и полносвязных сетей могут выбираться по-разному. Существу- ет, впрочем, стандартный выбор – нейрон с адаптивным неоднородным линейным сум- матором на входе. Для полносвязной сети входной сумматор нейрона фактически распа- дается на два: первый вычисляет линейную функцию от входных сигналов сети, второй – линейную функцию от выходных сигналов других нейронов, полученных на предыду- щем шаге. Функция активации нейронов (характеристическая функция) – нелинейный преобразователь, преобразующий выходной сигнал сумматора – может быть одной и той же для всех нейронов сети. В этом случае сеть называют однородной (гомогенной). Если же зависит еще от одного или нескольких параметров, значения которых меняются от нейрона к нейрону, то сеть называют неоднородной (гетерогенной).
Составление сети из нейронов стандартного вида не является обязательным. Слои- стая или полносвязная архитектуры не налагают существенных ограничений на участ- вующие в них элементы. Единственное жесткое требование, предъявляемое архитекту- рой к элементам сети, – это соответствие размерности вектора входных сигналов элемен-
та (она определяется архитектурой) числу его входов.
Если полносвязная сеть функционирует до получения ответа заданное число тактов
k, то ее можно представить как частный случай k-слойной сети, все слои которой одина- ковы и каждый из них соответствует такту функционирования полносвязной сети. Суще- ственное различие между полносвязной и слоистой сетями возникает тогда, когда число тактов функционирования заранее не ограничено – слоистая сеть так работать не может.
Рассмотрим устройство и функционирование отдельного нейрона. Как было отмече- но выше, каждое соединение от нейрона к нейрону называется синапсом. На рис. 17
представлен нейрон с группой синапсов, соединяющих нейрон либо с другими нейрона- ми, либо с внешним миром. Для рассмотрения работы нейрона неважно, приходит ли сигнал к нейрону из внешнего мира или с другого нейрона, и неважно, куда отправляется
сигнал с нейрона. В полносвязных сетях выходной сигнал направляется всем остальным нейронам.
Нейрон состоит из двух функциональных блоков: входного сумматора и собственно нейрона, или преобразователя.
Рис. 17. Схема нейрона
Функционирование нейрона происходит следующим образом. В текущий момент времени через входные синапсы (на рисунке их три) на нейрон направляются сигналы от других нейронов и (или) из внешнего мира. Каждый синапс имеет параметр, называемый весом синапса и представляющий какое-либо число. Сигнал, проходящий через синапс, умножается на вес этого синапса. В зависимости от веса сигнал может быть усилен (мо- дуль веса > 1) или ослаблен (модуль веса < 1) по амплитуде. Сигналы от всех синапсов, ведущих к данному нейрону, принимает сумматор.
Сумматор производит суммирование всех пришедших сигналов и подает на соб- ственно нейрон (преобразователь) одно число – полученную сумму. Величина этого чис-
ла будет зависеть как от величин исходных сигналов, так и от веса синапсов. Нейрон, по-
лучивший это число, преобразует его согласно своей функции, в результате которой по- лучается другое число, и отправляет его по аксону всем остальным нейронам через соот- ветствующие синапсы. Последующие нейроны производят с полученными сигналами та- кие же операции, лишь с тем различием, что, во-первых, веса их синапсов могут быть
уже другими, во-вторых, другие нейроны могут иметь другой вид функции преобразова- ния. В конструируемых нами нейронных сетях все нейроны имеют одну и ту же функ- цию. Эта функция, называемая характеристической, имеет вид:
f (X) = X / (C + |X|), (1)
где X – сигнал, поступаемый с сумматора, C – константа, называемая характеристикой нейрона.
Экспериментальным путем было получено, что оптимальный диапазон характеристики для решения подавляющего большинства задач составляет от 0,1 до 0,8. График характе- ристической функции представлен на рис. 18. Выбор функции такого вида обусловлен
тем, что она гладкая, непрерывная на всем диапазоне переменных X, диапазон значений всегда ограничен.
Рис. 18. График характеристической функции
Иногда встречаются ситуации, когда сеть не может обучаться. Это происходит в том случае, когда на определенном этапе обучения исчерпываются дальнейшие возможности поиска закономерностей между обучающими параметрами и результатами. Простейшая ситуация – когда два примера с совершенно одинаковыми наборами параметров подают- ся сети как принадлежащие различным классам (в классификаторах) или имеющие раз- личное значение ответа (в предикторах). Очевидно, оба этих примера всегда будут попа- дать в одну и ту же точку в пространстве, их невозможно будет отделить друг от друга, и процесс обучения остановится. Программа, управляющая нейронными сетями, сигнали-
зирует об окончании процесса обучения, причем указывает, что дальнейшее обучение невозможно. Задача специалиста, обучающего нейронные сети, – избежать таких ситуа- ций, для чего нужны четкая постановка задачи и тщательный контроль обучающей вы- борки.