Главная > Оптика > Оптические вычисления
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

10.3.5. Экспертные системы

Последним из рассматриваемых в данной главе практических применений символьных вычислений являются экспертные системы. Работа таких систем почти полностью основывается на использовании различных процедур обработки символьной информации, что находится в резком противоречии с ранее обсуждавшимися системами. В системах обработки речи, технического зрения и ПЕЯ упор делался на определенные формы преобразования сигнала в символ, что связано с использованием знаний высокого уровня. Во многих случаях применяются процессы поиска знаний и рассуждения. Экспертные системы в дополнение к поиску знаний и проведению рассуждений используют также процесс сбора новых знаний. Несомненно, что успехи в других сферах принесли бы значительную пользу для развития экспертных систем, развивающихся на стыке этих смежных дисциплин.

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

разделах, состоит в потере универсальности системы; до настоящего времени экспертные системы были способны работать лишь в узкоспециализированных областях. Некоторые из этих успешно осуществленных вариантов ранее уже упоминались в данном разделе, а именно: системы, скомпонованные на миникомпьютерах серии VAX и PDP [18], системы интерпретации спектроскопических данных DENDRAL [7], система предназначенная для проведения терапевтической диагностики MYCIN [9]. -

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

В любой экспертной системе имеются три компоненты (рис. 10.23): база знаний, механизм логического вывода и средства обоснования. В процессе экспертизы данные накапливаются в базе знаний, при этом используется один или более типов представления, описанных в части разд. 10.2.2. База знаний может включать в себя элементы эвристики и метазнания. Механизм логического вывода дает экспертной системе возможность проводить рассуждения, позволяя системе группировать

Рис. 10.23. Компоненты экспертной системы.

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

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

«Как ты получила этот вывод?» и получить ответ, показывающий эволюцию процесса рассуждений. Для системы, основанной на правилах, соответствующая реакция на поставленный вопрос могла бы выглядеть как список «запущенных в дело» правил в значительной мере подобно тому, как осуществляется трассировка в программах на Фортране. По мере того как размеры базы знаний увеличиваются и, следовательно, пропорционально растет ожидаемое число запусков правил, эта методика обоснования становится неудовлетворительной. В данном случае требуется такая система, которая могла бы подвести итоги процесса рассуждений, проводимого системой. Такое интерфейсное устройство дало бы особый выигрыш при разработке систем ПЕЯ, облегчая тем самым взаимодействие с экспертными системами, например, за счет использования архитектур рабочей области общего доступа.

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

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

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

Основу экспертной системы составляет база знаний, поскольку, как было установлено, специализированные знания представляют очень важное дополнение к логике. Трудность процесса включения этих знаний в базу знаний является главным сдерживающим фактором даже в очень узких проблемных областях. Средства диалогового накопления знаний, такие как TEIRESIAS [19], доказали на практике свою полезность, позволяя эксперту выразить знания в формах, совместимых с базой знаний. Более сложные системы могут быть построены таким образом, что они сами будут способны выводить правила на основе представленных данных, как это было сделано в случае с MetaDendral [20]. Еще более успешно удается создавать системы, которые могут обучиться управлять своими собственными стратегиями поиска, т. е. обучиться эвристическим методам, как это было в случае с EURISKO [21] и ACT {22]. Однако сами принципы обучения и адаптации до сих пор разработаны слабо, и в настоящее время большинство экспертных систем не являются обучающимися. Скорее они используют предварительно накопленные знания вместо обучения при

решении задач на основе неудач и исправленных ошибок. Создание самообучающихся систем в том виде, как это описано в разд. 10.2 может значительно уменьшить время и усилия, затрачиваемые на разработку систем, основанных на знаниях.

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

Выяснив основные принципы работы экспертных систем, можно подробнее обсудить их возможности. Авторы [10] в своем руководстве по экспертным системам идентифицировали десять областей применения таких систем. Эти десять задач, показанные на рис. 10.24, предполагают, что экспертные системы пригодны для использования во всевозможных случаях принятий решений, от конструирования лазеров (в рамках заданных ограничений) до выделения источников поломок в оптических системах.

Рассмотрим подробнее п. 3 на рис. 10.24. Авторам кажется, что рассмотрение такого произвольно выбранного примера будет полезно для наглядного описания принципов работы экспертных систем, а также иллюстрирует идеи, обсуждаемые в предыдущих разделах.

В целях рассмотрения данного примера обратимся к системе, состоящей из лазера, узкополосного фильтра, нелинейного оптического устройства, фотодетектора и набора линз; схема этой системы показана на рис. 10.25.

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

соответствующий точной длине волны лазера, так что любые изменения в спектре выходного луча лазера приведут к уменьшению интенсивности света, проходящего через фильтр. Прошедший через фильтр свет затем пропускается через некоторое нелинейное оптическое устройство и выходной сигнал попадает на фотодетектор. Используя для описания данной системы последовательность фреймов на наиболее простом уровне, выделим в базе знаний элементы, показанные на рис. 10.26.

