Бодянский В.Е., Руденко Г.О. - ИНС архитектура обучение применение (778912), страница 22
Текст из файла (страница 22)
При этом исходная информация должна быть задана в виде последовательности пар образов «вход/выход», образующих обучающую выборку. Обучение состоит в адаптации параметров всех слоев таким образом, чтобы расхождение между выходным сигналом сети и внешним обучающим сигналом в среднем было бы минимальным. Из этого следует, что алгоритм обучения представляет собой по сути процедуру поиска экстремума специально сконструированной целевой функции ошибок.
Без потери общности рассмотрим процесс обучения трехслойного персептрона, показанного на рис. 2.4, с и, входами, и, нейронами в первом скрытом слое, и„нейронами — во втором и и, нейронами в выходном слое. 131 4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ ['4.32б) Вводя локальную ошибку (4.327) с учетом того, что й О и', '(Й) = ~ „и',,'(/с)х,"'(Й) = ~~ ]],.',.'(7с)о,' '1/с) ]=] ]=] ['4.328) [здесь х[."(к) = о[. ](й) означает, что входом третьего слоя является выход второго), несложно записать общую формулу настройки весов выходного слоя в виде Л [,.',.]1~) =]1(а)Ф[" 1ж)х,"]1ж) =]11Ц~,'"И)о,"М, (4.329) где и] ~,'" Ж) = ~, Ж)Ф,'" 1]],'-'Ж)))' = И, Ж) — у, Ж)) и, ]',4.330) Настройка синаптических весов скрытых слоев гораздо сложнее.
Для второго скрытого слоя запишем [2] [,] дЕ(К) дЕЯ) д]], Ю ~я " ~,р " ~и[л~~) ~ [ ] =]7(У )6[2](У )х[2]ж) = 71Ж)Ф~]ж)0[ц(У ) г4.331) где локальная ошибка второго скрытого слоя определяется выражением Ф ] (й) = — ] = 1,2,..., ]]„. О]],.- ]',4.332) Проблема состоит в том, что эту ошибку невозможно определить непосредственно по типу (4.330), в связи с чем необходимо попытаться ее 133 синаптических весов выходного слоя ]][,.] справедливо соотношение типа ['4.132) выразить либо через наблюдаемые сигналы, либо через переменные, которые можно оценить. Переписав (4.332) в виде дЕ(1,) дЕ(и) до',"(й) ди[.
~ до[. ~(/с) ди[. [ ./ (4.333) с учетом того, что о'," ([с) = [1к,'." (и',." (Й)), (4.334) получаем ~[2[ „дЕЖ) до'" (/с) ди '" 2 2 (4.335) Представив — дЕ(й)/до,[3[(й) в виде дЕ(1с) ~' дЕ(й) ди,'."(/с) до[2[([с) ,,ди[з[(Ус) до[2[ ди„'([с) до,. ~~з д ~~2 йз ~~; ~[2[(~с) 1;- [з[(~с) [зз(,с) ~;. ~[2[(~) [з[([.) до в[ [=[ (4.336) [2[ о„ [2[(~с) ~2 ~," [з[(~), [з[(~с) (4.337) откуда следует д [[ "з Л„[2[в) =„Ж [1[в доз Ед[з]ж) [3[(1). и. (4.338) Аналогично можно записать формулу настройки весов первого слоя Ли ~',~(Ус) = тЯс)б~,.'~(1с)х~~([с) = 21(/с)д~'~(й)о~"~(Ус) = [Яс)б~л(1с)х,. (К), (4.339) где локальная ошибка первого слоя имеет вид 134 локальную ошибку второго скрытого слоя можно вычислить с помощью выражения 4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ (4.340) ~и],'.] = т1Б~."х!",,ю = 1,2,3; (4.341) )~ подача на вход сети следующего образа х и т.д.
Процесс обучения продолжается до тех пор, пока ошибка на выходе ИНС не станет достаточно малой, а веса стабилизируются на некотором уровне. После обучения нейронная сеть приобретает способности к обобщению, т.е. начинает правильно классифицировать образы, не представленные в обучающей выборке. Это самая главная черта многослойных персептронов, осуществляющих после обучения произвольное нелинейное отображение пространства входов в пространство выходов на основе аппроксимации сложных многомерных нелинейных функций. 135 Несложно видеть, что локальная ошибка внутреннего (скрытого) слоя определяется на основе ошибок последующего слоя. Начиная с выходного слоя, с помощью выражения (4.330) вычисляется локальная ошибка 6]:"(й), а затем путем ее распространения от выхода ко входу сети вычисляются ошибки д]3](й) и д,'.п(к). На рис 4.23 приведена схема обучения трехслойного персептрона, обучаемого с помощью алгоритма обратного распространения ошибок.
Главное отличие рассмотренного алгоритма обучения от процедур, описанных в подразделе 4.4, состоит в расчете локальных ошибок й,].*](й) (~ = 1,2) скрытых слоев. Если в выходном слое локальная ошибка — это функция желаемого и фактического выходов сети и производной активационной функции, то для скрытых слоев локальные ошибки определяются на основе локальных ошибок последующих слоев. Работу алгоритма обратного распространения ошибок удобно описать в виде последовательности следующих шагов: ~ задание начальных условий для всех синаптических весов сети в виде достаточно малых случайных чисел (обычно — 0.5/п,.
] < ]] ~.;.] < 0.5/п, ] ) с тем, чтобы активационные функции нейронов не вошли в режим насыщения на начальных стадиях обучения (защита от «паралича» сети); )~ подача на вход сети образа х и вычисление выходов всех нейронов при заданных значениях и',,", по заданному обучающему вектору И и вычисленным промежуточным выходам о',.' расчет локальных ошибок д,.'] для всех слоев; уточнение всех синаптических весов по формуле х [я д [и д ~[3[ х[«= ~' С'~[- у [ [~[ т'" ~[и„,,[я 6[3[ ! д[[ 3 Рис. 4.23 - Трехслойный персептрон, обучаемый с помощью обратного распространения ошибок 4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ Д][[" ]([с) = 7)Ф' ]([с)0[с ц([с) + р Д]]'["! ([с — 1), (4.342) где г)>0; 0<)3<1; ~=12,3. При движении через область плато целевой функции, когда компоненты градиента малы и практически не меняются от шага к шагу, (4.342) можно переписать в виде дЕ(1с) [,] г1 дЕЯ) Р' ),[к] Я 1 ф 3,[н я я (4343) из которого следует, что варьированием параметра регуляризации Р можно добиться увеличения скорости обучения.
В отличие от последовательной процедуры обучения, когда синаптические веса сети настраиваются на каждом такте времени 1с, пакетное обучение подразумевает сначала накопление всей обучающей выборки, а затем одновременную обработку всего пакета имеющихся пар образов. При этом для каждого 1с-го образа рассчитывается корректирующая добавка ди',.",.](1с) по формулам (4.329), (4.338) и (4.339) и только после предъявления последней пары из обучающей выборки происходит собственно коррекция весов по формуле (4344) Эта процедура может повторяться несколько раз, а каждый такой «проход» по выборке называется эпохой обучения. На практике в режиме пакетного обучения используются более сложные процедуры нежели (4344), а в качестве 137 Свойства рассмотренной выше процедуры обучения существенным образом зависят от выбора параметра шага фас) .
С одной стороны, он должен быть достаточно малым, чтобы обеспечить оптимизацию глобальной целевой функции Е', с другой — малый шаговый коэффициент резко снижает скорость сходимости, а, следовательно, увеличивает время обучения. Большое значение ]1(й) увеличивает скорость сходимости, но может спровоцировать неустойчивость. Следует также помнить, что если целевая функция имеет локальные минимумы, процесс обучения может в них «застрять». Улучшить характеристики процесса обучения можно, соответствующим образом модифицировав процедуры, описанные в подразделе 4.4. Так, например, вводя регуляризующий член, можно записать процедуру обратного распространения, являющуюся развитием алгоритма Чана-Фоллсайда (4.166) 127~ одного из хорошо зарекомендовавших себя алгоритмов можно отметить конструкцию вида (271 где р =1,2,...
— номер эпохи; 0<п <1; р — параметр регуляризации; а (обычно 10 ' — 10 ') — параметр, предохраняющий процесс обучения от возникновения недопустимо больших весов ~~,'.,".. С целью защиты от застревания в локальных минимумах глобальной целевой функции в алгоритм обучения может быть добавлен случайный шум (по типу (4.269)), играющий роль зондирующего сигнала. Выбор последовательного или пакетного алгоритмов обучения определяется конкретной задачей, решаемой с помощью многослойной сети, Последовательный подход применяется в тех случаях, когда обучающая выборка не доступна до начала процесса обучения, и образы поступают последовательно во времени; в случае больших объемов обучающей выборки и высокой размерности образов-векторов пакетная обработка требует резервирования больших объемов памяти, что делает предпочтительным опять- таки последовательный подход; кроме того, последовательные процедуры часто просто «быстрее».
В пользу пакетной обработки говорит то, что она обладает дополнительными фильтрующими свойствами и обеспечивает более высокую точность оценивания. Как следует из изложенного, обучение многослойной ИНС на основе обратного распространения ошибок — достаточно громоздкая процедура, скорость сходимости которой существенно зависит от количества нейронов в сети.
Число нейронов в слоях заранее оценить невозможно, поэтому на практике обычно пользуются эмпирическими правилами типа: л., =и„, л, =2п, +1, л, =т, хотя говорить об оптимальности в этом случае, естественно, не приходится. Более конструктивным представляется подход, при котором создается исходная ИНС с заведомо избыточным числом нейронов, которое сокращается в процессе обучения от эпохи к эпохе. При этом все нейроны, которые не вносят в решение задачи никакого вклада либо не передают информацию на последующий слой, изымаются.
Чтобы выяснить какие скрытые нейроны могут быть удалены, контролируются их выходные сигналы после каждой эпохи обучения, при этом если сигнал близок к нулю либо равен выходу любого другого нейрона этого слоя, данный нейрон может быть ликвидирован. После каждой эпохи эта процедура может повторяться. Существует и другой подход, когда число нейронов от эпохи к эпохе увеличивается до достижения требуемой точности.
Кроме того, увеличением числа нейронов сеть можно вывести из «паралича» или локального минимума целевой функции, которая контролируется в процессе обучения. Если эта функция не уменьшается или уменьшается очень медленно, в сеть добавляется нейрон с весами, выбранными случайным образом. Если в процессе обучения 138 4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ Е(7с) = ~~1 ~(е. (7с)), (4346) где 1'(е) — некоторая выпуклая функция. Случай Пе (/с)) = — е (й) дает стандартный квадратичный критерий, 2 ' 1(е,(/с)) =~е,(1с)~ — ведет к критерию наименьших модулей и т.п. И хотя квадратичный критерий позволяет получить оптимальные оценки в случае гауссовского распределения сигналов и возмущений, для распределений с так называемыми «тяжелыми хвостами» (Лапласа, Коши и др.) оценки, основанные на (4.322), (4.323), могут оказаться неудовлетворительными.














