Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по дисциплине ИСИ.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
578 Кб
Скачать
☆

1.4.2.2 Многослойная сеть

На рисунке 12 изображена многослойная сеть, которая может обучаться с помощью процедуры обратного распространения.Первый слой нейронов (соединенный с входами) служит лишь в качестве распределительных точек, суммирования входов здесь не производится. Входной сигнал просто проходит через них к весам на их выходах. А каждый нейрон последующих слоев выдает сигналы NET и OUT, как описано выше.

Рисунок 12 - Двухслойная сеть обратного распространения

В литературе нет единообразия относительно того, как считать число слоев в таких сетях. Одни авторы используют число слоев нейронов (включая входной слой), другие – число слоев весов. Так как последнее определение функционально описательное, то оно и будет использоваться дале. Согласно этому определению, сеть на рисунке 12 рассматривается как двухслойная. Нейрон объединен с множеством весов, присоединенных к его входу. Таким образом, веса первого слоя оканчиваются на нейронах первого слоя. Вход распределительного слоя считается нулевым слоем.

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

Обучение сети обратного распространения требует выполнения следующих операций:

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

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

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

  4. подкорректировать веса сети так, чтобы минимизировать ошибку;

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

Операции, выполняемые шагами 1 и 2, сходны с теми, которые выполняются при функционировании уже обученной сети, т.е. подается входной вектор и вычисляется получающийся выход. Вычисления выполняются послойно. На рисунке 12 сначала вычисляются выходы нейронов слоя j, затем они используются в качестве входов слоя k, вычисляются выходы нейронов слоя k, которые и образуют выходной вектор сети.

На шаге 3 каждый из выходов сети, которые на рисунке 12 обозначены OUT, вычитается из соответствующей компоненты целевого вектора, чтобы получить ошибку. Эта ошибка используется на шаге 4 для коррекции весов сети, причем знак и величина изменений весов определяются алгоритмом обучения .

После достаточного числа повторений этих четырех шагов разность между действительными выходами и целевыми выходами должна уменьшиться до приемлемой величины, при этом говорят, что сеть обучилась. Теперь сеть используется для распознавания и веса не изменяются.

На шаги 1 и 2 можно смотреть как на «проход вперед», так как сигнал распространяется по сети от входа к выходу. Шаги 3, 4 составляют «обратный проход», здесь вычисляемый сигнал ошибки распространяется обратно по сети и используется для подстройки весов. Рассмотрим каждый из этапов обучения более подробно.