Представление знаний

Задачи типа ориентации куба и резрешения многозначности относятся к традиционной для искусственного интеллекта проблеме распознавания. Но в этом научном направлении немало и других проблем. Возникает вопрос: можно ли применять параллельные сетевые модели и для других проблем ИИ, таких, как представление знаний и автоматический логический вывод? Работы с такими моделями только начались, но есть уже первые успехи. Пример работы такого рода иллюстрирует рис. 4.

Рис.4. Связь программы с базой знаний

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

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

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

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

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

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

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

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

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