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

книги / Нейронные сети для обработки информации

..pdf
Скачиваний:
7
Добавлен:
12.11.2023
Размер:
14.05 Mб
Скачать

6.3.2. Алгоритм обучения сети Эльмана

Для обучения сети Эльмана будем использовать градиентный метод наискорейшего спуска, основанный на работах Р. Вильямса и Д. Зипсера [171]. Для этого метода необходимо задать формулы, позволяющие рассчитывать градиент целевой функции в текущий момент времени. Целевая функция в момент г определяется как сумма квадратов разностей между значениями выходных сигналов сети к нх ожидаемыми значениями для всех М выход* пых нейронов:

виде

Связи между схрытым и выходным слоем однонаправленные (см. рис. 8.9),

поэтому ^ ^ = 0. С учетом .этого факта

 

При испольэован1111 метода иаисморейшего спуска веса

уточняются по

формуле

(Л+ 1) =

(А)+

, где

 

 

 

А

* $ = - ч 'С а д .

(8.29}

Простое сравнение с псрсегТтронноЙ сетью показывает, что веса выходного слоя сети Эльмана подвергаются точно такой же адаптации, кок и веса выходных нейронов лерсегттрона.

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

В частности.

 

 

 

 

 

••I

*<(*)

м

 

К Л )

<!*,(*)

 

»

(8 30)

С учетом эавцсимосш (8.22) получаем:

 

 

»<<*)■ <Л<»0>«3(^1 (*)^}У) _ &<«,)['

,» * г0 ^т

* $ ■ "■ < !«, А

лпй

- а »,

[

(8'31)

Из определения входного вектора .V (формула (8.20)) в момент / следует, что

с!уу(*)

<*н$

Ш «!) д\<}

<!/, (И>)| г _ . ^

Чк-#г»С*“ # '. Л|

Лгу | * » Т* + А

. — . п » —

* # х* + 1;

(8.32)

Это выражение позволяет рассчитать производные целевой функции относительно весов скрытою слоя в момент /. Следует отметить, что это рекуррентная формула, определяющая производную в момент г в зависимости от ее значения в предыдущий момент 1-1. Начальные значения прогаведных в исходный момент г р=.0 считаются нулевыми: = 8 г * ^д^ЬГ “ в ♦ Таким образом, алгоритм обученна сети Эльйанп моЭРио п ред стк ть в следующем виде.

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

I . вале (например, между - I и 1).

<

2.Ддя очередного момента / (/ = 0,1,2,...) определить состояние всех нейронов сети (сигналы о* и >у). Йа этой основе можно сформировать входной'вектор ,г(А)для произвольного момента г.

!Э. Опрс(лел1гть вектор погрешности обучения е(м) для нейронов выходного слоя как разность между фактичеекывт и ожидаемыми значениями сигналов выходных нейронов. ^

4.Сформировать вектор грпдйентв целевой функции относительно весов выходного и скрытого сдоя с использованием формул (8.28)', (8.30) и (8.32).

5.Уточнить значения весов сети сошасно правилам метода нвнс(сорейшего

спуска!: ’

'

• для нейронов выходного слоя сети

(8.33)

* для нейронов скрытого слоя сети

 

 

 

 

 

</.(*> =

(

8

3

4

)

После уггочлеш1Я значений весов вернуться к пуншу 2 алгоритма для расчетов в очередной момент /.

Для упрощения вычислений при выводе формул (8.33) и (8.34) была предложена онлайн-версия алгоритма обучения, согласно которой значения весов уточнялись после предъявления каждой обучающей пары (лг, </)- Обычный офф­ лайн-алгоритм несколько более эффективен» поскольку при его выполнении значения весов уточняются только после предъявления всех обучающих пар. Реализация такой версии алгоритма аналогична рассмотренной выше с той разницей, что в ней суммируются компоненты градиента последовательно предъявляемых обучающих пар, а процесс изменения весов выполняется в каждом цикле только один раз.

Представленный алгоритм считается нелокальным, поскольку уточнение каждого отдельного веса требует знания значений всех остальных весов сети и сигналов конкретных нейронов. Его требования к размерам памяти компьютера дополнительно повышаются в связи с необходимостью хранить вес значения <Ьу(*)

8.3.3. Обучение с учетом момента

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

Дн<*) = -1^Е(А) +<**) Дв**-!),

(8.35)

где а(Д) - это коэффициент момента, выбираемый лз интервала (0, 1). Первое слагаемое этого выражения соответствует обычному методу обучения, тогда как второе, ушгтывающее фактор момента, отражает последнее изменение весов н нс зависит от фактического значения градиента. Чем больше величина а; тем большее влияние па подбор весов оказывает слагаемое момента. Его значение существенно возрастает на плоских участках целевой функции и около локального минимума, оде значение градиента близко к пулю.

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

процесс обучения и, следовательно, поиска минимума никогда бы не завершился. Обычно для управления процессом обучения вводится понятие допустимого прироста погрешности, например, 3%. В таком случае, если в к-И нтсрацнн значение целевой функции удовлетворяет зависимости С(А)<1,03Я(А- 1), то шаг принимается и значения весов уточняются, в противном случае фактор момента игнорируется, и принимается а(А) = 0. Выбор оптимального значения коэффициента момента - это непростая задача. Для ее решения требуется провести значительное количество численных экспериментов, цель которых состоит о адаптации значения этого коэффициента к решаемой проблеме. Обычно удовлстооритслы1ым считается суболтимолыюс значение, которое обеспечивает достижение (хотя, возможно, и не самое быстрое) хороших показателей обучения.

8.3.4. Пример компьютерного моделирования сети Эльмана

Сеть Эльмана имеет рекуррентную структуру с обратной связью между скры­ тым и входным слоями. С учетом непосредственного влияния сигналов в момент (л - 1) на сс поведение в момент л такая сеть естественным образом предраспо­ ложена к моделированию временных радов.

Впрактической реализации алгоритма обучения сети Эльмана (программа Е1тал) использовался способ адаптации весов типа “оффлайн” и применялся метод наискорсншсго спуска с учетом момента со значениями коэффициента момента в интервале огг 0 до 1 (значение но умолчанию равно 0,9$). Дня уско­ рения обучения использовался адаптивный коэффициент обучения Г), подстраи­ ваемый к фактическим изменениям значений целевой функции в процессе обучешш.

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

