Нейросетевые технологии. Каширина И.Л. - 22 стр.

UptoLike

Составители: 

22
Алгоритм обучения сети обратного распространения
Рассмотрим теперь полный алгоритм обучения нейросети.
Шаг 1. Инициализация сети.
Весовым коэффициентам присваиваются малые случайные значения, на-
пример, из диапазона (–0.3, 0.3); задаются
ε
параметр точности обуче-
ния,
α
параметр скорости обучения (как правило 1.0
и может еще
уменьшаться в процессе обучения), N
max
максимально допустимое число
итераций.
Шаг 2. Вычисление текущего выходного сигнала.
На вход сети подается один из образов обучающей выборки и определя-
ются значения выходов всех нейронов нейросети.
Шаг 3. Настройка синаптических весов.
Рассчитать изменение весов для выходного слоя нейронной сети по фор-
мулам
jk
N
jk
N
jk
v
E
vv
=
+
α
1
, где
c
jk
jk
y
v
E
δ
=
, )1()(
kkkkk
yydy
=
δ
.
Рассчитать изменение весов для скрытого слоя по формулам
ij
N
ij
N
ij
w
E
ww
=
+
α
1
, где
1
1
()(1).
p
Nc c
kjk j j i
k
ij
E
vy yx
w
δ
+
=
=−
Шаг 4. Шаги 2–3 повторяются для всех обучающих векторов. Обучение
завершается по достижении для каждого из обучающих образов значения
функции ошибки, не превосходящего
ε
или после максимально допусти-
мого числа итераций.
Замечание 1. На шаге 2 векторы из обучающей последовательности луч-
ше предъявлять на вход в случайном порядке.
Замечание 2. Во многих случаях желательно наделять каждый нейрон
обучаемым смещением. Это позволяет сдвигать начало отсчета логистиче-
ской функции, давая эффект, аналогичный подстройке порога персептрон-
ного нейрона, и приводит к ускорению процесса обучения. Эта возмож-
ность может быть легко введена в обучающий алгоритм с помощью добав-
ляемого к каждому нейрону веса, присоединенного к
+1. Этот вес обучает-
ся так же, как и все остальные веса, за исключением того, что подаваемый
на него сигнал всегда равен +1, а не выходу нейрона предыдущего слоя.
Замечание 3. Количество входов и выходов сети, как правило, диктуется
условиями задачи, а размер скрытого слоя находят экспериментально.
Обычно число нейронов в нем составляет 30–50 % от числа входов. В [6]
получена приближенная оценка m ~
nT , где T – объём обучающей вы-
борки, nчисло входов сети. Слишком большое количество нейронов
скрытого слоя приводит к тому, что сеть теряет способность к обобщению
            Алгоритм обучения сети обратного распространения
Рассмотрим теперь полный алгоритм обучения нейросети.
Шаг 1. Инициализация сети.
Весовым коэффициентам присваиваются малые случайные значения, на-
пример, из диапазона (–0.3, 0.3); задаются ε – параметр точности обуче-
ния, α – параметр скорости обучения (как правило ≈ 0.1 и может еще
уменьшаться в процессе обучения), Nmax – максимально допустимое число
итераций.
Шаг 2. Вычисление текущего выходного сигнала.
На вход сети подается один из образов обучающей выборки и определя-
ются значения выходов всех нейронов нейросети.
Шаг 3. Настройка синаптических весов.
Рассчитать изменение весов для выходного слоя нейронной сети по фор-
мулам
                              ∂E          ∂E
        v Njk +1 = v Njk − α       , где       = δ k y cj , δ k= ( yk − d k ) y k (1 − yk ) .
                             ∂v jk       ∂v jk
Рассчитать изменение весов для скрытого слоя по формулам
                               ∂E         ∂E         p
            wijN +1 = wijN − α      , где       = (∑δ k v Njk+1 ) y cj (1 − y cj ) xi .
                               ∂wij       ∂ wij    k =1

Шаг 4. Шаги 2–3 повторяются для всех обучающих векторов. Обучение
завершается по достижении для каждого из обучающих образов значения
функции ошибки, не превосходящего ε или после максимально допусти-
мого числа итераций.
Замечание 1. На шаге 2 векторы из обучающей последовательности луч-
ше предъявлять на вход в случайном порядке.
Замечание 2. Во многих случаях желательно наделять каждый нейрон
обучаемым смещением. Это позволяет сдвигать начало отсчета логистиче-
ской функции, давая эффект, аналогичный подстройке порога персептрон-
ного нейрона, и приводит к ускорению процесса обучения. Эта возмож-
ность может быть легко введена в обучающий алгоритм с помощью добав-
ляемого к каждому нейрону веса, присоединенного к +1. Этот вес обучает-
ся так же, как и все остальные веса, за исключением того, что подаваемый
на него сигнал всегда равен +1, а не выходу нейрона предыдущего слоя.
Замечание 3. Количество входов и выходов сети, как правило, диктуется
условиями задачи, а размер скрытого слоя находят экспериментально.
Обычно число нейронов в нем составляет 30–50 % от числа входов. В [6]
получена приближенная оценка m ~ T n , где T – объём обучающей вы-
борки, n – число входов сети. Слишком большое количество нейронов
скрытого слоя приводит к тому, что сеть теряет способность к обобщению

                                                  22