--PAGE_BREAK--
Область применения
-Доказательства теорем;
-Игры;
-Распознавание образов;
-Принятие решений;
-Адаптивное программирование;
-Сочинение машинной музыки;
-Обработка данных на естественном языке;
-Обучающиеся сети (нейросети);
-Вербальные концептуальные обучения.
Планы на будущее в области применения ИИ: В сельском хозяйстве компьютеры должны оберегать посевы от вредителей, подрезать деревья и обеспечивать избирательный уход. В горной промышленности компьютеры призваны работать там, где возникают слишком опасные условия для людей. В сфере производства ВМ должны выполнять различного вида задачи по сборке и техническом контроле. В учреждениях ВМ обязаны заниматься составлением расписаний для коллективов и отдельных людей, делать краткую сводку новостей. В учебных заведениях ВМ должны рассматривать задачи, которые решают студенты, в поисках ошибок, подобно тому как ищутся ошибки в программе, и устранять их. Они должны обеспечивать студентов суперкнигами, хранящимися в памяти вычислительных систем. В больницах ВМ должны помогать ставить диагноз, направлять больных в соответствующие отделения, контролировать ход лечения. В домашнем хозяйстве ВМ должны помогать советами по готовке пищи, закупке продуктов, следить за состоянием пола в квартире и газона в саду. Конечно, в настоящее время ни одна из этих вещей не представляется возможной, но исследования в области ИИ могут способствовать их реализации.
1.3 Построение систем искусственного интеллекта
Существуют различные подходы к построению систем искусственного интеллекта. Это разделение не является историческим, когда одно мнение постепенно сменяет другое, и различные подходы существуют и сейчас. Кроме того, поскольку по-настоящему полных систем искусственного интеллекта в настоящее время нет, то нельзя сказать, что какой-то подход является правильным, а какой-то ошибочным.
Для начала кратко рассмотрим логический подход. Почему он возник? Ведь человек занимается отнюдь не только логическими измышлениями. Это высказывание конечно верно, но именно способность к логическому мышлению очень сильно отличает человека от животных.
Основой для данного логического подхода служит Булева алгебра. Каждый программист знаком с нею и с логическими операторами с тех пор, когда он осваивал оператор IF. Свое дальнейшее развитие Булева алгебра получила в виде исчисления предикатов — в котором она расширена за счет введения предметных символов, отношений между ними, кванторов существования и всеобщности. Практически каждая система искусственного интеллекта, построенная на логическом принципе, представляет собой машину доказательства теорем. При этом исходные данные хранятся в базе данных в виде аксиом, правила логического вывода как отношения между ними. Кроме того, каждая такая машина имеет блок генерации цели, и система вывода пытается доказать данную цель как теорему. Если цель доказана, то трассировка примененных правил позволяет получить цепочку действий, необходимых для реализации поставленной цели. Мощность такой системы определяется возможностями генератора целей и машиной доказательства теорем.
Конечно можно сказать, что выразительности алгебры высказываний не хватит для полноценной реализации искусственного интеллекта, но стоит вспомнить, что основой всех существующих ЭВМ является бит — ячейка памяти, которая может принимать значения только 0 и 1. Таким образом было бы логично предположить, что все, что возможно реализовать на ЭВМ, можно было бы реализовать и в виде логики предикатов. Хотя здесь ничего не говорится о том, за какое время.
Добиться большей выразительности логическому подходу позволяет такое сравнительно новое направление, как нечеткая логика. Основным ее отличием является то, что правдивость высказывания может принимать в ней кроме да/нет (1/0) еще и промежуточные значения — не знаю (0.5), пациент скорее жив, чем мертв (0.75), пациент скорее мертв, чем жив (0.25). Данный подход больше похож на мышление человека, поскольку он на вопросы редко отвечает только да или нет. Хотя правда на экзамене будут приниматься только ответы из разряда классической булевой алгебры.
Для большинства логических методов характерна большая трудоемкость, поскольку во время поиска доказательства возможен полный перебор вариантов. Поэтому данный подход требует эффективной реализации вычислительного процесса, и хорошая работа обычно гарантируется при сравнительно небольшом размере базы данных.
Под структурным подходом мы подразумеваем здесь попытки построения искусственного интеллекта путем моделирования структуры человеческого мозга. Одной из первых таких попыток был перцептрон Френка Розенблатта. Основной моделируемой структурной единицей в перцептронах (как и в большинстве других вариантов моделирования мозга) является нейрон.
Позднее возникли и другие модели, которые в простонародье обычно известны под термином «нейронные сети» (НС). Эти модели различаются по строению отдельных нейронов, по топологии связей между ними и по алгоритмам обучения. Среди наиболее известных сейчас вариантов НС можно назвать НС с обратным распространением ошибки, сети Хопфилда, стохастические нейронные сети.
НС наиболее успешно применяются в задачах распознавания образов, в том числе сильно зашумленных, однако имеются и примеры успешного применения их для построения собственно систем искусственного интеллекта, это уже ранее упоминавшийся ТАИР.
Для моделей, построенных по мотивам человеческого мозга характерна не слишком большая выразительность, легкое распараллеливание алгоритмов, и связанная с этим высокая производительность параллельно реализованных НС. Также для таких сетей характерно одно свойство, которое очень сближает их с человеческим мозгом — нейронные сети работают даже при условии неполной информации об окружающей среде, то есть как и человек, они на вопросы могут отвечать не только «да» и «нет» но и «не знаю точно, но скорее да».
Довольно большое распространение получил и эволюционный подход. При построении систем искусственного интеллекта по данному подходу основное внимание уделяется построению начальной модели, и правилам, по которым она может изменяться (эволюционировать). Причем модель может быть составлена по самым различным методам, это может быть и НС и набор логических правил и любая другая модель. После этого мы включаем компьютер и он, на основании проверки моделей отбирает самые лучшие из них, на основании которых по самым различным правилам генерируются новые модели, из которых опять выбираются самые лучшие и т. д.
В принципе можно сказать, что эволюционных моделей как таковых не существует, существует только эволюционные алгоритмы обучения, но модели, полученные при эволюционном подходе имеют некоторые характерные особенности, что позволяет выделить их в отдельный класс.
Такими особенностями являются перенесение основной работы разработчика с построения модели на алгоритм ее модификации и то, что полученные модели практически не сопутствуют извлечению новых знаний о среде, окружающей систему искусственного интеллекта, то есть она становится как бы вещью в себе.
Еще один широко используемый подход к построению систем искусственного интеллекта — имитационный. Данный подход является классическим для кибернетики с одним из ее базовых понятий — «черным ящиком» (ЧЯ). ЧЯ — устройство, программный модуль или набор данных, информация о внутренней структуре и содержании которых отсутствуют полностью, но известны спецификации входных и выходных данных. Объект, поведение которого имитируется, как раз и представляет собой такой «черный ящик». Нам не важно, что у него и у модели внутри и как он функционирует, главное, чтобы наша модель в аналогичных ситуациях вела себя точно так же.
Таким образом здесь моделируется другое свойство человека — способность копировать то, что делают другие, не вдаваясь в подробности, зачем это нужно. Зачастую эта способность экономит ему массу времени, особенно в начале его жизни.
Основным недостатком имитационного подхода также является низкая информационная способность большинства моделей, построенных с его помощью.
С ЧЯ связана одна очень интересная идея. Кто бы хотел жить вечно? Я думаю, что почти все ответят на этот вопрос «я».
Представим себе, что за нами наблюдает какое-то устройство, которое следит за тем, что в каких ситуациях мы делаем, говорим. Наблюдение идет за величинами, которые поступают к нам на вход (зрение, слух, вкус, тактильные, вестибулярные и т. д.) и за величинами, которые выходят от нас (речь, движение и др.). Таким образом человек выступает здесь как типичный ЧЯ.
Далее это устройство пытается отстроить какую-то модель таким образом, чтобы при определенных сигналах на входе человека, она выдавала на выходе те же данные, что и человек. Если данная затея будет когда-нибудь реализована, то для всех посторонних наблюдателей такая модель будет той же личностью, что и реальный человек. А после его смерти она, будет высказывать те мысли, которые предположительно высказывал бы и смоделированный человек.
Мы можем пойти дальше и скопировать эту модель и получить брата близнеца с точно такими же «мыслями».
Можно сказать, что «это конечно все интересно, но при чем тут я? Ведь эта модель только для других будет являться мной, но внутри ее будет пустота. Копируются только внешние атрибуты, но я после смерти уже не буду думать, мое сознание погаснет (для верующих людей слово „погаснет“ необходимо заменить на „покинет этот мир“) ». Что ж это так. Но попробуем пойти дальше.
Согласно философским представлениям автора данного курса, сознание представляет собой сравнительно небольшую надстройку над нашим подсознанием, которая следит за активностью некоторых центров головного мозга, таких как центр речи, конечной обработки зрительных образов, после чего «возвращает» эти образы на начальные ступени обработки данной информации. При этом происходит повторная обработка этих образов, мы как бы видим и слышим, что думает наш мозг. При этом появляется возможность мысленного моделирования окружающей действительности при нашем «активном» участии в данном процессе. И именно наш процесс наблюдения за деятельностью этих немногих центров является тем, что мы называем сознанием. Если мы «видим» и «слышим» наши мысли, мы в сознании, если нет, то мы находимся в бессознательном состоянии.
Если бы мы смогли смоделировать работу именно этих немногих «сознательных» нервных центров (работа которых правда основана на деятельности всего остального мозга) в качестве одного ЧЯ, и работу «супервизора» в качестве другого ЧЯ, то можно было бы с уверенностью говорить, что «да, данная модель думает, причем так же, как и я». Здесь я ничего не хочу говорить о том, как получить данные о работе этих нервных центров, поскольку на мой взгляд сегодня нет ничего такого, что позволило бы следить за мозгом человека годами и при этом не мешало бы его работе и жизни.
И заканчивая беглое ознакомление с различными методами и подходами к построению систем искусственного интеллекта, хотелось бы отметить, что на практике очень четкой границы между ними нет. Очень часто встречаются смешанные системы, где часть работы выполняется по одному типу, а часть по-другому.
2 РАЗВИТИЕ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
2.1 Знания и модели их представления
Для специалистов в области искусственного интеллекта термин «знания» означает информацию, которая необходима программе, чтобы она вела себя «интеллектуально».
Функционирование средств интеллектуального интерфейса опирается на развитые методы работы со знаниями: их представление, хранение, преобразование и т. п.
Под термином «знания» при этом понимается вся совокупность информации, необходимой для решения задачи, включающая в себя, в том числе информацию о:
-системе понятий предметной области, в которой решаются задачи;
-системе понятий формальных моделей, на основе которых решаются задачи;
-соответствии систем понятий, упомянутых выше;
-текущем состоянии предметной области;
-методах решения задач.
При этом система знаний должна быть организована таким образом, чтобы обеспечить взаимодействие вычислительной системы с пользователем в системе понятий и терминов предметной области.
Что же такое знания и чем они отличаются от данных в системах машинной обработки?
Знания — это целостная и систематизированная совокупность понятий о закономерностях природы, общества и мышления, накопленных человечеством в процессе активной преобразующей производственной деятельности и направленная на дальнейшее познаниеи изменение объективного мира.
Следовательно, интеллектуальная деятельность человека связана с поиском решений в новых, нестандартных ситуациях. Отсюда, задача называется интеллектуальной, если алгоритм ее решения априори неизвестен. При этом задача и ее решение понимаются в самом широком смысле. Решение задачи — это любая деятельность (человека или машины), связанная с выработкой планов и действий, необходимых для достижения определенной цели; выводом новых закономерностей и т. п. Любая интеллектуальная деятельность опирается на знания о предметной области, в которой ставятся и решаются задачи. Предметной областью обычно называют совокупность взаимосвязанных сведений, необходимых и достаточных для решения данной задачи или определенной совокупности задач.
Знания о предметной области включают описания объектов, явлений, фактов, а также отношений между ними.
В общем виде знания в ЭВМ представляются некоторой семиотической (знаковой) системой, в которой выделяются по аналогии с данными три аспекта: синтаксический, семантический и прагматический.
Синтаксис описывает внутреннее устройство знаковой системы, т. е. правила построения и преобразования сложных знаковых выражений. Для естественного языка синтаксис определяет правильное построение предложений и связанного текста.
Семантика определяет отношения между знаками и их свойствами (концептами), т. е. задает смысл или значения конкретных знаков.
Прагматика определяет знак с точки зрения конкретной сферы его применения либо субъекта, использующего данную знаковую систему.
В соответствии с перечисленными аспектами семиотических систем можно выделить три типа знаний: синтаксические, семантические и прагматические.
Синтаксические знания характеризуют синтаксическую структуру описываемого объекта или явления, которая не зависит от смысла и содержания используемых при этом понятий.
Семантические знания содержат информацию, непосредственно связанную со значениями и смыслом описываемых объектов и явлений.
Прагматические знания описывают объекты и явления с точки зрения решаемой задачи, например, с учетом действующих в данной даче специфических критериев.
Трем типам знаний соответствуют и три типа моделей для их представления: синтаксические, семантические и прагматические. Наличие двух последних является наиболее существенным признаком, отличающим интеллектуальные системы от всех других.
Прежде чем перейти к описанию моделей представления знаний, проанализируем особенности знаний, которые собственно и отличают их от данных.
Интерпретируемость. Данные, помещенные в ЭВМ, могут содержательно интерпретироваться лишь соответствующей программой. В отрыве от нее данные не несут никакой содержательной информации. Знания отличаются тем, что возможность содержательной интерпретации всегда присутствует.
Структурированность или наличие классифицирующих отношений. Несмотря на разнообразие форм хранения данных, ни одна из них не обеспечивает возможности компактного описания всех связей между различными типами данных. Информационные единицы знаний должны обладать гибкой структурой, т. е. для них должен выполняться «принцип матрешки» — такой вложимости, когда любую информационную единицу можно включить в состав другой и из каждой информационной единицы можно выделить некоторые ее составляющие. Это позволяет записывать и хранить отдельно информацию, одинаковую для всех элементов множества. При необходимости эту информацию можно автоматически передать описанию любого элемента множества. Такой процесс называется «наследованием» информации.
Наличие ситуативных связей или связность. Они определяют ситуативную совместимость отдельных событий или фактов, хранимых или вводимых в память, а также такие отношения, как одновременность, расположение в одной области пространства, нахождение в состоянии механического или иного взаимодействия и т. п. Ситуативные связи помогают строить процедуры анализа знаний на совместимость, противоречивость и другие, которые трудно реализовать при хранении традиционных массивов данных.
Семантическая метрика. На множестве информационных единиц в некоторых случаях полезно задавать отношение, характеризующее ситуационную близость информационных единиц, т. е. Силу ассоциативной связи между ними. Это отношение можно назвать отношением релевантности для информационных единиц. Такое отношение дает возможность выделять в информационной базе некоторые типовые ситуации. Отношение релевантности при работе с информационными единицами дает возможность находит знания, близкие к уже найденным.
Активность. Все процессы, протекающие в ЭВМ, инициируются командами, которые являются активной компонентой, а данные используются этими командами лишь при необходимости, т. е. последние — пассивная компонента. Такая ситуация, характерная для классических систем обработки информации, для интеллектуальных систем (ИС) неприемлема. По аналогии с человеком в ИС актуализации тех или иных действий способствуют знания, имеющиеся в системе. Таким образом, выполнение программ в ИС должно инициироваться текущим состоянием информационной базы. Появление в базе фактов (объектов выбора) или описаний событий (квалификаторов и их значений), установление связей (правил в продукционных системах) может стать источником активности системы.
Особенности знаний, их назначение и структура, способы хранения и интерпретации вызывают определенные аналогии со способами организации человеческой памяти. Однако человеческая память хранит не только числовые данные, но и образы или символы. Символьные образы в памяти человека объединены в так называемые чанки — наборы фактов и связей между ними, запоминаемые и извлекаемые как единое целое. В каждый момент времени человек может обрабатывать и интерпретировать не более 4-7 чанков. Способность формировать чанки отличает Эксперта в конкретной предметной области от не эксперта. Эксперт, в силу профессиональной необходимости, упорно развивает свою способность объединять в чанки большие объемы данных и устанавливать иерархические связи между ними (т. е. преобразовывать данные в знания) для того, чтобы быстро извлекать эти данные из памяти и с их помощью распознавать новые ситуации по мере поступления информации об этих ситуациях. Средний специалист в конкретной предметной области помнит от 50 000 до 100 000 чанков, которые могут быть использованы для решения той или иной проблемы. Накопление в памяти человека и построение указателей для такого объема данных требует от 10 до 20 лет.
Перечисленные особенности информационных единиц определяют ту грань, за которой данные, превращаются в знания, а базы данных перерастают в базы знаний.
Однако в настоящее время не существует баз знаний, в которых комплексно, в полной мере были бы реализованы внутренняя интерпретируемость, структуризация, связность, введена семантическая мера и обеспечена активность знаний.
Все это предопределяет многообразие моделей представления данных, используемых в интеллектуальных системах, хотя некоторые из них являются производными из существующих.
2.2 Инженерия знаний
Как уже отмечалось, технологию построения экспертных систем часто называют инженерией знаний. Как правило, этот процесс требует специфической формы взаимодействия создателя экспертной системы, которого называют инженером знаний, и одного или нескольких экспертов в некоторой предметной области. Инженер знаний «извлекает» из экспертов процедуры, стратегии, эмпирические правила, которые они используют при решении задач, и встраивает эти знания в экспертную систему. Одной из наиболее сложных проблем, возникающих при создании экспертных систем, является преобразование знаний эксперта и описания, применяемых им способов поиска решений в форму, позволяющую представить их в базе знаний системы, а затем эффективно использовать для решения задач в данной предметной области.
Обычно эксперт не прибегает к процедурным или количественным методам; его основные средства — аналогия, интуиция и абстрагирование. Часто эксперт даже не может объяснить, как именно им было найдено решение. В лучшем случае вы получите от него лишь описание основных приемов или эвристик, которые помогли ему успешно справиться с задачей. На инженера знаний возлагается очень сложная работа по преобразованию этих описаний в строгую, полную и непротиворечивую систему, которая позволяла бы решать прикладные задачи не хуже, чем это сделал бы сам эксперт, поскольку процесс построения базы знаний плохо структурирован и по своей природе является скорее циклическим, чем линейным.
Построение базы знаний включает три этапа:
-описание предметной области;
-выбор модели представления знаний (в случае использования оболочки этот этап исключается);
-приобретение знаний.
Первый шаг при построении базы знаний заключается в выделении предметной области, на решение задач из которой ориентирована экспертная система. По сути, эта работа сводится к очерчиванию инженером знаний границ области применения системы и класса решаемых ею задач. При этом необходимо:
-определить характер решаемых задач;
-выделить объекты предметной области;
-установить связи между объектами;
-выбрать модель представления знаний;
-выявить специфические особенности предметной области.
Инженер знаний должен корректно сформулировать задачу. В то же время он должен уметь распознать, что задача не структурирована, и в этом случае воздержаться от попыток ее формализовать или применить систематические методы решения. Главная цель начального этапа построения базы знаний — определить, как будет выглядеть описание предметной области на различных уровнях абстракции. Экспертная система включает базу знаний, которая создается путем формализации некоторой предметной области, а та, в свою очередь, является результатом абстрагирования определенных сущностей реального мира. продолжение
--PAGE_BREAK--