Добавил:
natribu.org Все что нашел в интернете скидываю сюда Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Точно Не проект 2 / Не books / Источник_1

.pdf
Скачиваний:
10
Добавлен:
01.02.2024
Размер:
20.67 Mб
Скачать

440

Глава 8

 

 

w [t( ) y( )]x( ) ,

(8.44)

где – коэффициент обучения, > 0. Если обозначить ошибку обучения

через ( ) , т.е.

( ) t( ) y( ), то правило обучения можно перепи-

сать в виде

w ( )x( ) .

 

 

(8.45)

а)

б)

Рисунок 8.12 – Линейная сепарабельная задача а) и

 

задача исключающего ИЛИ б)

Таким образом, если ( ) =0, то вектор весов не меняется. Если

( ) >0, то вектор весов

w меняется в направлении вектора x( ) (рису-

нок 8.13). Если порог

рассматривается как дополнительный вес w0, то

разделяющая гиперплоскость будет проходить через начало координат, а изменения вектора w будут соответствовать вращению гиперплоскости вокруг начала координат.

Рисунок 8.13 – Иллюстрация правила обучения персептрона

Распознавание образов и обучение

441

 

 

В дальнейшем будет показано, что большинство правил обучения ИНС имеют структуру, подобную правилу (8.45).

Важно отметить, что правило обучения персептрона обеспечивает схождение вектора весов w к требуемым значениям, определяемым условием (8.43), за конечное число шагов при условии существования решения (теорема сходимости) [68]. При этом число шагов в значительной степени зависит от коэффициента , а также от структуры обучающей последовательности.

8.5.4.2. Адаптивный линейный элемент (Adaptive Linear Element).

Адаптивный линейный элемент представляет собой НЭ с линейной функцией преобразования g(u) = u (рисунок 8.14).

Рисунок 8.14 – Адаптивный линейный элемент

В ходе обучения с учителем вектор весовых коэффициентов корректируется так, чтобы выходной сигнал u( ) имел наилучшее приближение к желаемой реакции t( ). В большинстве практических случаев минимизируется среднеквадратическое значение ошибки

 

1

P

2

 

1

P

T

2

 

1

P

m

2

E(w)

 

 

[t( ) u( )]

 

 

 

[t( ) w x( )]

 

 

 

[t( ) wjxj( )] . (8.46)

2

2

2

 

1

 

 

1

 

 

 

1

j 1

 

С целью минимизации ошибки (8.46) применяют метод градиента. В этом случае веса wj изменяются в направлении, обратном направлению градиента

 

E

 

 

 

E

 

 

 

E

E(w) (

 

 

 

,

 

 

 

 

,...,

 

 

 

),

w

 

 

w

 

 

w

 

 

 

 

 

2

 

m

т.е.

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E

 

 

 

w j

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w j

 

 

 

 

Найдем частную производную E

w j

 

, используя схему

442

Глава 8

 

 

 

 

 

E

 

P

E

 

net ( )

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

w j

 

net ( )

 

wj

 

 

m

 

 

 

 

 

 

 

 

где

net( ) wj xj ( ) . Тогда

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

E

 

 

P

 

 

 

 

 

 

 

[t( ) net ( )]x j

( ) .

 

 

 

 

 

w j

1

 

 

 

 

 

Отсюда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

 

 

w j

( )x j ( ) ,

(8.47)

 

 

 

 

 

 

1

 

 

 

 

 

где

( ) t( ) net( )

– ошибка адаптивного линейного элемента.

 

Отметим, что в (8.47) суммирование выполняется по всем входным

векторам x( ). Поэтому в соответствии с правилом (8.47) вес wj изменяется после вычисления ошибок ( ) для каждого из входных векторов. На практике часто применяют последовательное обучение, при котором вектор весов w корректируют сразу после поступления на вход НЭ очередного входного вектора. Тогда

 

 

T

 

(8.48)

w ( )x

( ) (t( ) w x

( ))x( ) .