Вчисленном эксперименте входной сигнал представлял собой последо­

вательность из ВО синусоидальных сигналов с двумя различными амплитудами, равными 1 н 2 соответственно, олнсываеме. зависимостью

5ш(*)

для

0<А<20

2 зт(* -20)

для

20< **40

5*т(*-40)

для

40 < Л ^ 60

25ш( * - 60)

для

60< *^80

Для решения задачи была построена сеть со структурой 11-10-1. Вход сети образован одним истинным входным узлом и 10 контекстными узлами, так как

скрытый слой состоит из 10 нейронов. Каждый нейрон скрытого слоя характеризуется сигмоидальной (биполярной) функцпейактващпг, а выходной нейрон - является ’линейным. На рис. 8.10 представлены сигналы: ожидаемый (сплошная линия) к фактически сгенерированный сетью •(пунктирная линия) после 1000 циклов обучения (верхний график), а также график погрешности рас* познавания амплитуды конкретных выборок. Анализ графиков свидетельствует,

 

1

1

 

1

 

 

 

 

 

 

:

 

 

 

 

 

 

 

Ч у

*

 

 

 

• Г"

1 / 1

 

 

г1

 

 

9

 

к

-------- --------- 1I-------- «,

 

60

«

0

10

20

30

46 ' 50'

70 > 80

Выборка

Рис. 8.10. Результата обучения сети Эльмана распознаванию амплитуды двух сигналов.

что эффективность отслеживания сетью входного сигнала может считаться удовлетворительной. Среднее значение модуля погрешности ?а время проведется эксперимента по результатам обучения составило 0,069, Для проверки м?р- рек1ност^[ функционирования сети в случаях генерации последовательностей с другимд амплитудами, с зашумленными сигналами, а также при потерях отдельных фрагментов данных и обработке сигналов с частотой, отличающейся 9Т дспользовацио!) для обучешш, была организована серия обобщающцхтестов натрешгрораннрй сеиг.