Путь, который проходит свет в системе, представлен словами От: и До:, указывающими на связи между различными фреймами в семантической сети. Изменения свойств света при его прохождении через систему представляются изменениями в конечном слове Выход:. Наконец признак Вход: накапливает знания о луче лазера, проходящем в системе. Предположим, что выходной сигнал детектора спадает до нуля (( = Ток НУЛЬ) в языке Лисп) и перед пользователем возникает задача диагностики причин неисправности; экспертная система должна помочь ему в этом.

В приведенном примере система могла бы выполнять процедуры одним или двумя способами, работая либо по нисходящей

Рис. 10.24. Применение экспертных систем.

Рис. 10.25. Прототип оптической системы, использованной в приведенном примере экспертной системы.

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

Именно в этом месте в задачу может быть введена экспертиза, поскольку система может «знать», что:

Правило 1. Если выходной сигнал фотодетектора уменьшается до нуля, то фотодетектор не исправен.

Правило 2. Если в системе имеется нелинейное оптическое устройство, то его выходной сигнал чувствителен к правильности юстировки.

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

Система: «Является ли входной сигнал Устройство равным Лазерное, излучение?».

Рис. 10.26. Представление в виде фреймов оптической системы, приведенной на рис. 10.25.

Пользователь: «Да».

Располагая этой дополнительной информацией, система сделает заключение, что фактически причина поломки связана с устройством.

Для другой парадигмы система может предположить, что не исправен лазер и описать неисправность следующим образом. Если отсутствует Лазерное, излучение от Лазер, тогда отсутствует Лазерное, излучение на Линза. 1.

Линза. Вход нуль;

Если Вход Нуль, тогда Выход Нуль;

Если отсутствует Лазерное, излучение от Линза. 1, тогда Лазерное, излучение не попадает в Фильтр; и т. д. ...

Наконец, завершая:

Если отсутствует Лазерное, излучение от Лазер, тогда на Фотодетектор не попадает Лазерное, излучение;

Если Вход Фотодетектор Нуль, тогда Выход Фотодетектор Нуль.

Выработав гипотезу, что лазер имеет дефект, система могла бы ее проверить, спрашивая пользователя:

Система: Является ли выходной сигнал от Лазер к настоящему моменту времени равным Лазерное, излучение? (Соответствует ли Лазер: Выход Лазерное, излучение?)

Если ответ положителен, то дефектными являются какие-то другие компоненты, стоящие на пути луча. Тогда система может предположить, что неисправен другой компонент, и продолжить процесс диагностики.

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

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

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

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

Правило 1: Если выходной сигнал детектора спадает до нуля, то обычно детектор неисправен.

Правило 2: Если в схеме имеется нелинейное оптическое устройство, то выходные сигналы устройства чувствительны к юстировке (установке оптических осей).

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

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

Отметим также, что если бы можно было бы расширить область экспертизы, то все равно в обработке знаний существует ряд «узких мест», которые ограничивают производительность экспертных систем величинами, составляющими от 10 до 1000 логических заключений в секунду. Для сравнения заметим, что это приблизительно соответствует быстродействию от 1 до 100 Мегафлоп (операций с плавающей запятой) в цифровых вычислениях. Данный предел не является следствием только проблем аппаратного обеспечения; многое зависит от того, как программные средства организуют процессы поиска знаний и обоснования. Еще один аспект исследований экспертных систем заключается в нахождении эффективных способов разбиения на модули тех процедур, назначение которых накапливать и обрабатывать знания. В настоящее время фактически не существует способов разделения или разбиения на модули различных компонентов экспертных систем — средства обоснования и интерфейсы пользователя совместно используют одну и ту же память с базой знаний и механизмом вывода. Организуя, отслеживая и направляя все эти знания в монопроцессор, тем самым сильно ограничивают скорость, с которой могут выполняться символьные вычисления. Это является типичным примером ограниченности архитектуры фон Неймана, который будет обсуждаться в следующем разделе.

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

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

Другое обстоятельство, заслуживающее внимания в связи с обсуждением указанного комплекса проблем, состоит в том,

(кликните для просмотра скана)

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

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

Согласно полученным оценкам, для того чтобы преодолеть существующие проблемы в системах ИИ, скорость вычислений в символьных компьютерах должна быть увеличена на несколько порядков по сравнению с уже достигнутой [23]. В то время как для решения этой задачи изучаются системы с высокой степенью параллелизма, ограниченность нашего современного понимания этой проблемы убеждает в том, что параллелизм сам по себе, в одиночку, не может обеспечить необходимого увеличения быстродействия. Использование альтернативных систем, таких как оптические вычислительные системы, может оказаться весьма перспективным, если соответствующие схемы кодирования данных и операций удастся реализовать оптическими методами.

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

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

<< Предыдущий параграф Следующий параграф >>
Оглавление