Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТПР. Всё в 1 файле / Нейрокомпьютеры.pdf
Скачиваний:
201
Добавлен:
15.09.2014
Размер:
2.15 Mб
Скачать

Отсутствие сходимости при больших значениях коэффициента обучения. Дифференцируемая функция активации.

Вывод формулы для расчёта адаптивного коэффициента обучения в алгоритме обратного распространения ошибки.

Для преодоления недостатков связанных с выбором коэффициента обучения используют адаптивный коэффициент обучения.

ω (t +1) = ω (t) −α(t) E(t)

 

 

 

(14)

 

 

ij

 

 

ij

 

∂ωij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Его рассчитывают градиентным методом, исходя из записанного ниже

 

условия.

 

 

 

 

 

 

 

 

 

 

 

E(t +1)

 

=

E(t +1)

 

yj (t +1)

=

0

 

(15)

 

 

α

 

yj

α

 

 

 

 

 

 

 

 

 

 

 

Исходя из определения синаптической функции, как скалярного

 

произведения, получаем.

 

 

 

E(t)) +α(t) E(t) Tj (t) =

 

S j (t +1) = yi (t) (ωij (t) α(t)

 

 

 

 

 

i

 

 

 

 

ωij

 

Tj

(16)

 

 

 

 

= S j (t) α(t) (yi (t) E(t)

 

E(t))

 

 

 

 

 

 

 

 

 

 

 

 

i

 

ωij

 

Tj

 

Пусть

 

 

(t) E(t) E(t)

 

 

 

 

 

aj (t) = yi

 

 

 

(17)

 

 

i

 

 

ωij

Tj

 

 

 

 

 

тогда

 

 

 

 

 

 

 

 

 

 

 

S j (t +1) = S j (t) α(t) aj (t)

 

 

 

(18)

 

В общем случае решение довольно сложное и может потребовать больших вычислительных временных ресурсов, поэтому, чтобы его ускорить, пользуются упрощённым решением, в котором рассматривают приближение до некоторого

порядка разложения функции активации в ряд Тейлора относительно точки x0 .

Пусть

 

 

 

 

x0 = 0

 

 

 

(19)

тогда, если функция неограниченно дифференцируема,

 

(i)

(x0 )

 

 

y j (t +1) =

F

 

(S j (t +1) x0 )i

(20)

 

i!

i=0

 

 

Рассмотрим линейное приближение функции активации и выразим её значение в точках t +1:

%

(t +1)

S j

(t +1)

(21)

y j

= F(0) + F (0)

%

(t +1)

 

 

aj

(t)

(22)

y j

= F(0) + F (0)

S j (t) α(t) F (0)

и t :

(t)

 

 

 

 

(23)

%

 

 

 

 

 

y j

(t) = F(0) + F (0) S j

 

 

 

 

из чего получаем выражение:

 

 

 

 

 

%

(t +1)

%

aj

(t)

 

 

(24)

y j

= yj (t) α(t) F (0)

 

 

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

E%(t +1)

= 0

(25)

α(t)

 

 

Следует отметить, что в этой точке искомое решение всегда имеет минимум, так как:

2

 

2

 

2

%

 

 

 

 

 

 

 

E(t +1)

 

 

 

 

F (0)

aj (t)

 

=

 

 

 

> 0

 

(26)

 

 

α(t)2

 

 

 

 

 

 

 

 

 

 

 

Решая, получаем:

 

 

aj (t)) = 0

 

 

 

 

 

 

 

 

(27)

