5.2.3. Задачи, решаемые с помощью нейронных сетей
Знания в сети представлены в неявном виде. Нельзя выделить конкретный структурный элемент сети, который представлял бы отдельное правило или сущность предметной области. Знание отражено именно во взвешенных связях между множествами отдельных элементов сети. В данном случае имеют место распределенные знания, которые нельзя представить в виде простого перечисления числовых или символических элементов. По этой причине часто можно встретить утверждение, что НС выполняет несимволическую или субсимволическую [англ. sub symbolic] обработку информации.
В сетях связности знания сохраняются не в декларативном виде, поэтому они не могут быть доступны для интерпретации со стороны какого-либо внешнего процесса. Доступ к знаниям и процесс логического вывода могут быть описаны только в терминах активности сети.
Однако, даже в случае, если узлы представляют сущности предметной области, общая картина активности множеств узлов сети может скрывать понятия достаточно высокого уровня, объединяющие определенные аспекты сущностей, представленных узлами. Например, пусть возбуждены узлы представляющие слова «гонки», «машина» и «водитель». Таким способом может быть представлено понятие «водитель гоночной машины», а может – сам факт вождения гоночной машины. В любом случае такое представление может расцениваться как субсимволическое, поскольку составляющие его узлы не могут быть сведены к какой-нибудь синтаксической структуре, имеющей однозначный, явно выраженный смысл. Точно так же нельзя выполнить и семантический анализ состояния множеств узлов с помощью какого-либо внешнего набора правил.
Любая нейронная сеть используется в качестве самостоятельной системы представления знаний, которая в практических приложениях выступает, как правило, в качестве одного из компонентов системы управления либо модуля принятия решений, передающих результирующий сигнал на другие элементы, не связанные непосредственно с искусственной нейронной сетью [11].
Задачи, решаемые нейронными сетями, можно условно разделить на несколько основных групп:
аппроксимации и интерполяции;
распознавания и классификации образов;
сжатия данных;
прогнозирования;
идентификации;
управления;
ассоциации.
В каждом из указанных приложений нейронная сеть играет роль универсального аппроксиматора функции от нескольких переменных, реализуя нелинейную функцию
Y = f (х), (5.9)
где х − входной вектор,
Y − реализация векторной функции нескольких переменных.
Постановки значительного количества задач моделирования, идентификации и обработки сигналов могут быть сведены именно к аппроксимационному представлению.
Для классификации и распознавания образов сеть необходимо обучить важнейшим их признакам, таким, как геометрическое отображение точечной структуры изображения, относительное расположение важнейших элементов образа, компоненты преобразования Фурье и др. В процессе обучения выделяются признаки, отличающие образы друг от друга, создаются классы и эталоны, которые и составляют базу для принятия решений об отнесении образов к соответствующим классам.
При решении задач прогнозирования роль нейронной сети состоит в предсказании будущей реакции системы в зависимости от располагаемой информации о ее предшествующем поведении. Обладая информацией о значениях вектора х в моменты, предшествующие прогнозированию
х(k-1), х(k-2), ... , x(k-N),
сеть вырабатывает решение, каким будет наиболее вероятное значение последовательности в текущий момент k. Для адаптации весовых коэффициентов сети используются фактическая погрешность прогнозирования
(5.10)
и значения этой погрешности в предшествующие моменты времени.
При решении задач идентификации и управления динамическими процессами нейронная сеть, как правило, выполняет несколько функций. Она представляет собой нелинейную модель этого процесса, обеспечивающую выработку соответствующего управляющего воздействия. Сеть также выступает в роли следящей системы, адаптирующейся к изменяющимся условиям окружающей среды. Очень большое значение, особенно при управлении роботами, имеет функция классификации, реализуемая при выработке решения о дальнейшем развитии процесса.
В задачах ассоциации нейронная сеть играет роль ассоциативного запоминающего устройства. Можно выделить ЗУ автоассоциативного типа, с помощью которых определяется корреляция между отдельными компонентами одного и того же входного вектора, и ЗУ гетероассоциативного типа, средствами которых устанавливается корреляция между двумя различными векторами. Если на вход сети подается неструктурированный вектор (например, содержащий искаженные шумом компоненты или вообще не содержащий отдельные компоненты), нейронная сеть сможет восстановить оригинальный и очищенный от шумов вектор и сгенерировать при этом полную версию ассоциированного с ним вектора.
Важнейшее свойство нейронных сетей, свидетельствующее об их огромном потенциале и широких прикладных возможностях, состоит в параллельной обработке информации одновременно всеми нейронами. Благодаря этой способности при большом количестве межнейронных связей достигается значительное ускорение процесса обработки информации. Во многих ситуациях становится возможной обработка сигналов в реальном масштабе времени.
Очень большое количество межнейронных соединений приводит к тому, что сеть становится нечувствительной к ошибкам, возникающим в отдельных контактах. Функции поврежденных соединений принимают на себя другие элементы, в результате в деятельности сети не наблюдаются заметные нарушения. Это свойство используется, в частности, при поиске оптимальной архитектуры нейронной сети путем разрыва отдельных связей.
Другое не менее важное свойство нейронной сети состоит в способности к обучению и к обобщению полученных знаний. Сеть обладает чертами так называемого искусственного интеллекта. Натренированная на ограниченном множестве обучающих выборок, она обобщает накопленную информацию и вырабатывает ожидаемую реакцию применительно к данным, не обрабатывавшимся в процессе обучения. Несмотря на значительное количество уже известных практических приложений искусственных нейронных сетей, возможности их дальнейшего использования для обработки сигналов не изучены окончательно, и можно высказать предположение, что нейронные сети еще в течение многих лет будут средством развития информационной техники [11].
В настоящее время известно большое количество программных продуктов, выпускаемых рядом фирм и отдельными исследователями и позволяющих конструировать, обучать и использовать нейронные сети для решения практических задач.
Приведем названия некоторых из них, предназначенных для использования на персональных компьютерах в различных операционных средах:
NeuroSolutions фирмы NeuroDimension Inc.;
NeuralWorks Professional II Plus с модулем UDND фирмы NeuralWare Inc.;
Process Advisor фирмы AlWare Inc.;
NeuroShell 2 фирмы Ward Systems Group;
BrainMaker Pro фирмы California Scientific Software.
Тестирование показывает, что все перечисленные пакеты имеют практически одинаковые результаты, а их отличия связаны в основном с возможностями использования различных нейронных структур, критериев оптимизации и алгоритмов обучения сетей, а также с простотой использования и наглядностью представляемой информации [6].
- Содержание
- 1. Базы данных, ориентированные на искусственный интеллект 18
- 2. Формализация знаний о проблемной области 37
- 3. Инструментальные средства логического программирования 67
- 4. Организация принятия решений в экспертных системах 100
- 5. Интеллектуальные технологии обработки информации 115
- 6. Система моделирования эо kappa 158
- 7. Стандартные функции эо kappa 180
- 8. Работа с правилами в эо kappa 193
- 9. Создание интерфейса пользователя в эо kappa 206
- 10. Инструментальная оболочка разработки эс − clips 223
- 10.2.3. Правила 231
- 11. Разработка экспертной системы в ио clips 261
- 12. Создание проекта онтологии с помощью ис Protégé 291
- Предисловие
- Список сокращений
- Введение
- 1. Базы данных, ориентированные на искусственный интеллект
- 1.1. Экспертные системы и их особенности
- 1.2. Основные типы задач, решаемых с помощью экспертных систем
- 1.3. Особенности разработки экспертных систем
- 1.3.1. Приобретение знаний
- 1.3.2. Представление знаний
- 1.3.3. Реализация
- 1.4. Виды экспертных систем
- 1.5. Представление знаний в системах искусственного интеллекта
- 1.5.1. Данные и знания
- 1.5.2. Представление знаний в рабочей памяти эвм
- 1.5.3. Представление знаний в базе знаний
- Контрольные вопросы
- 2. Формализация знаний о проблемной области
- 2.1. Таксономическая классификационная схема
- 2.2. Онтологический подход к представлению проблемной информации
- 2.2.1. Цели разработки онтологий
- 2.2.2. Фундаментальные правила разработки онтологии
- 2.2.3. Определение области и масштаба онтологии
- 2.2.4. Рассмотрение вариантов повторного использования существующих онтологий
- 2.2.5. Перечисление важных терминов в онтологии
- 2.2.6. Определение классов и их иерархии
- 2.2.7. Определение свойств классов – слотов
- 2.2.8. Определение фацетов слотов
- 2.2.9. Домен слота и диапазон значений слота
- 2.2.10. Создание экземпляров
- 2.3. Модели представления знаний
- 2.3.1. Фреймы
- 2.3.2. Семантические сети
- 2.3.3. Исчисление предикатов первого порядка
- 2.3.4. Модель представления знаний в виде правил продукции
- Контрольные вопросы
- 3. Инструментальные средства логического программирования
- 3.1. Язык логического программирования Пролог
- 3.2. Основные разделы программы
- 3.3. Рекурсивные вычисления в Пролог-программе
- 3.4. Процесс реализации вывода
- 3.5. Предикаты
- 3.6. Списковые структуры
- 3.7. Вызов внешних функций из Пролог-программы и интерфейс с программами на других языках программирования
- 3.8. Пример реализации экспертной системы на языке Пролог
- 3.9. Диалекты и языки, используемые для задач искусственного интеллекта
- Контрольные вопросы
- 4. Организация принятия решений в экспертных системах
- 4.1. Организация логического вывода в экспертных системах
- 4.2. Правила
- 4.3. Поиск решений
- 4.4. Управляющая структура
- 4.5. Технологии принятия решений в системах с базами знаний
- 4.6. Методы поиска, реализованные в экспертных системах
- 4.7. Использование процедур
- 4.8. Представление неопределенности в информационных приложениях с базами знаний
- Контрольные вопросы
- 5. Интеллектуальные технологии обработки информации
- 5.1. Интеллектуальные системы, основанные на нечеткой логике
- 5.2. Нейронные сети
- 5.2.1. Биологический и искусственный нейроны
- 5.2.2. Классификация нейронных сетей
- 5.2.3. Задачи, решаемые с помощью нейронных сетей
- 5.3. Эволюционные вычисления
- 5.3.1. Основные определения
- 5.3.2. Процесс работы генетического алгоритма
- 5.3.3. Пример решения задачи с использованием генетического алгоритма
- 5.3.4. Достоинства и недостатки генетических алгоритмов
- 5.4. Комплексный подход к проектированию систем искусственного интеллекта
- 5.5. Инструментальные средства представления знаний
- 5.5.1. Классификация оболочек эс
- 5.5.2. Уровни реализации экспертных систем
- Контрольные вопросы
- 6. Система моделирования эо kappa
- 6.1. Представление знаний в эо kappa
- 6.2. Начало работы с эо kappa
- 6.3. Окно иерархии объектов (Object Browser)
- 6.4. Окно инструментов (Knowledge Tools) и редакторы знаний
- 6.4.1. Редактор классов (Class Editor)
- 6.4.2. Редактор объектов (Instance Editor)
- 6.4.3. Редактор слотов (Slot Editor)
- 6.4.4. Редактор методов (Method Editor)
- 6.4.5. Редактор функций (Function Editor)
- 6.4.6. Редактор правил (Rule Editor)
- 6.4.7. Редактор цели (Goal Editor)
- 6.5. Окно интерпретатора (kal Interpreter)
- 6.6. Окно сеанса (Session)
- 6.7. Окно связи правил (Rule Relations)
- 6.8. Окно трассировки правил (Rule Trace)
- 6.9. Окно просмотра иерархии выводов (Inference Browser)
- 6.10. Средство объяснений эо kappa
- Контрольные вопросы
- 7. Стандартные функции эо kappa
- 7.1. Функции манипулирования знаниями
- 7.1.1. Функции работы с классами
- 7.1.2. Функции работы с объектами
- 7.1.3. Функции работы с иерархией объектов
- 7.1.4. Функции работы со слотами
- 7.1.5. Функции работы с методами
- 7.1.6. Функции работы с правилами
- 7.1.7. Функции работы с целями
- 7.2. Математические функции
- 7.3. Функции работы со строками
- 7.4. Функции работы со списками
- 7.5. Логические функции
- 7.6. Функции работы с файлами
- 7.7. Функции управления
- 7.8. Функции работы с окнами
- 7.9. Функции работы с компонентами
- 7.10. Функции, определенные пользователем
- Контрольные вопросы
- 8. Работа с правилами в эо kappa
- 8.1. Создание и редактирование правил
- 8.2. Формирование списка правил
- 8.3. Создание и редактирование цели
- 8.4. Рассуждения в прямом направлении
- 8.4.1. Стратегии принятия решения
- 8.4.2. Формирование прямой цепи рассуждений
- 8.4.3. Активная трассировка при формировании прямой цепи рассуждений
- 8.5. Рассуждения в обратном направлении
- Контрольные вопросы
- 9. Создание интерфейса пользователя в эо kappa
- 9.1. Стандартные компоненты интерфейса пользователя
- 9.1.1. Компонент Button
- 9.1.2. Компонент Text
- 9.1.3. Компонент Transcript
- 9.1.4. Компонент Edit
- 9.1.5. Компонент BitMap
- 9.1.6. Компонент Drawing
- 9.1.7. Компонент StateBox
- 9.1.8. Компонент Meter
- 9.1.9. Компонент LinePlot
- 9.1.10. Компонент Slider
- 9.1.11. Компонент SingleListBox
- 9.1.12. Компонент MultipleListBox
- 9.1.13. Компонент CheckBox
- 9.1.14. Компонент CheckBoxGroup
- 9.1.15. Компонент RadioButtonGroup
- 9.2. Особенности русификации эо kappa
- Контрольные вопросы
- 10. Инструментальная оболочка разработки эс − clips
- 10.1. Общие сведения об ио clips
- 10.2. Программирование в ио clips
- 10.2.1. Основные элементы программирования
- 10.2.2. Факты
- 10.2.3. Правила
- 10.2.4. Переменные
- 10.2.5. Дополнительные средства
- 10.3 Интерфейс ио clips
- 10.3.1 Интерфейс командной строки
- 10.3.2. Графический интерфейс пользователя
- 10.3.3. Интерфейс встроенного редактора
- 10.4. Организация работы в ио clips
- 10.4.1. Постановка задачи и составление программы
- 10.4.2. Запуск ио clips
- 10.4.3. Ввод программы
- 10.4.4. Загрузка и запуск программы
- 10.4.5. Работа программы
- 10.4.6. Сохранение результатов работы
- Контрольные вопросы
- 11. Разработка экспертной системы в ио clips
- 11.1. Подготовка исходных данных
- 11.2. Выделение сущностей
- 11.3. Сбор информации
- 11.4. Диагностические правила
- 11.5. Листинг программы
- 11.6. Выполнение программы
- Контрольные вопросы
- 12. Создание проекта онтологии с помощью ис Protégé
- 12.1. Создание нового проекта
- 12.2. Структура проекта
- 12.3. Работа с классами
- 12.3.1. Создание нового класса
- 12.3.2. Создание экземпляра класса
- 12.3.3. Инструменты работы с классами
- 12.4. Работа со слотами
- 12.5. Сохранение проекта в формате rdf
- 12.6. Экспорт онтологии в формат эо clips
- Контрольные вопросы
- Заключение
- Глоссарий
- Библиографический список