Обзор существующих методов представления знаний - Искусственный интеллект

Самой простой и очевидной моделью представления знаний является продукционная модель. Она основана на правилах вида "ЕСЛИ (условие), ТО (действие)". Условием является проверка одной или нескольких независимых переменных [5]. Чаще всего такие модели используются в экспертных системах. Сравнивая факты, полученные из внешней среды, такая система может заносить в свою память новые правила. Применяя алгоритм вывода, система может строить гипотезы и заключения. Недостатки этой модели кроются в ее простоте: знания связаны неясным образом, практически невозможно оценить целостную картину знаний и выделить отдельные логически-связные части. Такая система, по сравнению с другими, обрабатывает знания гораздо менее эффективнее.

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

Формальная система S определяется как кортеж

Где

T - алфавит теории (конечное множество базовых символов);

F - перечислимое множество формул, построенных из элементов T с использованием некоторого набора синтаксических правил;

A - множество формул, называемых аксиомами;

R - конечное множество правил вывода.

Правило вывода - это отношение вида на множестве F. При этом формула g называется непосредственно выводимой из множества по правилу ; формулы называются посылками, g - следствием или заключением [10].

Наиболее широкое распространение при моделировании ИИ получила формальная система исчисление предикатов первого порядка. Символами исчисления предикатов являются:

    1. Символы истинности true и false. 2. Символы констант - символьные выражения, начинающиеся с символа нижнего регистра. 3. Символы переменных - символьные выражения, начинающиеся с символа верхнего регистра. 4. Функциональные символы - это символьные выражения, начинающиеся с символа нижнего регистра. С функциями связывается арность, указывающая на число их аргументов.

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

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

Символы в исчислении предикатов также могут представлять предикаты. Они начинаются с буквы нижнего регистра и представляют собой n-арную формулу, возвращающую либо символ true, либо символ false. Если терм обозначает объекты и свойства ("кошка", "синий"), то предикат - отношения между несколькими объектами ("раскрашен(кошка, синий)") [6].

Недостатки исчисления предикатов заключаются в сложности описания ими непрерывных и неоднозначных явлений.

Для представления знаний одним из широко используемых инструментов являются графы. Рассматривается множество V, состоящее из соединенных некоторым образом точек. Назовем V множеством вершин и элементы - вершинами. Граф

С множеством вершин V есть некоторое семейство сочетаний или пар вида

Указывающих, какие вершины считаются соединенными. Такие пары называется ребрами. Если ребра являются неупорядоченными парами, то такое ребро называется неориентированным ребром; иначе ребро называется ориентированным. Граф называется ориентированным, если каждое его ребро ориентировано, и неориентированным, если каждое его ребро является неориентированным [12].

В психологии графы используются для построения модели долговременной памяти человека. В общем виде в таких графах каждая вершина представляет собой некоторую сущность, а дуги между ними являются ассоциациями. В модели Куиллиана "Обучаемая система, понимающая язык" каждая такая сущность может принадлежать к одному из двух типов - элементу (структура, которая соответствует объекту, событию или идее) или свойству (сообщающую некоторую информацию об элементе), ассоциации между ними называются "стрелками" и связывают элементы друг с другом и с принадлежащими им свойствами [Клацки]. Андерсон и Боуэр разработали модель "Ассоциативная память человека", в которой ассоциации делятся на несколько типов, в отличие от модели Куиллиана [Клацки]. Сэлз использовал графы для представления иерархии понятий и наследования свойств и разработал теорию схематического упреждения, которая повлияла на работы по фреймам и схемам в ИИ. Такие теории, которые определяются значение объекта в терминах сети ассоциаций с другими объектами, называются ассоционистскими теориями. [6]

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

Одной из первых моделей представления знаний являются семантические сети, которой, по сути, является модель Куиллиана. Семантическая сеть представляет знания в виде графа, узлы которого соответствуют фактам или понятиям, а дуги - отношениям или ассоциациям между понятиями. Как узлы, так и связи обычно имеют метки. [6]

Разделяют шесть видов семантических сетей, которые отличаются главным образом именами узлов, связей и выводами, которые можно делать в этих структурах [13]:

    1. Definitional networks акцентированы на отношении "является чем-то" между некоторым типом и его подтипом. Такая сеть позволяет строить иерархии типов, поддерживая свойство наследия, т. е. копирования свойств супертипа его подтипами. Информация в таких сетях считается истинной по умолчанию. 2. Assertional networks - это сети для утверждения предположений. Информация в таких сетях считается правдивой, пока на ней не висит специальная метка "ложь". 3. Implicational networks используют отношение "следствие" как основное отношение между вершинами сети. Такие сети могут быть использованы для представления причин или выводов. 4. Executable networks включают в себя специальные механизмы, такие как передача меток или выполнение некоторых процедур, которые могут выполнять логический вывод или искать образы и ассоциации. 5. Learning networks - это сети с возможностью изменять свою структуру в зависимости от новой информации, поступившей в них. 6. Hybrid networks комбинируют в себе две или более семантические сети, которые взаимодополняют и взаимодействуют друг с другом.

