Обучение нейронной сети - Исследование метода обратного распространения ошибки для обучения нейронной сети

Самым важным свойством нейронных сетей является их способность обучаться на основе данных окружающей среды и в результате обучения повышать свою производительность. Обучение нейронной сети происходит посредством интерактивного процесса корректировки синаптических весов и порогов.

Существуют два концептуальных подхода к обучению нейронных сетей: обучение с учителем и обучение без учителя. В данной курсовой работе используется метод обучения с учителем.

Обучение нейронной сети с учителем предполагает, что для каждого входного вектора из обучающего множества существует требуемое значение выходного вектора, называемого целевым. Эти вектора образуют обучающую пару. Веса сети изменяют до тех пор, пока для каждого входного вектора не будет получен приемлемый уровень отклонения выходного вектора от целевого.

Алгоритм обратного распространения ошибки:

Инициализировать синаптические веса маленькими случайными значениями.

Выбрать очередную обучающую пару из обучающего множества; подать входной вектор на вход сети.

Вычислить выход сети.

Вычислить разность между выходом сети и требуемым выходом (целевым вектором обучающей пары).

Подкорректировать веса сети для минимизации ошибки (как см. ниже).

Повторять шаги с 2 по 5 для каждого вектора обучающего множества до тех пор, пока ошибка на всем множестве не достигнет приемлемого уровня.

Рассмотрим подробней 5 шаг - корректировка весов сети. Здесь следует выделить два нижеописанных случая.

Случай 1. Корректировка синаптических весов выходного слоя

Определимся, что индексом p будем обозначать нейрон, из которого выходит синаптический вес, а q - нейрон в который входит.

Введем величину д, которая равна разности между требуемым и реальным выходами, умноженной на производную функции активации:

(9)

Тогда, веса выходного слоя после коррекции будут равны:

(10)

Где:

I - номер текущей итерации обучения;

- величина синаптического веса, соединяющего нейрон p с нейроном q;

- коэффициент "скорости обучения", позволяет управлять средней величиной изменения весов;

- выход нейрона.

Случай 2. Корректировка синаптических весов скрытого слоя.

(11)

Где:

- сумма от 1 по N, N - количество нейронов выходного слоя.

Тогда, веса скрытого слоя после коррекции будут равны:

(12)

В этом алгоритме происходит распространение ошибки от выходов НС ко входам, то есть в направлении обратном распространению сигналов обычном режиме работы. Согласно методу наименьших квадратов, минимизируемой целевой функцией ошибки НС является величина:

(13)

Где реальное выходное состояние нейрона выходного слоя N нейронной сети при подаче на ее входы - го образа; - желаемое (идеальное) выходное состояние этого нейрона. Суммирование происходит по всем нейронам выходного слоя и по всем обрабатываемым сетью образам.

Чтобы определить оптимальные параметры обучения нейросети данным методом, такие как количество шагов обучения, скорость обучения и коэффициент сигмоида, мы будем анализировать величину ошибки (13). Для этого мы будем использовать среду Matlab.

Мы должны сначала составить таблицы значений ошибки обучения, как функции от 3-х параметров: шага обучения, скорости обучения и коэффициента а в функции активации (7).

План эксперимента:

Коэффициент сигмоиды изменяется от 0 до 10 с шагом 0,1;

Количество шагов обучения - 100;

Так как поверхность является функцией от двух переменных, коэффициент скорости обучения должен быть константой. Поэтому его возьмем равным 3 конкретным значениям: 0,5; 1; 1,5. Тогда функция ошибки будет зависеть от двух параметров, и мы сможем построить ее график.

Анализируя графики, мы сможем выбрать оптимальные значения этих параметров.

Похожие статьи




Обучение нейронной сети - Исследование метода обратного распространения ошибки для обучения нейронной сети

Предыдущая | Следующая