![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Способом обратного распространения (back propogation) называется способ обучения многослойных НС. В таких НС связи между собой имеют только соседние слои, при этом каждый нейрон предыдущего слоя связан со всеми нейронами последующего слоя. Нейроны обычно имеют сигмоидальную функцию возбуждения. Первый слой нейронов называется входным и содержит число нейронов соответствующее распознаваемому образу. Последний слой нейронов называется выходным и содержит столько нейронов,
сколько классов образов распознается. Между входным и выходным слоями располагается один или более скрытых (теневых) слоев. Определение числа скрытых слоев и числа нейронов в каждом слое для конкретной задачи является неформальной задачей.
Принцип обучения такой нейронной сети базируется на вычислении отклонений значений сигналов на выходных процессорных элементах от эталонных и обратном "прогоне" этих отклонений до породивших их элементов с целью коррекции ошибки. Еще в 1974 году Поль Дж. Вербос [5] изобрел значительно более эффективную процедуру для вычисления величины, называемой производной ошибки по весу,
когда работал над своей докторской диссертацией в Гарвардском университете. Процедура, известная теперь как алгоритм обратного распространения, стала одним из наиболее важных инструментов в обучении нейронных сетей. Однако это- му алгоритму свойственны и недостатки, главный из которых - отсутствие сколько-нибудь приемлемых оценок времени обучения. Понимание, что сеть в конце концов обучится, мало утешает, если на это могут уйти годы. Тем не менее, алгоритм обратного распространения имеет широчайшее применение. Например, успех фирмы NEC в распознавании букв, был достигнут именно благодаря алгоритму обратного распространения.
Алгоритм ОРО ― итеративный градиентный алгоритм обучения, который используется с целью минимизации среднеквадратичного отклонения текущего выхода и желаемого выхода многослойных НС. На каждый нейрон первого слоя подаются все элементы внешнего входного сигнала. Нейроны выполняют взвешенное суммирование элементов входных сигналов, прибавляя к сумме смещение нейрона. Над полученной суммой выполняется нелинейное преобразование активационной функцией. Значение функции активации и есть выход нейрона.
В многослойных НС оптимальные выходные значения нейронов скрытых слоев неизвестны. В таком случае наиболее приемлемым оказывается
использование градиентного метода поиска минимума функции ошибки от выходов сети к ее входам.
Согласно методу наименьших квадратов, минимизируемой целевой функцией ошибки НС является величина:
![]() | (1) |
где ― реальное выходное состояние нейрона j выходного слоя;
dj – идеальное (желаемое) выходное состояние этого нейрона.
Выходное значение j-го нейрона определяется по формуле
![]() | (2) |
где F ― активационная функция
Sj ― взвешенная сумма входов j-го нейрона
![]() | (3) |
где yi ― выходное значение i-го нейрона предыдущего слоя
wij, Tj ― соответственно весовой коэффициент и порог j-го нейрона.
Согласно методу градиентного спуска изменение весовых коэффициентов и порогов НС происходит по следующему правилу:
![]() | (4) |
![]() | (5) |
Ошибка j-го нейрона выходного слоя
![]() | (6) |
Для нейронов же скрытых слоев формула, как показано в /1/, имеет вид
![]() | (7) |
где m ― число нейронов следующего слоя по отношению к скрытому слою.
Также в /1/ показано, что
![]() | (8) |
![]() | (9) |
С учетом полученных формул, весовые коэффициенты и пороги нейронных элементов должны изменяться с течением времени следующим образом:
![]() | (10) |
![]() | (11) |
В качестве активационной функции F может выступать сигмоид, гиперболический тангенс или иная.
Полностью алгоритм обучения методом ОРО выглядит следующим образом:
На первом шаге на все входы сети подается один из возможных образов из обучающей выборки. В режиме нормального функционирования сети по формулам (2) и (3) вычисляются выходные значения.
На втором шаге рассчитывается по формуле (6) ошибка нейронов и по формуле (10) ошибка синаптических весов выходного слоя.
На третьем шаге вычисляются ошибки нейронов и синаптических весов для скрытых слоев в порядке, обратном нормальному выполнению суммирования.
На четвертом этапе происходит корректировка по формуле (10) синаптических весов всех слоев.
На пятом шаге полученная ошибка обучения сравнивается с максимально допустимой и принимается решение об окончании или продолжении процесса обучения.
К описанному методу есть ряд дополнений.
Во-первых, представляться на вход сети элементы обучающей выборки должны в случайном порядке, чтобы не вызвать привыкания НС.
Во-вторых, предпочтительно нормализовать входные сигналы, используя одну из формул нормализации. Наиболее часто используется такая формула нормализации:
![]() | (12) |
где min, max ― соответственно минимальное и максимальное значение по выборке.
Дата публикования: 2014-10-18; Прочитано: 1373 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!