( y j (t) d j (t) α(t) F

(0)

aj (t)) (F (0)

j

Откуда можно выразить α(t).

 

 

 

 

 

 

( yj (t) d j (t)) aj (t)

 

 

 

 

α(t) =

 

 

j

 

 

 

 

 

 

 

 

 

 

 

F(0) aj (t)2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

Выразим:

 

y j (t)

 

S j (t)

 

 

 

 

 

E(t)

=

E(t)

 

 

=γ j

(t) F(S j

(t)) y j

(t)

ωij

yj

S j

ωij

 

 

 

 

 

 

 

 

E(t)

=

E(t)

 

y j (t)

 

S j (t)

 

= −γ j (t) F(S j (t))

 

Tj

yj

S j

Tj

 

 

 

 

 

 

 

 

 

(28)

(29)

(30)

в частности, для слоя эффекторов:

E(t)

=

E(t)

 

y j (t)

 

S j (t)

= ( yj

(t) d j

(t)) F(S j (t))

yj (t)

(31)

ωij

yj

S j

ωij

 

 

 

 

 

 

 

 

E(t)

=

E(t)

 

y j (t)

 

S j (t)

= (d j

(t) yj

(t)) F(S j (t))

(32)

 

Tj

yj

S j

Tj

 

 

 

 

 

 

 

 

 

используя полученные выражения, можно выразить aj (t):

 

 

aj (t) = (1+ yi (t)2 ) γ j (t) F(S j (t))

 

(33)

 

i

в случаеk = p (последний слой) γ j (t) = y j (t) d j (t) и получить приближение:

γ j (t)2 F(S j (t))

α(t) =

 

j

(34)

F(0) (1+ yi (t)2 ) ((γ j (t) F(S j (t)))2 )

 

i

j

 

Существуют другие способы расчёта адаптивного коэффициента обучения основанные, например, на кубичной и квадратичной аппроксимации.

Вывод формулы для расчёта адаптивного шага обучения для нерекуррентной линейной нейронной сети.

Для нерекуррентной линейной сети F(x) =1

γ j (t)2

α(t) =

j

 

(35)

(1+ yi (t)2 ) ((γ j (t))2 )

 

i

j

 

α(t) =

1

 

(36)

(1+ yi (t)2 )

 

i

Алгоритм послойного обучения. Назначение и отличие от алгоритма обратного распространения ошибки.

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

ωij (t +1) =ωij (t) α(t) γ j (t) F(S j (t)) yi (t)

(37)

Tj (t +1) =Tj (t) +α(t) γ j (t) F(S j (t))

(38)

В методе послойного обучения рассчитывается эталонное значение для каждого нейрона скрытого слоя.

d%

(t)

y (t +1)

(39)

i

 

i

 

Это эталонное значение рассчитывается исходя из условия.

d% (t) = y (t) α

i

(t) E(t)

 

 

(40)

i

 

i

 

 

 

yi

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yj (t)

 

S j (t)

 

 

E(t)

=

E(t)

 

 

=

γ j (t) F(S j (t)) ωij (t) =γi (t) (41)

yi

y j

 

 

S j

yi

 

j

 

 

 

 

 

j

S j (t +1) =ωij (t) ( yi (t) αi (t) γi (t)) + ωkj (t) yk (t) Tj (t) (42)

S j (t +1) = S j (t) αi (t) γi (t) ωij (t)

ki

(43)

d%

(t) = y

j

(t) α

(t) γ

i

(t) ω (t)

(ряд Тейлора)

(44)

 

j

 

 

 

 

 

 

 

i

 

 

 

ij

 

 

 

 

E%(t +1) =

 

1

(d%j (t) d j (t))2

 

 

(45)

 

2

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

E%(t +1)

 

=

( yj (t) d j (t) αi (t) γi (t) ωij (t)) (γi (t) ωij (t)) = 0 (46)

 

 

α

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

i ( yj (t) d j (t)) ωij (t)

 

 

(47)

αi (t) =

 

 

 

γi (t) ωij (t)2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( yj (t) d j (t)) ωij (t)

 

 

 

αi (t) =

 

 

 

 

 

 

 

 

j

 

 

 

 

 

(48)

ωij (t)2 ( yj (t) d j (t)) F(S j (t)) ωij (t)

 

 

 

 

 

 

j

 

 

 

 

 

j

 

 

 

 

 

 

d%

(t) = y (t) α

(t) γ

(t)

 

 

 

(49)

 

i

 

 

 

i

 

 

 

i

 

 

i

 

 

 

 

 

 

Нормализация

 

 

 

 

 

 

 

 

 

di

(t) =

 

 

 

 

 

d%i (t)

 

 

 

 

 

 

 

 

(50)

max | d%i (t) |

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

Алгоритм:

Дано: Em , Q входных образов и эталонов.

1.Случайная инициализация весов ωij[k ] (t) значениями равномерно

распределенной числовой величины.

2.k = p

3.На вход подаются Q входных образов и для слоя k производиться

модификация весов, порогов и выходов для слоя y[k1]

ωij[k ] (t +1) =ωij[k ] (t) α(t) γ j[k ] (t) Fp(S j[k ] (t)) yi[k1] (t)

Tj[k ] (t +1) =Tj[k ] (t) +α(t) γ j[k ] (t) Fp(S j[k ] (t)) d%i (t) = yi (t) αi (t) γi (t)

4. Используются рассчитанные выходы y[k1] , производится модификация весов, порогов и выходов для слоя y до тех пор, пока не E Em

 

1

Q

np

2

E =

∑∑( y j(k ) (t) d j(k ) (t))

 

2

 

 

h=1

j=1

 

5.Нормализуются полученные эталоны (γi (t) = yi (t) di (t))

6.k = k 1