Процесс функционирования ИНС, т.е. сущность действий которые она способна выполнить, зависит от величины синоптических связей, поэтому разработчику выбрав структуру ИНС должен найти оптимальное значение весовых коэффициентов.
Этот этап называется – обучение ИНС.
Схема процесса обучения следующая: Из БД выбирается пример, применяется ИНС и анализируется ответ, если ошибка мала, то ИНС считается обученной, Если ошибка велика- то происходит настройка весовых коэффициентов.
Обычно ИНС настраивают веса связи по имеющейся обучающей выборки, причем функционирование ИНС улучшается по мере итерационной настройки весовых коэффициентов.
Существуют 3 парадигмы обучения: Обучение с учителем, обучение без учителя. Смешанное обучение.
Обучение с учителем - предполагает, что ИНС располагает правильными ответами (выходами сети) на каждый входной пример. Веса настраиваются таким образом, чтобы сеть производила ответы как можно более близкие к известным правильным ответам. Целью является минимизация ошибки.
|
|
Алгоритм обратного распространения ошибки:
Представляет собой итерационный градиентный алгоритм обучения, который используется с целью минимизации среднеквадратического отклонения текущего и желаемого выходов в многослойных ИНС.
Алгоритм обратного распространения используется для обучения многослойных ИНС с последовательными связями.
В многослойных ИНС оптимальное значение нейронов всех слоев, кроме последнего, неизвестны и многослойную сеть нельзя обучить используя величины ошибок на выходах ИНС.
Наиболее приемлемым вариантом обучения оказался градиентный метод минимизации функции ошибки с распространением сигналов ошибки от выходов ИНС к ее входам. Алгоритм действует итерационно, функция ошибки представляет собой сумму квадратов рассогласования желаемого и реального выхода сети. Итерация алгоритма называется эпохами. На каждой эпохе на вход сети подается обучающее наблюдение и вычисляется ошибка.
Процесс обучения прекращается либо когда произойдет определенное количество эпох., либо когда ошибки достигнут некоторого уровня малости. Либо, когда ошибка перестанет уменьшаться.
Принцип действия: Обучение алгоритмом обратного распространения ошибки предполагает два прохода по всем слоям сети: прямого и обратного. При прямом проходе входной вектор подается на входной слой нейронной сети, после чего распространяется по сети от слоя к слою. В результате генерируется набор выходных сигналов. Во время прямого прохода все синаптические веса сети фиксированы. Во время обратного прохода все синаптические веса настраиваются в соответствии с правилом коррекции ошибок, а именно: фактический выход сети вычитается из желаемого, в результате чего формируется сигнал ошибки. Этот сигнал впоследствии распространяется по сети в направлении, обратном направлению синаптических связей. Отсюда и название – алгоритм обратного распространения ошибки.
|
|
Описание алгоритма:
1)Весам сети присваиваются небольшие начальные значения.
2)Выбирается обучающая пара из обучающего множества, вектор Х подается на вход сети.
3) Вычисляется выход сети
4) Вычисляется разность между желаемым и вычисленным выходом сети.
5) Веса сети корректируются, чтобы минимизировать ошибку
6) Шаги со 2 по 5 повторяются для каждой пары обучающего множества до тех пор, пока ошибка не достигнет приемлемой величины.
Шаги 2-3 представляют собой проход вперед; 4-5 проход назад. Сначала происходит коррекция весов выходного слоя, затем предпоследнего и т.д. до первого слоя.