Правило обучения (8.48) называют правилом обучения адаптивного линейного элемента или правилом Уидроу-Хоффа. По своей структуре оно совпадает с правилом обучения простого персептрона (8.45). На первый взгляд, отличие между (8.45) и (8.48) заключается только в способе вычисления ошибки ( ) . Вместе с тем это не так. Правило (8.48) получено из (8.47) в результате отказа от усреднения по всем входным векторам, что не гарантирует уменьшения среднеквадратической ошибки на каждом шаге. Частные изменения вектора w, соответствующие входному вектору x( ) и уменьшающие текущую ошибку, могут не соответствовать следующим входным векторам. Это может приводить к увеличению среднеквадратической ошибки. Кроме этого, если правило обучения персептрона обеспечивает сходимость решения за конечное число шагов, то правило обучения Уидроу-Хоффа, выведенное на основе метода градиента, обеспечивает лишь асимптотическую сходимость при большом числе шагов.

Обобщим правило Уидроу-Хоффа на случай однослойной сети НЭ с дифференцируемой функцией преобразования g(u). В этом случае среднеквадратическое значение ошибки будет равно

Распознавание образов и обучение

443

 

 

 

1

P n

 

2

1

P n

2

E(w)

 

 

[ti ( ) yi (u)]

 

 

 

[ti ( ) g(neti ( ))]

, (8.49)

2

 

 

 

1 i 1

 

 

2

1 i 1

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где neti ( ) wiT x( ) wij xj ( ) – значение сетевой функции i–го ней-

 

 

 

 

j 1

 

рона при подаче на его вход вектора x( ).

 

Применив к (8.49) метод градиента, получим

 

 

E

 

 

p

 

 

[ti ( ) g (net i ( ))] g (net i ( )]x j ( ) ,

 

 

wij

 

 

 

1

 

где g (neti( ))

– производная функция преобразования НЭ. Отсюда для

последовательного обучения

 

 

wij

[ti ( ) g(neti ( ))]g (neti ( ))xj ( ) .

(8.50)

Выражение (8.50) называют дельта-правилом обучения и часто запи-

сывают в форме

 

wij i ( )x j ( ) ,

 

 

 

 

 

(8.51)

где

( ) [ti ( ) g (net i ( ))] g (net i ( )) .

 

 

i

 

Таким образом, в дельта-правиле ошибка i( ) пропорциональна производной функции преобразования НЭ.

8.5.4.3. Многослойный персептрон. Многослойный персептрон состоит из нескольких слоев нейронов с прямым распространением сигналов (рисунок 8.9,б). Обучение многослойного персептрона выполняется на основе алгоритма обратного распространения ошибки [68,76].

Данный алгоритм получается в результате обобщения дельтаправила на многослойные ИНС с прямыми связями.

Рассмотрим двухслойную нейронную сеть с прямыми связями (рисунок 8.14). Определим реакцию i–го нейрона выходного слоя на входной вектор x( ). Для этого составим сначала выражения, определяющие реакцию нейронов скрытого слоя.

Сетевая функция j–го нейрона скрытого слоя для –го входного вектора равна

444

Глава 8

 

 

m

 

net j ( ) vjk xk ( ) ,

(8.52)

k 1

 

где j = 1, 2, …, l. Реакция j–го нейрона скрытого слоя определится из выражения

m

 

zj ( ) g(net j ( )) g( vjk xk ( )) .

(8.53)

k 1

 

Рисунок 8.14 – Двухслойная нейронная сеть с прямыми связями

Сетевая функция i–го нейрона выходного слоя равна

l

l

m

 

net i ( ) wij z j ( )

wij

g( vjk xk ( )) .

(8.54)

j 1

j 1

k 1

 

Тогда реакция i–го нейрона выходного слоя на входной вектор x( )может быть вычислена с помощью выражения

l

l

m

yi ( ) g(neti ( )) g( wij zj

( )) g( wij

g( vjk xk ( ))) . (8.55)

j 1

j 1

k 1

Распознавание образов и обучение

445

 

 

Выражения (8.52) – (8.55) соответствуют прямому распространению сигналов в рассматриваемой ИНС.

Процесс обучения многослойного персептрона основан на минимизации ошибки (8.49) при учете (8.55). В соответствии с методом градиента изменение весов связей выходного слоя wij выполняется по правилу (8.47)

 

 

E

P

 

P

 

wij

 

[ti ( ) yi ( )]g

(neti ( ))zj ( ) i ( )zj ( ) ,

(8.56)

w

 

 

ij

1

 

1

 

где

 

 

i ( )

[ti ( )

yi ( )] g (net i ( )) .

 

 

 

 

(8.57)

