
- •4. Основные сведения о нейронных сетях
- •4.1. Введение
- •Каждый нейрон, входящий в нейронную сеть и представленный на рис. 1 в виде кружка, участвует в преобразовании входных сигналов, так что выходной сигнал зависит от алгоритма работы всех нейронов.
- •4.2. Модель нервной клетки (нейрона)
- •Лекция 24
- •4.3. Математическая модель нейрона
- •4.4. Многослойная нейронная сеть
- •4.5. Обучение нейронной сети
- •Лекция 25
- •4.6. Обратное распространение ошибки
- •Лекция 26
- •Если q – й нейрон расположен в k–ом скрытом слое (рис. 8), то согласно (17а) при замене r на q , 2 на k, 1 на k-1 и I на r,
- •4.7. Аппроксимация функций (моделирование) с помощью нейронных сетей (персептронов)
- •Нейронная сеть с радиальными базисными функциями
- •Cтруктура нейронной сети с радиально базисными функциями (рбф сети)
- •Методы обучения рбф сети
- •Лекция 27
- •Моделирование (идентификация) нелинейных динамических процессов (объектов)
- •3. Применение нейронных сетей (нс) для управления
- •3.1. Нейросетевые адаптивные системы управления
- •3.1.1. Нейросетевая технология адаптивной линеаризации обратной связью
- •3.1.2. Нейросетевое прямое и косвенное адаптивное управление на основе желаемой (эталонной) модели
- •Лекция 28
- •5. Синтез нейронных нечетких сетей
- •5.1. Введение
- •Адаптивные нейронные нечеткие системы инференции (anfis)
- •Структура anfis
- •Алгоритм обучения anfis
- •Генетические алгоритмы
- •Лекция 29
- •Генетические нечеткие системы (Извлечение нечетких знаний с помощью генетических алгоритмов)
- •Проектирование нечетких систем
- •Классификация генетических нечетких систем
- •4.6. Обратное распространение ошибки
4.5. Обучение нейронной сети
Большая часть прикладных задач, решаемых нейронной сетью, может быть сведена к реализации некоторого сложного многомерного преобразования. В результате отображения вектора входа u=(u1, …,un) в вектор выхода y=(y1,…,ym) необходимо обеспечить формирование правильных выходных сигналов в соответствии:
со всеми примерами обучающей выборки (образцовых данных);
со всеми возможными входными сигналами, которые не вошли в обучающую выборку.
Второе требование в значительной степени усложняет задачу формирования обучающей выборки.
В общем виде эта задача в настоящее время еще не решена, однако во всех известных случаях может быть найдено частное решение. Очевидно, что процесс функционирования нейронной сети, сущность действий, которые она способна выполнять, зависит от величин синаптических (весовых коэффициентов усиления) связей между нейронами сети и смещений. Поэтому, задавшись определенной структурой сети (количеством слоев и нейронов, числом входов и выходов), соответствующей поставленной задаче, необходимо найти оптимальные или приемлемые значения всех весовых коэффициентов и смещений.
Этот этап называется обучением нейронной сети и от того, насколько качественно он будет выполнен, зависит способность сети решать во время функционирования, поставленные перед ней проблемы.
В процессе работы нейронная сеть формирует выходной векторный сигнал y в соответствии с входным векторным сигналом u, реализуя некоторую функцию g:
y=g(u,W1 ,W2 ,…, Wm),
где Wq – вектор весовых коффициентов связей q-слоя, m-число слоев.
Если структура (архитектура) сети задана, то вид функции g определяется значениями весовых коэффициентов связей и смещений сети. Обозначим через G множество всех возможных функций g, соответствующих заданной структуре сети.
Пусть
решение некоторой задачи есть функция
r:
d
= r(u),
заданная парами входных-выходных
векторных данных
(обучающей
выборки),
для
которых
.
Здесь N число обучающих пар (выборок).
Пусть также задана функция ошибки (критерий качества, целевая функция) E как правило, сумма квадратов ошибки
,
(5)
показывающая для каждой из допустимых функций g степень близости к r. Здесь
ej,k=djk-yjk
представляет собой ошибку (разность) между скалярными желаемым djk и
действительным yjk выходами j –го нейрона выходного слоя нейросети для
обучающей
пары векторов
.
Решить
поставленную задачу с помощью нейросети
заданной структуры – это, значит,
построить (синтезировать) функцию
,
подобрав
параметры нейронов (весовые коэффициенты
синаптических связей Wq
и смещения) таким образом, чтобы критерий
качества (усредненная сумма квадратов
ошибок по всем выборкам)
обращался
в минимум для всех пар
.
Уточнение весов может проводиться после предъявления каждой обучающей выборки (так называемый режим «онлайн») либо однократно после предъявления всех выборок, составляющих цикл обучения, другими словами, эпоху (в режиме «офлайн» или режиме пакетной обработки (batch mode)). В дальнейшем изложении используется критерий качества обучения вида (5), которому соответствует оценка весов после предъявления каждой выборки.
Для упрощения можно считать, что цель обучения состоит в таком определении весовых коэффициентов нейронов каждого слоя сети, чтобы при заданном входном векторе получить на выходе значения сигналов yj , совпадающие с требуемой точностью c желаемыми значениями dj при j=1,2,…,m.
Итак, задача обучения нейросети определяется совокупностью пяти компонентов:
<u,d,r,G,E>
Обучение состоит в поиске (синтезе) функции g , минимальной по E или по EN. Оно требует длительных вычислений и представляет собой итерационную процедуру. Число итераций может составить от 103 до 108. На рис. ниже показана в схематическом виде задача обучения неросети.
Рассмотрим один из самых распространенных алгоритмов обучения – алгоритм обратного распространения ошибки.