6.3. Алгоритмы обучения нейронных сетей
На этапе обучения происходит вычисление синаптических коэффициентов в процессе решения нейронной сетью конкретных задач. Контролируемое обучение нейронной сети можно рассматривать как решение оптимизационной задачи. Ее целью является минимизация функций ошибок (невязок) на данном множестве примеров путем выбора значений весов W.
Известно два вида обучения: с учителем и без учителя. Обучение с учителем предполагает предъявление сети последовательности обучающих пар (Xi, Di), где Xi – обучающий пример, Di – эталон, который должен быть получен на выходе сети. Для каждого Xi вычисляется yi, который сравнивается с Di. Разница используется для корректировки синаптической матрицы. Обучение без учителя предполагает наличие только обучающих примеров Xi. Синаптическая матрица настраивается так, чтобы близким входным векторам соответствовали одинаковые результирующие векторы.
Процесс обучения можно рассматривать как дискретный процесс, описываемый конечно-разностными уравнениями. Большинство методов обучения используют идею Хэбба, смысл которой заключается в повторении заучиваемого примера. Синаптический вес увеличивается, если два нейрона – источник и приемник – активизированы. Наращивание веса определяется произведением уровней возбуждения двух нейронов, что можно записать так:
,
где – значения веса связи от i-го нейрона к j-му на предыдущей итерации обучения и текущей;
– скорость обучения ( );
– выход нейрона i, являющийся входом для j-го нейрона на 0-й итерации;
– выход нейрона j на 0-й итерации.
Процесс обучения нейронной сети рассматривается как задача минимизации некоторой функции F(W) min, где W – синаптическая матрица сети.
Для решения такой задачи могут использоваться различные методы нелинейного программирования: градиентный, квазиньютоновский случайный поиск и другие.
Общим для методов обучения сети является следующее: для некоторого начального состояния синаптической матрицы определяется направление уменьшения целевой функции F(W) и находится ее минимум в этом направлении. Для полученной точки опять вычисляется направление убывания функции и осуществляется одномерная оптимизация. В общем алгоритм можно представить как
где величина шага на этапе 0;
направление поиска на этапе 0.
Наиболее развитым методом обучения является алгоритм обратного распространения. Каких-либо ограничений на количество слоев и топологию сети не накладывается. Единственное требование состоит в том, чтобы функция возбуждения была всюду дифференцируема. Как правило, используется сигмоидная (логистическая) функция. Алгоритм обратного распространения является методом обучения с учителем (рис. 6.5).
Рис. 6.5. Схема обучения нейронной сети с учителем
Алгоритм обратного распространения представляет собой развитие обобщенного дельта-правила и является алгоритмом градиентного спуска, минимизирующим суммарную квадратичную ошибку. Главная цель состоит в том, чтобы вычислить чувствительность ошибки сети к изменению весов.
Пусть нейронная сеть соответствует схеме на рис. 6.2. Тогда алгоритм обучения можно описать [6]:
1. Задать синаптические матрицы W, W*.
2. Для каждой обучающей пары (Xi, Di) выполнить действия:
подать на вход скрытого слоя очередной набор обучающих данных ;
вычислить выход скрытого слоя :
;
вычислить выход выходного слоя:
.
3. Рассчитать ошибки для выходного и скрытого слоев:
между полученными выходными величинами сети и эталонными величинами;
для нейронов скрытого слоя.
Повторять шаги 2 и 3 до тех пор, пока ошибки не станут приемлемыми.
Пример 6.3. Пусть нейронная сеть соответствует схеме на рис. 6.2. При этом n=2, m=2,k=1 (рис. 6.6). Обучающее множество =(1;2), D=3. Необходимо обучить нейронную сеть складывать цифры 1 и 2. Все нейроны возбуждаются сигмоидной функцией. Заданы синаптические матрицы для скрытого слоя на первой итерации:
и вектор для выходного слоя
.
Рис. 6.6. Нейросеть с одним скрытым слоем
Вычислим взвешенную сумму
тогда
.
Взвешенный вход для выходного слоя
В то же время желаемое значение y(1), преобразованное функцией возбуждения
D = F(3) = 0,952.
Поэтому среднеквадратическая ошибка (СКО):
Значения фактического выхода и желаемого не совпадают, поэтому синаптические веса следует изменить. Для этого следует выяснить, каким образом повлияют эти изменения на величину ошибки. Анализ, согласно алгоритму обратного распространения, выполняют начиная с выходного слоя сети и продвигаясь к входу:
прежде всего выясняют, как влияют на ошибку сети изменения на выходе. Для этого достаточно определить скорость изменения ошибки при данном значении выхода. Скорость определяется с помощью производной. Дифференцирование выполняется по аргументу y(1).
Полученная реакция скорости изменения ошибки при данном значении выхода отрицательная, что указывает на необходимость увеличения значения на выходе;
определить, каким образом влияет на ошибку сети каждый из входов выходного слоя. Для этого определим скорость изменения ошибки сети при изменении средневзвешенного входа выходного слоя V*(1):
Значение EQ показывает, что скорость изменения ошибки в процессе изменения средневзвешенного входа выходного нейрона существенно ниже по сравнению со скоростью реакции сети на изменение ее выхода.
Каким образом влияет на ошибку сети каждый из входов выходного слоя, можно узнать, если результат предыдущего шага умножить на уровень активности нейрона, из которого эта связь исходит:
для корректировки синаптических весов на второй итерации алгоритма обучения следует вычислить
Далее вычисляются поправочные коэффициенты EW для синаптической матрицы скрытого слоя и значения :
.
Второй прямой проход выполняется, чтобы определить, насколько рассматриваемая сеть близка к поставленной цели. В результате повторного просчета с синаптическими матрицами получим =0,564 и соответственно
.
За n итераций нейронная сеть будет обучена.
В [13] приведены результаты решения задачи по выбору оптимального маршрута при перевозке крупногабаритных грузов на основе нейросетевых технологий. Для решения использован модуль Neural Analyser, входящий в состав пакета Deductor Professional [14].
- Введение
- Глава 1. Интеллектуальные информационные системы
- Основные направления в искусственном интеллекте
- Нейросетевые и нейрокомпьютерные технологии.
- Мультиагентные (многоагентные) системы.
- 1.2. Данные и знания
- Эволюция развития информационных систем
- 1.4. Основные разновидности иис и характеристики решаемых задач
- 1.5. Классификация иис
- Глава 2. Структура и этапы проектирования экспертных систем
- 2.1. Структура статической и динамической эс
- 2.2. Характеристики, стадии существования и этапы проектирования статических эс
- Глава 3. Модели представления знаний
- 3.1. Продукционная модель
- 3.2. Формально-логическая модель
- 3.3. Фреймовая модель
- 3.4. Семантические сети
- Глава 4. Методы обработки знаний в интеллектуальных системах. Нечеткие знания
- 4.1. Интерпретатор правил и управление выводом
- 4.2. Нечеткие знания и нечеткая логика
- Глава 5. Теоретические основы инженерии знаний
- 5.1. Процедура извлечения знаний
- 5.2. Основные аспекты извлечения знаний
- 5.3. Методы извлечения знаний
- Глава 6. Нейронные сети
- 6.1. Искусственный нейрон и функции активации
- 6.2. Нейронные сети с прямой связью
- 6.3. Алгоритмы обучения нейронных сетей
- Глава 7. Технология создания экономических советующих систем
- 7.1. Определение и виды информационных технологий
- 7.2. Технология «Ресурс – Обучение – Цель»
- 7.3. Определение коэффициента важности целей
- Глава 8. Программный инструментарий разработки систем, основанных на знаниях
- 8.1. Цели и принципы технологии разработки программных средств
- 8.2. Технология и инструментарий разработки программных средств
- Глава 9. Интеллектуальные интернет-технологии
- 9.1. Интеллектуальные агенты
- 9.2. Мультиагентные системы
- Мультиагентные системы различного функционального назначения
- Глава 10. Новые тенденции инженерии знаний,
- 10.1. Методы извлечения глубинных пластов экспертного знания
- 10.2. Хранилища данных
- 10.3. Управление знаниями
- 10.4. Технология создания систем управления знаниями
- Глава 11. Интеллектуальные информационные системы в условиях неопределенности и риска
- 11.1. Понятие риска в сппр слабоструктурированных проблем
- 11.2. Реализация эс инвестиционного проектирования
- * Эс определения целей инвестирования капитала.
- Глава 12. Системы, ориентированные на естественно-языковые запросы. Машинное обучение
- 12.1. Естественно-языковые интерфейсы
- 12.2. Машинное обучение
- Глава 13. Современные методы исследования,
- 13.1. Интеллектуальные методы проектирования сложных систем
- 13.2. Эвристические методы синтеза сложных систем
- 13.3. Интегрированные, гибридные и синергетические системы
- Библиографический список
- Оглавление
- Николай Александрович Семенов Интеллектуальные информационные системы
- 170026, Г. Тверь, наб. Афанасия Никитина, 22