Изменение весов связей скрытого слоя vjk определим, воспользовавшись следующей схемой

 

v jk

E

 

E

 

 

z j ( )

 

 

 

 

 

 

 

 

 

.

 

 

 

z j ( )

 

 

 

 

 

v jk

 

 

 

v jk

 

Тогда

 

 

 

 

 

 

 

 

 

 

 

P n

 

 

 

 

 

 

 

 

 

vjk

[ti ( ) yi ( )]g (neti ( ))wijg (netj ( ))xk ( )

 

 

1 i 1

 

 

 

 

 

 

 

 

(8.58)

 

P n

 

 

 

 

 

 

P

 

i ( )wijg (netj ( ))xk ( ) j ( )xk ( ),

 

 

1 i 1

 

 

 

 

 

 

1

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

j ( )

g (net j

( )) i

( )vij .

(8.59)

 

 

 

 

 

i 1

 

 

 

 

 

Заметим, что выражения (8.56) и (8.58) имеют одну и ту же форму. Отличие заключается в способе вычисления ошибок i ( ) и j ( ).

Часто (8.56) и (8.58) записывают в общей форме

 

p

 

 

wij

iвых ( )xвхj

( )

(8.60)

1

иназывают обобщенным дельта правилом. В соответствии с этим правилом изменение веса связи между нейронами j и i пропорционально произ-

ведению ошибки iвых ( ) на выходе нейрона i на его входной сигнал,

446

Глава 8

 

 

формируемый нейроном j. При этом предполагается, что слой, в котором находится нейрон j, предшествует слою, в котором находится нейрон i.

Если рассматривается выходной слой нейронов, то ошибка вычисляется по формуле (8.57). Для скрытых слоев ошибка вычисляется по рекуррентной формуле (8.59), т.е. ошибка предыдущего слоя j ( ) вычисляется

на основе ошибки следующего слоя i ( ). Это соответствует распространению ошибки в обратном направлении – с выхода на вход.

Если в качестве функции преобразования используется сигмовидная функция (8.10) или (8.11), то

g (net) 2 g(net)(1 g(net) или g (net ) (1 g(net )) .

При этом обычно полагают 12 или 1.

Выражения (8.56) – (8.59) определяют алгоритм обратного распро-

странения ошибки (ОРО), состоящий из следующих шагов [68]:

1)выполнить инициализацию весов связей небольшими случайными значениями, задать максимально допустимую среднеквадратичную ошибку Еmax, положить текущее значение среднеквадратичной ошибки ИНС Е=0;

2)подать на вход сети -ый входной вектор x( );

3)выполнить распространение сигналов в соответствии с прямыми связями

xi(k ) g(neti(k ) ) g( wij(k ) x(jk 1) ), j

где k – номер слоя нейронов, k = 1, 2, …, ; xi(k) –выходной сигнал i–го

нейрона k–го слоя; wij(k) - веса связей k–го слоя; 4) вычислить среднеквадратичную ошибку ИНС

 

1

N

 

E : E

(ti ( ) xik ( )) 2

 

2

i

1

иошибку нейронов выходного слоя

i(k) g (neti(k))[ti( ) xi(k)( )];

5)выполнить распространение ошибки в обратном направлении, руководствуясь правилом

Распознавание образов и обучение

 

447

 

 

 

 

i(k 1) g (neti(k 1) ) wij(k ) (jk )

;

 

j

 

 

6)

обновить веса связей каждого слоя в соответствии с правилом

 

wij(k ) i(k ) x(jk 1)

;

(8.61)

7)

если p , то : 1 и перейти к пункту 2, иначе перейти к

 

пункту 8;

 

 

8)

проверить значение ошибки Е: если Е < Emax, то закончить вычисле-

 

ния, иначе присвоить Е:=0, : 1 и перейти к пункту 2.

Рассмотренный алгоритм является последовательным, так как предполагает обновление весов при поступлении очередного входного вектора. Возможен альтернативный вариант алгоритма, когда веса связей обновляются в точном соответствии с (8.56) и (8.58) после поступления всех векторов обучающей выборки. Такой режим обновления весов связей назы-

вают блочным.

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