В качестве зашумленных сигналов использовалась последовательность данных, описываемых зависимостью х[ - х4 + л , где в - это шум нз интервал^ (-К ЛО, а д:* - сигнал, определенный выражением (8.?б). На рис. 8.11 приведены результаты тестирования сети доя 0,1 ,и N=0,5, Оказалось, что сеть неплохо “справляется” с сигналами, имеющими небольшую зашумленность, например, N = 0,1. Однако ее эффективность а распоэнавашш вышипуды сигнала, сильно искаженного шумом (например, N=0,5), значительно ниже, хотя и в этом случае наблюдается отслеживание изменений амплитуды входных сигналов.

Для проверки работы сети при другой амплитуде синусоидальных сигналов натренированная ранее сеть тестировалась на последовательности1сигналов,

217

Ркс. 8.11. Иллюстрация влияния шума на распознавание сетью Эльмана

амплнтуды двух сигналов

описываемых зависимостью

1,251п(Аг)

д л я 0<& €20

 

I 1,6$т(*-20)

для

20 с А: ^

40

 

 

40 < к $

60

(8.37)

1,25т(*-40)

д л я

 

1,б$1п(*-60)

для

60 < А < 80

 

На рис. 8.12 представлены результаты функционирования сети в этом эксперт^с!кте. Поскольку обучение проводилось только на амплитудах со значения иГц 1 и 2»,сеть сохранила рпределенные способности к обобщению, позволив ине 'еП; отслеживать значения других сигналов, хотя и значительно большей погрешностью. Для проверки устойчивости натренированной сети к

шнскешОп1М частоты сигнала были проведены очередные тесты с данными, имеющими характеристики

г$1п(М:)

для

0 < к $ 20

 

251лМ * - 20»

для

20< * $ 40

 

**.= 51П(Л^(*-4 0 »

дня

40<к й 60

(8.38)

2в1п(Л(Л:'-60))

для

60< *$80

 

при N 0,8 л N я 1,5. Результаты моделирования в виде соответствующих графиков, амплитуд: ожидаемой (сплошная линия) н распознанной сетью (пуик-

г

Г \ Л

 

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

Рис. 8.13. Иллюстрация влияния изменения частоты на распознавание сетью Эльмана амшипуды двух сигналов

тириая линия) представлены на рис.8.1Э. Анализ этих трафиков позволяет сде­ лать вывод, что сеть корректно распознает вмпшпуды сигналов с частотой, отли­ чающейся от частоты обучающих данных даже при изменении частоты на 20%. Неудовлетворительные результаты распознавайнл наблюдаются при зночи-

тельных отклонениях частоты от ожидаемой величины (результаты при 50%-ном отклонении чистоты приведены на нижнем трафике рис. 8.13). Во всех описываемых экспериментах структура данных была симметричной: 20 выборок имели одну амплитуду, а 20 - другую, причем их последовательности повто­ рялись. Такое чередование тестовых сигналов наследовало структуру данных, использованную на стадии обучения сети. Для проверки способности септ к обобщению были также проведены тесты с данными другой длины и с иной пропорцией распределения выборок. В первом тесте были удалены 10 первых выборок с амплитудой 1, а во втором - еще дополнительно 16 первых выборок с амплитудой 2. Результаты этих тсстоп представлены на рис. 8.14. Можно

Выбор* 0

Рис. 8.14. Результаты тестирования сети Эльмана на данных с несимметричной структурой

отмстить, '(то удаление части сигналов нс оказало существенного воздействия на качество отклика. Система функционировала корректно, демонстрируя удов­ летворительное качество распознавшим амплитуды. I

8.4. СетьКТТО*

8.4.1. Структура сети и алгоритм обучения

Среди рекуррентных сетей особого внимания заслуживает сеть типа КТЮ4 (вит.: Неа! Типе Ясснгге/НА?е(пшк), предложенная Р. Вильямсом и Д. Зштсером в работе (171] и предназначенная для обработки сигналов в реальном времени. Обобщенная структура сети представлена на рнс. 8.15Сеть содержит входных

узлов, /Гекрытых нейронов и К соответствующих ни узлов контекстного слоя. Из К скрытых нейронов только М составляют выход сети. Обозначим взвешенную сумму 1-го неГгро)га скрытого слоя и„ а выход этого нейрона - у,-. Вектор *(Л) и смещённый (задержанный) на один цикл вектору(к - I) образуют расширснныГ| вектор активации лг(А), возбуждающий неГфоны сети:

д**) г [I. Д Г |(*).^). •••,..!&<*).М *-1> ....,Л < *-1)]Г.

<«»)

ПосМО описания входного

вектора сети в момент Iможно

определить

состояние всех нейронов согласно зависимостям: •

 

'

Н*К

 

 

М * ) = 2 > # х Д & ) ,