Дальнейшее развитие семантические сети получили в виде теории фреймов и концептуальных графов.

Фрейм является способом представления знаний, который был разработан М. Минским. Основная идея фрейма заключается в следующем: когда агент попадает в новую ситуацию (или изменяет текущую так, что она становится новой), он загружает из памяти структуру, которая называется фреймом. Фрейм - это структура данных, представляющая собой некоторую обобщенную или стереотипную ситуацию, понятие, объект, категорию или иную сущность, которая обладает атрибутами и связана отношениями с другими фреймами. Каждому фрейму соответствует некоторая информация о том, как использовать этот фрейм, что ожидать на следующем шаге и что делать в случае, если ожидания не выполняются. [11] Фреймы - это схема представления знаний, ориентированная на включение в строго организованные структуры данных неявных (подразумеваемых) информационных связях, существующих в предметной области. Это представление поддерживает организацию знаний в более сложные единицы, которые отображают структуру объектов этой области. [6] Фактически, по своей структуре фрейм представляет собой набор ячеек, каждая из которых содержит специальную информацию. Ячейки бывают следующих видов в зависимости от хранимой информации:

    1. Данные для идентификации фрейма. 2. Взаимосвязь этого фрейма с другими фреймами. Фрейм "улитка" может быть подтипом для фрейма "Gastropoda", который, в свою очередь, может служить подтипом фрейма "Mollusca". 3. Набор требований для фрейма, которые используются для определения соответствия новых объектов стереотипу данного фрейма. К примеру, улитка должна иметь раковину. 4. Набор процедур, используемых в заданных случаях. 5. Значения ячеек, определенные по умолчанию. 6. Информация для нового экземпляра. Некоторые ячейки могут оставаться незаполненными до того, пока не понадобиться определить информацию в них для отдельного экземпляра или решения некоторой задачи.

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

Хотя фреймы, подобно логическим и сетевым представлениям, являются мощным средством, многие проблемы организации сложных баз знаний все же должны решаться на основе опыта и интуиции программиста. [6] Фреймы являются очень обобщенным инструментом, и каждая задача требует от программиста своей реализации фреймов, учитывая специфику решаемой проблемы.

Концептуальные графы, разработанные Дж. Ф. Сова в качестве инструмента запросов на естественном языке к базам данных [14] -- это конечный, связанный, двудольный граф. Узлы графа представляют понятия (конкретный или абстрактный объект в мире рассуждений), или концептуальные отношения (которые включают одно или несколько понятий). Метки дуг в концептуальных графах не используются. [6] Конкретные объекты - это фактические объекты из окружающего мира (домашняя кошка). В то же время, возможно сформировать некоторый обобщенный образ похожих объектов (абстрактная кошка). Концептуальные отношения описывают отношения, включающие одно или несколько понятий - за счет этого на языке концептуальных графов легко описывать отношения любой арности.

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

Каждое понятие в концептуальном графе относится к какому-либо типу. Множество таких типов можно частично упорядочить с помощью введения операции "?" - операции принадлежности к подтипу. Если s и t - типы и s ? t, то говорят, что t - это подтип s, s - это супертип t.

Над концептуальными графами определены правила, позволяющие выводить новые графы из имеющихся графов. Каждое правило оказывает один из следующих возможных эффектов на логические отношения между исходным графом u и результирующим графом v [14]:

    1. Эквивалентность. Правила копирования и упрощения генерируют граф v, эквивалентный исходному: . Правило копирования позволяет сформировать граф, полностью идентичный исходному. Правило упрощения позволяет сокращать одинаковые отношения, удаляя полные копии отношений вместе с дугами. Эквивалентные графы являются истинными в полностью одинаковых моделях. 2. Специализация. Правила объединения и ограничения создают граф v, который включает в себя исходный: . Правило объединения позволяет интегрировать два графа в один, сливая идентичные узлы в один узел. Правило ограничения позволяет заменить узлы графа узлами, представляющими их специализацию. 3. Обобщение. Правила разделения и расширения формируют граф v, который включает в себя исходный граф: , разделяя граф на подграфы или заменяя узлы графы на их обобщение соответственно.

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

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