Начальные веса связей. Начальные веса связей представляют собой небольшие случайные числа, обеспечивающие для заданного входного вектора x( ) такое значение neti( ), при котором используется линейный участок сигмовидной функции преобразования. Обычно это достигается, если значения wij лежат в диапазоне [ 3/m, 3/m], где m – число входов соответствующего нейронного элемента [76]. Неправильный выбор начальных весов связей может приводить к решениям, соответствующим локальным минимумам ошибки персептрона, или к “попаданию” в область “плато”.

Коэффициент обучения. Коэффициент обучения оказывает значительное влияние на скорость обучения многослойного персептрона и сходимость решения. Выбор обычно осуществляют экспериментально. Относительно большие значения обеспечивают быстрое обучение, но при этом существует опасность получить неверное решение. Малые значения затягивают процесс обучения. Диапазон возможных значений от 10-3 до 10 [76]. Кроме этого, конкретные значения , выбранные в начале процесса обучения, могут оказаться не совсем подходящими в конце обучения. Поэтому в ряде случаев изменяют в ходе обучения. Один из способов управления значением заключается в контроле ошибки Е. Если

448

Глава 8

 

 

коррекция весов связей при выполнении алгоритма ОРО приводит к увеличению ошибки, то необходимо уменьшить. И наоборот, если ошибка монотонно уменьшается, то необходимо увеличить . В [68] приведено правило управления коэффициентом обучения

a,

если

E 0,

 

 

если

E 0,

b ,

 

0,

если

E 0,

 

где a и b - положительные константы.

Функции ошибок. Квадратическая функция ошибки (8.46) не является единственно возможной. В выражении (8.46) могут использоваться иные дифференцируемые функции ошибок F(ti, yi), которые получают минимальные значения, когда их аргументы ti и yi равны.

Можно вывести соответствующие правила обучения, базирующие на этих функциях. При этом изменится только правило вычисления выходной ошибки (8.57). Остальные правила останутся без изменений. Одна из часто используемых функций ошибок представляет собой LS норму (1 S )

 

1

N

 

 

E

(ti

yi ) S .

S

 

i

1

 

В предельном случае (S ) получим ошибку, базирующуюся на применении нормы Чебышева

E

max

ti yi

.

 

i

 

 

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

 

 

 

 

0,

 

 

i i,

*

 

 

 

 

 

 

 

i

( )

 

( ))sgn(t

* ( ) y

* ( )),

i i*,

 

g (net

i

 

 

 

i

i

 

 

 

где i* - номер нейрона , на выходе которого наблюдается наибольшая ошибка. При этом в обратном направлении распространяется ошибка только нейрона i*, так как остальные ошибки считаются нулевыми.

Добавление момента инерции. Так как алгоритм ОРО базируется на использовании метода градиента, то при больших значениях параметра, по мере приближения к минимуму Е, возможны осцилляции. Для того

Распознавание образов и обучение

449

 

 

чтобы исключить осцилляции, в правило обновления весов связей (8.56) вводят момент инерции.

w(k)

Предположим, что изменение веса ij на текущем шаге соответство-

вало wij(k)(t). Для следующего момента времени

изменение

веса

wij(k)(t 1) должно быть пропорционально градиенту

- E/dwij(k)(t).

До-

бавление момента инерции позволяет на каждом шаге частично сохранять предыдущее направление изменения весов связей

wij(k) (t 1) dwij(kE) (t) wij(k) (t) ,

где 0 1.

Переобучение. Множество примеров Х (8.41), содержащее пары (x( ),t ( )), разбивается на два подмножества Х1 и Х2. Для обучения используются только элементы подмножества Х1, которое позволяет сформировать обучающую последовательность, состоящую из пар (x( ),t ( )), где 1 P. Совокупность элементов из Х2 образует проверочную последовательность.

На рисунке 8.15 показан качественный характер зависимости ошибки нейронной сети на этапе обучения Еобучения и на этапе проверки Епроверки от количества циклов обучения n. Один цикл обучения соответствует выбору всех элементов из Х1.

Рисунок 8.15. – Зависимость ошибки нейронной сети от количества циклов обучения.

Вначале обе ошибки уменьшаются. Это означает, что сеть корректно обучается на структуры данных, свойственные пространству входных сигналов. Однако если сеть является излишне гибкой (т.е. обладает большим количеством степеней свободы, чем требуется), то ошибка Епроверки после некоторого числа циклов обучения начинает возрастать. Это означает, что при обучении сеть скорее учитывает особенности свойственные конкрет-

Соседние файлы в папке Не books