(8.40)

 

М>

 

 

У,(*) = ЛМ *)>.

(8.41)

причемЛ )!обозначает непрерывную функцию активации нейрона (как правило, сигмоидальную). На рис. 8.15 видно, что сеть К.ТМ4 представляет с^бой частный

случай сети Эльмана, в которой веса выходного слоя постоят1Ы Н равны'дельте Кронекера, т.е, I для /= у или 0 для т #у. В этом случае можно при­ менять алгоритм обучения Вильямса-ЗнпСсра, прсдставлёшгый в одном из предк-дущих подразделов,' поскольку Обучение сеттт связано с уточнением вебов единственного существующего слоя. При модификации соответствУкпЦих формул расчета вектора граднешв, выведенных для сети'Эльмана (при фйк-

8,4. Сеть Я Ш

221

сацин значений весов выходного слоя), получим следующий алгоритм обучения! сети ВТК)Я, натираемый алгоритмом Внльямса-Зипсера (171].

1. .Выбрать случайные начальный значения весов сети, составляющих матрицу,

 

\У и равномерно распределенных о заданном интервале (обычно в диапазоне

 

от-1 до I).

всех К

 

 

2.

рассчитать состояние

нейронов

для очередного момента

 

( (Г - 0,1,2,...) с нспрлыоваш1см зависимостей (8.40) и (8.41). На этой основе

 

цожнр определить расширенный

входной

вектор .<*), возбуждающий

 

. нейроны в момент г. ^

^

 

 

3.

Рассчитать значения

— в соответствии о формулой

 

»/*) . <!/,(",)Гс

, .

 

(8.42)

 

 

 

 

4.

Уточнить зпвчёний весов по алгоритму

наискорсйшсго спуска

согпасло

 

формуле

 

 

 

 

«•„»(* + 1) = м * ) - ч

/=|

(8,«)

 

 

 

 

д^я .а = 1,2,..., К к /? = 0, 1, 2, N

+ /С. Циклы (2 - 4) повторять вплоть до,

стабилизации значений верх весов сети.

 

,

,,

Приведенный алгоритм обучения сети КТК14 был реализован в программе,

названной также ЯТАМ. В ней процесс обучения оптимизирован за счёт применения адаптивного коэффициента обучения и обучения с учетом момента,

аналогично тому, как это делалось

в программе Е1тап.

I'

1

0.4.2. Результаты вычислительных экспериментов

Как мы уже отмечали, сеть ЯТКИ - это частный случай сети Эльмана, в которой веса выходного слоя имеют бинарные значения, т.е. = б ,/* I для I в/ или 0 для Ы у. Для изучения возможностей сс практического применения исследовалось функционирование этой сети в качестве системы линейной идентификации динамического объекта, описываемого матричным уравнением состояния [156]:

х(* + 1) = А.г{*)+ Риф)

Я *) = С г(Ч .

''

'

*1

У\

«1

х = хг . У = Уг , н з «2

*к. .У». /<ЛГ.

Вектор х называется вектором состояния, у - выходным вектором, а и - вектором возбуждения. Квадратная матрица состояния А имеет размсрибсть КхК, матрица