
- •Предисловие.
- •1. Основные задачи искусственного интеллекта.
- •1.1. История развития систем искусственного интеллекта.
- •1.2. Обзор основных направлений в области искусственного интеллекта
- •1.3. Решение задач и искусственный интеллект
- •1.3.1. Графовое представление задачи в пространстве состояний.
- •1.3.2. Стратегии поиска в пространстве состояний
- •2. Проблемная область искусственного интеллекта
- •2.1. Представление знаний
- •2.2 Модели представления знаний
- •2.2.1. Семантические сети
- •2.2.2. Фреймы
- •2.2.3. Формальные логические модели
- •2.2.4. Продукционная модель
- •2.2.5. Вывод на знаниях
- •3. Сильные методы решения задач. Экспертные системы
- •3.1. Структура экспертных систем
- •3.2. Классификация экспертных систем
- •3.3. Отличие эс от других программных продуктов
- •3.4. Цикл работы экспертных систем
- •3.5. Технология проектирования и разработки экспертных систем
- •4. Принятие решений в условиях неопределенности
- •4.1. Нечеткая логика
- •4.1.1. Нечеткие множества
- •4.1.2. Более строгое представление о нечетких множествах
- •4.1.3. Основные характеристики нечетких множеств
- •4.1.4. Примеры нечетких множеств и их характеристик
- •4.1.5. Операции над нечеткими множествами
- •4.1.6. Четкое множество α-уровня (или уровня α)
- •4.1.7. Нечеткая и лингвистическая переменные
- •4.1.8. Нечеткие числа
- •5. Машинное обучение на основе нейронных сетей
- •5.1. Биологический нейрон и его математическая модель
- •5.1.1. Биологический нейрон
- •5.1.2. Искусственный нейрон
- •5.2. Нейросети
- •5.2.1. Классификация и свойства нейросетей
- •5.2.2. Обучение искусственных нейронных сетей
- •5.3. Теорема Колмогорова
- •5.4. Персептрон
- •5.4.1. Алгоритм обучения персептрона
- •5.4.2. Линейная разделимость и персептронная представляемость
- •Логическая функция
- •Входы и выходы нейронов сети,
- •5.5. Сеть обратного распространения
- •5.5.1. Алгоритм обучения сети обратного распространения
- •5.6. Сеть встречного распространения
- •5.6.1. Сеть Кохонена. Классификация образов
- •5.6.2. Алгоритм обучения сети Кохонена
- •5. 6.3. Нейроны Гроссберга. Входные и выходные звезды
- •5.6.4. О бучение входной звезды
- •5.6.5. Обучение выходной звезды
- •5.6.6. Двухслойная сеть встречного распространения
- •5.6.7. Алгоритм обучения сети встречного распространения
- •5.7. Стохастические сети
- •5.7.1. Обучение Больцмана
- •5.7.2. Обучение Коши
- •5.8. Сети с обратными связями
- •5.8.1. Сеть Хопфилда
- •5.8.2. Правило обучения Хебба
- •5.8.3. Процедура ортогонализации образов
- •5.9. Сеть дап (двунаправленная ассоциативная память)
- •5.10. Сеть арт (адаптивная резонансная теория)
- •5.10.1. Алгоритм функционирования сети арт-1
- •Список иллюстраций
5.2.2. Обучение искусственных нейронных сетей
Сеть обучается, чтобы для некоторого множества входов давать требуемое (или, по крайней мере, сообразное с ним) множество выходов. Каждое такое входное (или выходное) множество рассматривается как вектор. Обучение осуществляется путем последовательного предъявления входных векторов с одновременной подстройкой весов в соответствии с определенной процедурой. В процессе обучения веса сети постепенно становятся такими, чтобы каждый входной вектор вырабатывал выходной вектор. Различают алгоритмы обучения с учителем и без учителя.
Обучение с учителем предполагает, что для каждого входного вектора существует целевой вектор, представляющий собой требуемый выход. Вместе они называются обучающей парой. Обычно сеть обучается на некотором числе таких обучающих пар. Предъявляется выходной вектор, вычисляется выход сети и сравнивается с соответствующим целевым вектором, разность (ошибка) с помощью обратной связи подается в сеть, и веса изменяются в соответствии с алгоритмом, стремящимся минимизировать ошибку. Векторы обучающего множества предъявляются последовательно, для каждого вектора вычисляются ошибки и подстраиваются веса до тех пор, пока ошибка по всему обучающему массиву не достигнет приемлемо низкого уровня.
Обучение без учителя не нуждается в целевом векторе для выходов и, следовательно, не требует сравнения с предопределенными идеальными ответами. Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса сети так, чтобы получались согласованные выходные векторы, т. е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы. Процесс обучения, следовательно, выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выходной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Следовательно, выходы подобной сети должны трансформироваться в некоторую понятную форму, обусловленную процессом обучения.
5.3. Теорема Колмогорова
Рассмотрим
в качестве примера двухслойную нейронную
сеть с
n
входами
и одним выходом, которая достаточно
проста по структуре и в то же время
широко используется для решения
прикладных задач. Эта сеть изображена
на рис. 6.6. Каждый i-й
нейрон первого слоя
имеет n
входов,
которым приписаны веса
Рис. 6.6. Пример нейронной сети
Получив
входные сигналы, нейрон суммирует их
с соответствующими
весами, затем применяет к этой сумме
передаточную функцию и пересылает
результат на вход нейрона второго
(выходного) слоя. В свою очередь,
нейрон выходного слоя суммирует
полученные от второго слоя сигналы
с некоторыми весами
Для
определенности будем предполагать,
что передаточные функции в скрытом
слое являются сигмоидальными, а в
выходном слое используется тождественная
функция, т. е. взвешенная
сумма выходов второго слоя и будет
ответом сети.
Подавая
на входы любые числа
мы получим на выходе значение некоторой
функции
которое является ответом
(реакцией) сети. Очевидно, что ответ
сети зависит как от входного сигнала,
так и от значений ее внутренних параметров
- весов нейронов. Выпишем
точный вид этой функции:
где
В 1957 году математик А. Н. Колмогоров доказал следующую теорему.
Теорема
Колмогорова. Любая
непрерывная функция F,
определенная
на n-мерном
единичном кубе, может быть представлена
в виде суммы
суперпозиций непрерывных и монотонных
отображений единичных
отрезков:
где
и
-
непрерывные
функции, причем
не зависят от функции F.
Эта теорема означает, что для реализации функций многих переменных достаточно операций суммирования и композиции функций одной переменной. К сожалению, при всей своей математической красоте, теорема Колмогорова малоприменима на практике. Это связано с тем, что функции - в общем случае негладкие и трудновычислимые; также неясно, каким образом можно подбирать функции для данной функции F. Роль этой теоремы состоит в том, что она показала принципиальную возможность реализации сколь угодно сложных зависимостей с помощью относительно простых автоматов типа нейронных сетей. Более значимые для практики результаты в этом направлении были получены только в 1989 году, зато одновременно несколькими исследователями.
Пусть
- любая
непрерывная функция, определенная на
ограниченном множестве, и
-
любое сколь угодно малое число, означающее
точность аппроксимации. Через
обозначена сигмоидальная функция.
Теорема.
Существуют
число m,
набор чисел
,
и
набор чисел
такие,
что функция
приближает
данную функцию
с погрешностью не более е на
всей области определения.
Легко заметить, что эта формула полностью совпадает с выражением, полученным для функции, реализуемой нейросетью. В терминах теории нейросетей эта теорема формулируется так: любую непрерывную функцию нескольких переменных можно с любой точностью реализовать с помощью двухслойной нейросети с достаточным количеством нейронов в скрытом слое.