Пусть X - некоторое (четкое) множество точек (или объектов). Нечетким множеством в некотором непустом множестве X, что обозначается как, называется множество пар:

Где функция принадлежности нечеткого множества A:

Эта функция приписывает каждому элементу степень его принадлежности к нечеткому множеству A, при этом можно выделить три случая:

    1. означает полную принадлежность элемента x к нечеткому множеству A (). 2. означает отсутствие принадлежность элемента x к нечеткому множеству A (). 3. означает частичную принадлежность элемента x к нечеткому множеству А.

Нечеткое множество А равно нечеткому множеству В, что записывается как А=В, тогда и только тогда, когда

Над нечеткими множествами определен набор операций, позволяющий выводить новые множества.

    1. Пересечением нечетких множеств называется нечеткое множество с функцией принадлежности 2. Алгебраическим произведением нечетких множеств называется нечеткое множество, определенное как 3. Суммой нечетких множеств называется нечеткое множество с функцией принадлежности 4. Дополнением нечеткого множества называется нечеткое множество с функцией принадлежности

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

Нечеткие множества в сочетании с другими моделями представления знаний создают очень интересный и практичный симбиоз, к примеру, нечеткие правила и нейро-нечеткие системы [7], которые оперируют нечеткими множествами и позволяют описывать многозначные процессы уже проработанными инструментами этих моделей в сочетании со спецификой аппарата нечетких множеств.

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

Мозг представляет собой чрезвычайно сложную, нелинейную, параллельную систему обработки информации. Он обладает способностью организовывать свои структурные компоненты, называемые нейронами, так, чтобы они смогли выполнять конкретные задачи (распознавание образов, обработку сигналов чувств, моторные функции) во много раз быстрее, нежели компьютеры. [4] Функционирование каждого нейрона заключается в пропускании нервных импульсов или возбуждений, сгенерированных некоторым внешним источником, вдоль своих отростков. Результатом такого процесса может стать, к примеру, сокращение мышцы или активация следующего нейрона. Тело нейрона называется сомой, из которого выходят два типа отростков: дендриты, по которым поступают входные импульсы, и аксон, по которым нейрон передает выходной импульс. Аксон на своем конце имеет некоторое число синапсов, которые соединяются с дендритами других нейронов, причем такое число связей могут быть огромное: каждый нейрон может принимать и передавать сигналы тысячам других нейронов. Синапсы играют роль репитеров информации, в результате функционирования которых импульс может усиливаться или ослабляться. Поступающие в нейрон сигналы, таким образом, могут оказывать возбуждающее или тормозящее воздействие. Нейрон суммирует все сигналы, и если их алгебраическая сумма превышает некоторое пороговое значение, то сигналы с выхода нейрона пересылается посредством аксона к другим нейронам. [7]

Рассмотрим простейшую модель нейрона. [7] Введем следующие обозначения: - количество входов нейрона; - входные сигналы; - синаптические веса, также называется порогом; - выходной сигнал нейрона; - пороговое значение; - функция активации.

Формула, описывающая функционирование нейрона, имеет следующий вид:

Функция активации может принимать различные формы в зависимости от конкретной модели нейрона. Алгоритм работы нейрона очень простой: каждый входной сигнал перемножается с соответствующим синаптическим весом. Полученные значения суммируются друг с другом и вместе с порогом. В результате возникает сигнал, который передается на вход функции активации. В зависимости от вида этой функции, нейрон посылает некоторое выходное значение другим нейронам. Как правило, это значения 1 и 0 (имеющие смысл "нейрон активирован" и "нейрон не активирован"), но бывают и другие варианты.

Нейроны объединяются в нейронную сеть, выступая в качестве элементарных ячеек обработки информации. Формальное определение нейронной сети следующее [4]: нейронная сеть - это громадный распределенный параллельный процессор, состоящий из элементарных единиц обработки информации, накапливающих экспериментальные знания и предоставляющих их для последующей обработки. Нейронная сеть сходна с мозгом с двух точек зрения:

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

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

схема простой многослойной искусственной нейронной сети

Рис. 1. Схема простой многослойной искусственной нейронной сети

Рисунок простейшей многослойной искусственной нейронной сети. Зеленым обозначен входной слой нейронов, голубым - скрытый слой нейронов, желтым - выходной слой нейронов.

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

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

схема простого агента

Рис. 2. Схема простого агента.

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

Являются: ситуативность, автономность, гибкость и социальность. [6]

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

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

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

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

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

Похожие статьи




Обзор существующих методов представления знаний - Искусственный интеллект

Предыдущая | Следующая