- •Иллюстрированный самоучитель по экспертным системам
- •Рядовым читателям
- •Студентам и преподавателям
- •Инженерам-программистам
- •Научным работникам
- •Глава 1. Что такое экспертная система?
- •Глава 1.
- •1.1. Смысл экспертного анализа
- •1.2. Характеристики экспертных систем
- •1.3. Базовые функции экспертных систем
- •1.3.1. Приобретение знаний
- •1.1. Забытый пароль
- •1.3.2. Представление знаний
- •1.2. Синтаксис и семантика представления семейных отношений
- •1.3.3. Управление процессом поиска решения
- •1.3. Обслуживание автомобиля
- •1.3.4. Разъяснение принятого решения
- •1.4. Загадка одного портрета
- •1.4. Резюме и структура книги
- •1.4.1. Текущее состояние проблемы
- •1.4.2. Распределение материала книги по главам
- •Рекомендуемая литература
- •Упражнения
- •Глава 2. Обзор исследований в области искусственного интеллекта
- •Глава 2.
- •2.1. Классический период: игры и доказательство теорем
- •2.1.1. Поиск в пространстве состояний
- •2.1. Комбинаторный взрыв
- •2.1.2. Эвристический поиск
- •2.2. Алгоритм а
- •Конец алгоритма
- •2.2. Романтический период: компьютер начинает понимать
- •2.2.1. Система shrdlu
- •2.3. Сценарий посещения ресторана
- •2.2.2. Схемы представления знаний
- •2.4. Летучие мыши и проблема с пингвинами
- •2.3. Период модернизма: технологии и приложения
- •2.3.1. В знании сила
- •2.5. Процедуральное или декларативное знание
- •2.6. Машина логического вывода и база знаний
- •2.3.2. Периоды "зимней спячки" и "пробуждения" в истории искусственного интеллекта
- •Рекомендуемая литература
- •Упражнения
- •Глава 3. Представление знаний
- •Глава 3.
- •3.1. Представление знаний: принципы и методы
- •3.1. Молотки, графины и теоремы
- •3.2. Планировщик strips
- •3.2.1. Таблицы операторов и методика "средство -анализ завершения"
- •3.2.2. Анализ метода представления и управления в strips
- •3.3. Формулировка подцелей в mygin
- •3.3.1. Лечение заболеваний крови
- •3.3.2. База знаний системы mycin
- •3.3.3. Структуры управления в mycin
- •3.2. Комбинация гипотез
- •3.4. Оценка и сравнение характеристик экспертных систем
- •3.4.1. Оценка системы mycin
- •3.4.2. Сравнение mycin и strips
- •Рекомендуемая литература
- •Упражнения
- •Глава 4. Символические вычисления
- •Глава 4.
- •4.1. Символическое представление
- •4.2. Физическая символическая система
- •4.1. Главная гипотеза
- •4.3. Реализация символических структур на языке lisp
- •4.3.1. Структуры данных в языке lisp
- •4.2. Списки и точечные пары
- •4.3.2. Структура lisp-программы
- •4.3. Функции, их вычисление и проблема цитирования в clips
- •4.3.3. Приложение функции и лямбда-исчисление
- •4.3.4. Обработка списков
- •4.4. Примитивы в lisp
- •4.3.5. Сопоставление с образцом
- •4.4. Почему. Lisp не является языком представления знаний
- •4.4.1. Символический уровень и уровень знаний
- •4.4.2. Lisp и разработка программ
- •4.5. Гипотеза Смита
- •4.5. Языки представления знаний
- •Рекомендуемая литература
- •Упражнения
- •Глава 5. Системы, основанные на знаниях
- •Глава 5.
- •5.1. Канонические системы
- •5.1. Смысл порождений
- •5.2. Системы порождающих правил для решения проблем
- •5.2.1. Синтаксис представления правил
- •Листинг 5.1. Оргправило системы mycin, записанное на языке clips
- •Листинг 5.2. Правило, в котором используются переменные
- •5.2.2. Рабочая память
- •Листинг 5.3. Набор правил для проблемы в системе strips
- •5.2. Трассировка программы управления роботом
- •5.3. Управление функционированием интерпретатора
- •5.3.1. Разрешение конфликтов
- •5.3. Разрешение конфликтов в cups
- •5.3.2. Прямая и обратная цепочки рассуждений
- •Листинг 5.4. Набор правил для построения башни из блоков
- •5.4. Трассировка программы строительства башни
- •5.3.3. Правила и метаправила
- •5.5. Свойство выпуклости в clips: пингвины обретают способность летать (или не обретают)
- •Рекомендуемая литература
- •Упражнения
- •Листинг 5.5. Набор диагностических правил заболеваний брюшной полости на языке clips
- •Глава 6. Ассоциативные сети и системы фреймов
- •Глава 6.
- •6.1. Графы, деревья и сети
- •6.2. Ассоциативные сети
- •6.2.1. Разделение видов узлов и когнитивная экономия
- •6.2.2. Анализ адекватности ассоциативных сетей
- •6.3. Представление типовых объектов и ситуаций
- •6.3.1. Основные понятия концепции фреймов
- •6.3.2. Фреймы и графы
- •6.3.3. Значения по умолчанию и демоны
- •6.1. Реализация фреймов и наследования в языке clips
- •6.3.4. Множественное наследование
- •6.3.5. Сравнение сетей и фреймов
- •Рекомендуемая литература
- •Упражнения
- •Глава 7. Объектно-ориентированное программирование
- •Глава 7.
- •7.1. Язык krl
- •7.1. Процедуры и объекты
- •7.2. Языки loops и flavors
- •7.2.1. Передача сообщений
- •7.2. Формирование объекта класса на языке clips
- •7.2.2. Проблема наложения методов
- •7.2.3. Метаклассы
- •7.3. Языки clips и clos
- •7.3.1. Множественное наследование в clos и clips
- •Листинг 7.1. Объявление классов на языке clips
- •7.3.2. Наложение методов в clos и clips
- •7.3. Как сделать людей вежливыми
- •7.3.3. Метаклассы в clos и clips
- •Листинг 7.2. Файл nixon.H. Объявление классов, версия 1
- •Листинг 7.3. Файл nixon.H. Объявление классов, версия 2
- •Листинг 7.4. Файл nixon.H. Объявление классов, версия 3
- •Листинг 7.5. Файл nixon.H. Объявление классов, версия 4
- •7.5. Объектно-ориентированный анализ и конструирование экспертных систем
- •Рекомендуемая литература
- •Упражнения
- •Глава 8. Логическое программирование
- •Глава 8.
- •8.1. Формальные языки
- •8.1.1. Исчисление высказываний
- •8.1.2. Исчисление предикатов
- •8.1. Снова о роботах и комнатах
- •8.2. Язык prolog
- •Листинг 8.1. Простая программа на языке prolog, определяющая отношение on (на)
- •8.3. Опровержение резолюций
- •8.3.1. Принцип резолюций
- •8.3.2. Поиск доказательства в системе резолюций
- •8.4. Процедурная дедукция в системе planner
- •8.5.1. Правила поиска в языке prolog
- •8.5.2. Управление поиском в системе mbase
- •Рекомендуемая литература
- •Упражнения
- •Глава 9. Представление неопределенности знаний и данных
- •Глава 9.
- •9.1. Источники неопределенности
- •9.2. Экспертные системы и теория вероятностей
- •9.2.1. Условная вероятность
- •9.2.2. Коэффициенты уверенности
- •9.2.3. Коэффициенты уверенности и условные вероятности
- •9.3. Сомнительность и возможность
- •9.3.1. Нечеткие множества
- •9.3.2. Нечеткая логика
- •9.3.3. Теория возможности
- •9.4. Неопределенное состояние проблемы неопределенности
- •Рекомендуемая литература
- •Упражнения
- •Глава 10. Приобретение знаний
- •Глава 10.
- •10.1. Теоретический анализ процесса приобретения знаний
- •10.1.1. Стадии приобретения знаний
- •10.1.2. Уровни анализа знаний
- •10.1. Оболочки CommonKads и kastus
- •10.1.3. Онтологический анализ
- •10.2. Оболочки экспертных систем
- •10.2.1. Система emycin
- •10.2.2. Сопровождение и редактирование баз знаний с помощью программы teiresias
- •10.3. Методы приобретения знаний
- •10.3.1. Использование опроса экспертов для извлечения знаний в системе compass
- •10.3.2. Автоматизация процесса извлечения знаний в системе opal
- •10.3.3. Графический интерфейс модели предметной области
- •10.3.4. Эффективность программы opal
- •10.4. Приобретение новых знаний на основе существующих
- •Рекомендуемая литература
- •Упражнения
- •Глава 11. Эвристическая классификация (I)
- •Глава 11.
- •11.1. Классификация задач экспертных систем
- •11.2. Классификация методов решения проблем
- •11.2.1. Эвристическое сопоставление
- •11.2.2. Общность эвристической классификации
- •11.1. Определение понятия "оружие нападения"
- •11.3. Классификация или конструирование?
- •Рекомендуемая литература
- •Упражнения
- •Глава 12. Эвристическая классификация (II)
- •Глава 12.
- •12.1. Инструментальные средства и задачи, решаемые экспертной системой
- •12.2. Эвристическая классификация в системах mud и more
- •12.2.1. Модель предметной области выполнения буровых работ
- •12.1. Диагностические правила в м u d
- •12.2.2. Стратегии приобретения знаний
- •12.2.3. Использование коэффициентов уверенности в программе more
- •12.2.4. Опыт эксплуатации системы more
- •12.3. Совершенствование стратегий
- •12.3.1. Уроки проекта guidon
- •12.3.2. Структура задач в системе neomycin
- •Рекомендуемая литература
- •Упражнения
- •Глава 13. Иерархическое построение и проверка гипотез
- •Глава 13.
- •13.1. Влияние сложности пространства гипотез на организацию работы системы
- •13.1. Обход дерева
- •13.2. Структурированные объекты в centaur
- •13.2.1. Структура фреймов в centaur
- •13.2.2. Правила, включенные в прототипы
- •13.3. Формирование суждений на базе модели в системе internist
- •13.3.1. Представление знаний в дереве заболеваний
- •13.3.2. Методика выделения правдоподобных гипотез в internist
- •13.3.3. Проблемы, обнаруженные в процессе эксплуатации системы internist
- •13.4. Рабочая среда инженерии знаний tde
- •Рекомендуемая литература
- •Упражнения
- •Глава 14. Решение проблем конструирования (I)
- •Глава 14.
- •14.1. Области применения методов конструктивного решения проблем
- •14.2. Система r1/xcon
- •14.2.1. Компоненты и ограничения
- •14.2.2. Использование текущего контекста для управления структурой задачи
- •14.1. Стратегии разрешения конфликтов lex и меа
- •14.2.3. Формирование суждений с учетом ограничений: метод Match
- •14.3. Использование знаний, развитие и расширение системы xcon
- •14.3.1. Извлечение знаний в системе r1/xcon
- •14.3.2. Совершенствование и расширение системы r1/xcon
- •14.2. Совершенствование системы xcon
- •Рекомендуемая литература
- •Упражнения
- •Глава 15. Решение проблем конструирования (II)
- •Глава 15.
- •15.1. Стратегии конструирования
- •15.2. Архитектура систем планирования и метапланирования
- •15.1. Программа планирования мероприятий
- •15.3. Извлечение, представление и применение знаний о проектировании
- •15.3.1. Реализация обратного прослеживания в системе vt
- •15.3.2. Приобретение знаний с помощью системы salt
- •15.4. Итоги анализа систем решения проблем конструирования
- •Рекомендуемая литература
- •Упражнения
- •Глава 16. Средства формирования пояснений
- •Глава 16.
- •16.1. Формирование пояснений на основе знаний
- •16.1.1. Подсистема формирования пояснений в mycin
- •16.1.2. Формирование пояснений в системах, производных от mycin
- •16.1.3. Формирование пояснений на основе фреймов
- •16.1.4. Организация вывода пояснений в системе centaur
- •16.1.5. Использование мультимедийного интерфейса для формирования пояснений
- •16.2. Формирование пояснений и автоматическое программирование
- •16.2.1. Автоматическое программирование в системе xplan
- •16.2.2. Проект Explainable Expert Systems
- •16.2.3. Планирование текстов пояснений и модели пользователей в pea
- •16.3. Перспективы дальнейших исследований методов формирования пояснений
- •Рекомендуемая литература
- •Упражнения
- •Глава 17. Инструментальные средства разработки экспертных систем
- •Глава 17.
- •17.1. Общая характеристика инструментальных средств для построения экспертных систем
- •17.2. Оболочки экспертных систем
- •17.3. Языки программирования высокого уровня
- •17.3.1. Языки описания порождающих правил
- •17.3.2. Объектно-ориентированные языки
- •17.3.3. Языки логического программирования экспертных систем
- •17.3.4. Многофункциональные программные среды
- •17.1. Cups как многофункциональная среда программирования
- •17.3.5. Дополнительные модули
- •17.2. Логический вывод в разных контекстах
- •17.4. Использование инструментальных средств
- •17.4.1. Характерные сложности и способы их избежать
- •17.4.2. Выбор подходящего инструментария для разработки экспертной системы
- •17.4.3. Практическое освоение инструментальных средств
- •17.3. Правила и процедуры в инструментальной среде м.4
- •17.4.4. Стиль программирования
- •17.5. Некоторые максимы разработки экспертных систем
- •Рекомендуемая литература
- •Упражнения
- •Глава 18. Системы с доской объявлений
- •Глава 18.
- •18.1. Принципы организации систем с доской объявлений
- •18.2. Системы hearsay, age и орм
- •18.2.1. Почему для hearsay-II выбрана такая архитектура
- •18.2.2. Использование источников знаний в hearsay-II
- •18.2.3. Система hearsay-III— оболочка для создания систем с доской объявлений
- •18.2.4. Инструментальные среды age и орм
- •18.3. Среда с доской объявлений вв
- •18.3.1. Уровни абстракции в среде вв
- •18.3.2. Системы вв1 и accord
- •18.3.3. Система protean
- •18.3.4. Интеграция стратегий логического вывода
- •18.3.5. Общая характеристика вв
- •18.4. Эффективность и гибкость модели с доской объявлений
- •18.4.1. Организация доски объявлений в системе gbb
- •18.4.2. Компоновка доски объявлений в среде erasmus
- •18.5. Организация параллельных вычислений в системах cage и poligon
- •Рекомендуемая литература
- •Упражнения
- •Глава 19. Система отслеживания истинности предположений
- •Глава 19.
- •19.1. Отслеживание зависимостей
- •19.1.1. Релаксация в сети
- •19.1.2. Пересмотр допущений
- •19.1. Запись информации о связях
- •19.2. Пересмотр теорий высказываний
- •19.3. Немонотонное обоснование
- •19.2. Пара конфликтующих выражений
- •19.4. Работа со множеством контекстов
- •19.4.1. Отслеживание истинности предположений, основанное на анализе допущений
- •19.4.2. Использование систем отслеживания истинности предположений для диагностирования на основе моделей
- •19.5. Сравнение различных вариантов организации систем отслеживания истинности предположений
- •Рекомендуемая литература
- •Упражнения
- •Глава 20. Формирование знаний на основе машинного обучения
- •Глава 20.
- •20.1. Индуктивное обучение
- •20.2. Система Meta-dendral
- •20.2.1. Формирование и уточнение правил
- •20.2.2. Пространство версий
- •20.2.3. Алгоритм отсеивания кандидатов
- •20.2.4. Сопоставление экземпляров с образцами в Meta-dendral
- •20.3. Построение дерева решений и порождающих правил
- •20.3.1. Структура дерева решений
- •20.3.2. Алгоритм формирования дерева решений по обучающей выборке
- •20.4. Уточнение наборов правил
- •Рекомендуемая литература
- •Упражнения
- •Глава 21. Сети доверия
- •Глава 21.
- •21.1. Теория Демпстера—Шефера
- •21.1.1. Функции доверия
- •21.1.2. Применение теории Демпстера—Шефера к системе mycin
- •21.2. Методика Перла
- •21.1. Байесовские сети
- •21.3. Сравнение методов неточных рассуждений
- •21.4. Резюме
- •Рекомендуемая литература
- •Упражнения
- •Глава 22. Рассуждения, основанные на прецедентах
- •Глава 22.
- •22.1. База прецедентов
- •22.1.1. Программа chef
- •22.1.2. Методы извлечения и адаптации прецедентов
- •2. Найти соответственное свойство в хранимых прецедентах.
- •3. Сравнить два значения и вычислить степень близости т.
- •4. Умножить эту оценку на вес свойства с.
- •22.2. Обучение с помощью компьютера: система сато
- •22.2.1. Предметная область программы сато
- •22.2.2. Расследования и рассуждения в юриспруденции
- •22.2.3. Обучение с помощью системы сато
- •22.3. Формирование отчетов в системе frank
- •22.4. Сравнение систем, основанных на правилах и прецедентах
- •Рекомендуемая литература
- •Упражнения
- •Глава 23. Гибридные системы
- •Глава 23.
- •23.1. Методы обучения в системе odysseus
- •23.2. Системы odysseus и minerva
- •23.2.1. Оболочка экспертной системы minerva
- •23.2.2. Обучение в системе odysseus
- •23.3. Использование прецедентов для обработки исключений
- •23.4. Гибридный символический подход и нейронные сети
- •23.4.1. Нейронные сети
- •23.4.2. Scalir — гибридная система для извлечения правовой информации
- •23.4.3. Организация обучения в системе scalir
- •23.5. Будущее гибридных систем
- •Рекомендуемая литература
- •Упражнения
- •Глава 24. Заключение
- •Глава 24.
- •24.1. Загадка искусственного интеллекта
- •24.2. Представление знаний
- •24.3. Языки программирования систем искусственного интеллекта
- •24.4. Решение практических проблем
- •24.5. Архитектура экспертных систем
- •Рекомендуемая литература
- •Приложение.
- •А.1. Краткая история clips
- •А.2. Правила и функции в clips
- •А.2.1. Факты
- •А.2.2. Правила
- •А.2.3. Наблюдение за процессом интерпретации
- •А.2.4. Использование шаблонов
- •A.2.5. Определение функций
- •А.3. Объектно-ориентированные средства в clips
- •А.4. Задача "Правдолюбцы и лжецы"
- •А.4.1. Анализ проблемы
- •А.4.2. Онтологический анализ и представление знаний
- •А.4.3. Разработка правил
- •Листинг а.1. Трассировка решения задачи р0
- •Упражнение 1
- •А.4.4. Расширение набора правил — работа с составными высказываниями
- •Упражнение 2
- •Листинг а.2. Трассировка решения задачи р4
- •A.4.5. Обратное прослеживание и множество контекстов
- •Упражнение 3
- •Выявление противоречий
- •Подготовка рабочей памяти к выполнению отката
- •Выполнение отката
- •Упражнение 4
- •Восстановление контекста
- •Упражнение 5
- •А.4.6. Обработка метавысказываний
- •А.4.7. Полный листинг программы
- •А.5. Стиль программирования на языке clips
- •Упражнения
23.4. Гибридный символический подход и нейронные сети
В этом разделе будет рассмотрена перспектива использования нейронных сетей в экспертных системах. Нейронные сети предполагают совершенно другую модель вычислительного процесса, принципиально отличную от той, которая традиционно используется в экспертных системах. В качестве примера будет рассмотрена система SCALIR (Symbolic and Connectionist Approach to Legal Information Retrieval) [Rose, 1994].
Эта система помогает пользователю отыскать правовые документы — описания прецедентов или статьи законов, — имеющие отношение к определенному делу. Поскольку юридическая практика охватывает все области жизни современного общества, использование традиционного подхода, основанного на обычных базах знаний, к поиску и извлечению правовой информации потребует представления в системе огромного объема знаний, в большинстве нетривиальных, представляющих такие сложные понятия, как права, разрешения, обязанности, соглашения и т.п. Проблема усугубляется использованием естественного языка при составлении запросов. Большинство поисковых систем, имеющих дело с запросами на естественном языке, которые используются для поиска в сети World Wide Web, основаны на статистическом подходе, а не на базах знаний.
В системе предпринята попытка решить эту проблему посредством сочетания статистического подхода к извлечению информации и подхода, основанного на базах знаний, в которых учитываются смысловые связи между документами.
23.4.1. Нейронные сети
В отношении систем искусственного интеллекта вообще и экспертных систем, в частности, иногда можно услышать следующие критические замечания.
Такие системы слишком "хрупкие" в том смысле, что, встретившись с ситуацией, не предусмотренной разработчиком, они либо формируют сообщения об ошибках, либо дают неправильные результаты. Другими словами, эти программы довольно просто можно "поставить в тупик".
Они не способны непрерывно самообучаться, как это делает человек в процессе решения возникающих проблем.
Еще в середине 1980-х годов многие исследователи рекомендовали использовать для преодоления этих (и других) недостатков нейронные сети.
В самом упрощенном виде нейронную сеть можно рассматривать как способ моделирования в технических системах принципов организации и механизмов функционирования головного мозга человека. Согласно современным представлениям, кора головного мозга человека представляет собой множество взаимосвязанных простейших ячеек — нейронов, количество которых оценивается числом порядка 1010. Технические системы, в которых предпринимается попытка воспроизвести, пусть и в ограниченных масштабах, подобную структуру (аппаратно или программно), получили наименование нейронные сети.
Нейрон головного мозга получает входные сигналы от множества других нейронов, причем сигналы имеют вид электрических импульсов. Входы нейрона делятся на две категории — возбуждающие и тормозящие. Сигнал, поступивший на возбуждающий вход, повышает возбудимость нейрона, которая при достижении определенного порога приводит к формированию импульса на выходе. Сигнал, поступающий на тормозящий вход, наоборот, снижает возбудимость нейрона. Каждый нейрон характеризуется внутренним состоянием и порогом возбудимости. Если сумма сигналов на возбуждающих и тормозящих входах нейрона превышает этот порог, нейрон формирует выходной сигнал, который поступает на входы связанных с ним других нейронов, т.е. происходит распространение возбуждения по нейронной сети. Типичный нейрон может иметь до 10J связей с другими нейронами.
Было обнаружено, что время переключения отдельного нейрона головного мозга составляет порядка нескольких миллисекунд, т.е. процесс переключения идет достаточно медленно. Поэтому исследователи пришли к заключению, что высокую производительность обработки информации в мозге человека можно объяснить только параллельной работой множества относительно медленных нейронов и большим количеством взаимных связей между ними. Именно этим объясняется широкое распространение термина "массовый параллелизм" в литературе, касающейся нейронных сетей.
Подход, базирующийся на нейронных сетях, часто рассматривается как несимволический, или субсимволический (subsymbolic), поскольку основная информационная единица, подлежащая обработке, является не символом (как это определено в главе 4), а чем-то более примитивным. Например, символ в LISP-программе, скажем МУ LAPTOP, можно было бы представить схемой активности некоторого числа связанных нейронов в нейронной сети. Но, поскольку нейронные сети часто моделируются программно, сам нейрон представляется некоторой программной структурой, которая, в свою очередь, может быть реализована с использованием символов. Например, роль нейрона может исполнять объект данных, располагающий подходящими свойствами и методами и связанный указателями с другими объектами в сети. Таким образом, на концептуальном уровне в субсимволической системе, реализованной компьютерной программой, которая содержит символы, нет ничего парадоксального.
Независимо от способа реализации, нейронную сеть можно рассматривать как взвешенный ориентированный граф такого типа, который описан в главе 6. Узлы в этом графе соответствуют нейронам, а ребра — связям между нейронами. С каждой связью ассоциирован вес — рациональное число, — который отображает оценку возбуждающего или тормозящего сигнала, передаваемого по этой связи на вход нейрона-реципиента, когда нейрон-передатчик возбуждается.
Поскольку нейронная сеть носит явно выраженный динамический характер, время является одним из основных факторов ее функционирования. При моделировании сети время изменяется дискретно, и состояние сети можно рассматривать как последовательность мгновенных снимков, причем каждое новое состояние зависит только от предыдущего цикла возбуждения нейронов.
Для выполнения обработки информации с помощью такой сети необходимо соблюдение определенных соглашений. Для того чтобы сеть стала активной, она должна получить некоторый входной сигнал. Поэтому некоторые узлы сети играют роль "сенсоров" и их активность зависит от внешних источников информации. Затем возбуждение передается от этих входных узлов к внутренним и таким образом распространяется по сети. Это обычно выполняется посредством установки высокого уровня активности входных узлов, которая поддерживается в течение нескольких циклов возбуждения, а затем уровень активности сбрасывается.
Часть узлов сети используется в качестве выходных, и их состояние активности считывается в конце процесса вычислений. Но часто интерес представляет и состояние всей сети после того, как вычисления закончатся, либо состояние узлов с высоким уровнем активности. В некоторых случаях интерес может представлять наблюдение за процессом установки сети в стабильное состояние, а в других — запись уровня активизации определенных узлов перед тем, как процесс распространения активности завершится.
На рис. 23.2 показан фрагмент нейронной сети, состоящий из четырех сенсорных узлов S1—S4, возбуждение от которых передается другим узлам сети. Один узел, R, является выходным. Если веса связей в сети неизвестны, то узел R будет возбужден тогда, когда будут возбуждены узлы S1 и S4 Но если будут возбуждены также узлы S2 и S3, это приведет к подавлению возбуждения R даже при возбужденных узлах 5) и S4. Будет ли узел R действительно возбужден при таком состоянии сигналов на входах сенсорных узлов, зависит от весов связей в сети.
Количество возможных конфигураций сети такого типа очень велико. Велико и количество способов вычисления состояния нейрона при заданной сумме состояний на его входах. Эти детали теории нейронных сетей выходят за рамки данной книги. Далее мы будем следовать идеям Роуза (Rose) и рассмотрим относительно простую модель нейронной сети, в которой любой узел может быть связан с любым другим узлом и в которой выходом узла является его состояние активности (т.е. не делается различия между активностью нейрона и сигналом на его выходе).
Рис. 23.2. Фрагмент нейронной сети с возбуждающими и тормозящими связями
Для более строгой формулировки такой модели введем следующие обозначения:
wij — вес связи от узла j к узлу i,
neti = Zj wij— состояние в текущий момент времени входов узла l, связанного с другими узлами сети.
При любом определении нейронной сети необходимо принимать во внимание и фактор времени, поскольку состояние любого нейрона в некоторый момент времени зависит от его предыдущего состояния и от предыдущего состояния нейронов, связанных с его входами.
Определение
Сеть связности (connectionist network) может рассматриваться как взвешенный ориентированный граф, в котором для каждого узла i выполняются следующие требования:
(1) состояние активности узла в любой момент времени t является действительным числом (будем обозначать его как ai(t));
(2) вес связи, которая связывает узел i с любым другим узлом у сети, является действительным числом wij,
(3) активность узла в момент t+1 является функцией от
его активности в момент времени t, ai(t);
взвешенной суммы сигналов на входах в момент времени t, neti{f);
произвольного внешнего входного сигнала xi(t).
Простая функция вычисления состояния активности узла i, удовлетворяющая требованию (3) приведенного выше определения, имеет вид
ai(t+1) = Cуммаj [wijaj(t)+xl(t)]
Это, однако, не единственно возможный способ определения активности. Функции других видов включают добавление термов, соответствующих росту или спаду активности, или имеют вид нелинейных дифференциальных функций (см., например, [Hinton, 1989]). В данной книге они рассматриваться не будут.
При конструировании сети веса связей могут быть назначены априори или изменяться со временем. В последнем случае изменение весов является одним из следствий активности сети. Веса можно рассматривать как отражение знаний, а процесс их настройки и уточнения — как процесс обучения системы. Поскольку веса существенно влияют на распространение активности по сети, от них во многом зависит и поведение сети, а следовательно, изменяя веса, можно изменять поведение сети в желаемом направлении.
Как отмечено выше, знания в сети связности представлены неявно, поскольку нельзя выделить один определенный структурный элемент сети, который представлял бы отдельное правило или сущность предметной области. Знание отражено именно во взвешенных связях между мириадами отдельных элементов сети. Таким образом, в данном случае мы имеем дело с распределенными знаниями, которые нельзя представить в виде простого перечисления числовых или символических элементов. По этой причине часто можно встретить утверждение, что в нейронных сетях выполняется субсимволическая обработка информации.
В сетях связности знания сохраняются не в декларативном виде, а потому они не могут быть доступны для интерпретации со стороны какого-либо внешнего процессора [Rumelhart and McClelland, 1986]. Доступ к знаниям и процесс логического вывода могут быть описаны только в терминах активности сети.
Конечно, ничто не препятствует конструктору сети ассоциировать отдельные ее узлы с определенными сущностями предметной области, как это сделал Роуз в системе SCALIR. Однако такое отражение понятий на узлы сети не противоречит ранее сделанному утверждению, что отношения между сущностями неявно представлены в виде связей между узлами и обычно не могут интерпретироваться в форме правил. Следовательно, хотя мы и частично приоткрыли завесу таинственности, скрывающую, что же стоит за узлами сети, сущность взвешенных связей между ними остается по-прежнему "субсимволической".
Даже в случае, если узлы представляют сущности предметной области, общая картина активности мириад узлов сети может скрывать понятия достаточно высокого уровня, объединяющие определенные аспекты сущностей, представленных узлами. Пусть, например, узлы представляют слова и пусть узлы "гонки", "машина", "водитель" возбуждены. Этим может быть представлено понятие "водитель гоночной машины" или, наоборот, факт вождения гоночной машины. В любом случае такое представление может расцениваться как субсимволическое, поскольку составляющие его узлы не могут быть оформлены в виде какой-нибудь синтаксической структуры, имеющей явно выраженный смысл. Точно так же нельзя выполнить и семантический анализ состояния мириад узлов с помощью какого-либо внешнего набора правил.
