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

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

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

ления всех выборок, составляющих цикл обучения (режим "оффлайн”). В последующем изложении используется целевая фуикщгл вида (3.4), которая соответствует актуализации весов после предъявления каждой выборки.

Для упрощения можно считать, что цель обучения состоит в таком определении значений весов нейронов каждого слоя сети, чтобы при заданном входном векторе получ]ггь ив выходе значения сигналов уь совпадающие с требуемой точностью с ожидаемыми значениями ф при I = 1 ,2 ,..., А/.

Обучение сети с использованием алгоритма обратного распространения ошибки проводится в несколько этапов. На первом из них предъявляется обучающая выборка л; и рассчитываются значения сигналов соответствующих нейронов сети. При заданном векторе х определяются вначале значения выходных сигналов V^ скрытого слоя, а затем значения у{ нейронов выходного слоя. Для расчета применяются формулы (3.2) и (3.3). После получения значений выходных сшпалов ^ становится возможным рассчитать фактическое значение целевой функции Е(и>), заданной выражением (3.4). На втором этапе минимизируется значение этой функции.

Если принять, что целевая функция непрерывка, то наиболее эффек­ тивными способами обучения оказываются градиентные методы оптими­

зации, согласно которым уточнение вектора весов

(обученно) производится

по формуле

 

и» (4 +1) = и» (А) + Д»р,

(3.6)

где

 

Ди»=г)р(ж),

(3.7)

т) - коэффициент обучения, а р(и>) - направление в многомерной прост­ ранстве н\

Обучение многослойной сети с применением градиентных методой требует определения вектора градиента относительно весов всех слоев сети, что необходимо для правильного выбора направления и»). $та задача имеет очевидное решение только для весов выходного слоя. Для других слоев создана специальная стратегия, которая в теории искус­ ственных нейронных сетей называется алгоритмам обратного распрост­ ранения ошибки (ашл.: еггог Ьаскргора%а<юп) [46, 51], отождествляемым, как правило, с процедурой обучения сети. В соответствии с этим алгоритмом в каждом цикле обучения выделяются следующие этапы [46].1

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

производные <У(цл11>)

*(/{«?') функций В КЗи

</«<" ’ <*,}’>

<1и)я>

слоя - количество слоев сети).

 

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

3.Уточнение весов (обучение сети) производится по предложенным выше формулам на основе результатов, полученных в и. 1 и 2, для оригинальной сети к для сети обратного распространения ошибки.

4.Описанный в и. 1, 2 и 3 процесс следует повторить для всех обучающих выборок, продолжая его вплоть до выполнения условия остановки алгоритма. Действие алгоритма завершается в момент, когда норма |радкента упадет ниже априори заданного значения е, характеризующего точность процесса обучения.

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

Как и ранее, количество входных узлов обозначим буквой N. количество нейронов в скрытом слое К, а количество нейронов в выходном слое М. Будем использовать сигмоидальную функцию активации этих нейронов. Основу алгоритма составляет расчет значения целепой функции как квадратичной суммы разностей между фактическими и ожидаемыми значениями выходных сигналов сети. В случае единичной обучающей выборки (лг, <0 целевая функция задастся формулой (3.4), а для множества обучающих выборок у (/ = ], 2......р) - формулой (3.5). Для упрощения излагаемого материала будем использовать целехую функцию вида (3.4), которая позволяет уточнять веса после предъявления каждой обучающей выборки.

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

(3.8)

Конкретные компоненты градиента рассчитываются дифференцированием зависимости (Э.В). В первую очередь подбираются веса нейронов выходного слоя. Для выходных весов получаем:

(3.9)

а»{*> дм}*1

где

= Е

Если ввести обозначение <5/г* = (У(

т0 соог.

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

(З.Ю)

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

дЕ

л Л А

= пум

(3.11)

После конкретизации отдельных составляющих этого выражения получаем:

.

/ / ( « 1 ° )

1П# ( » Г )

(3.12)

Н " «

'

М" 1

 

Если ввести обозначение

(3.13)

то получим выражение, определяющее компоненты градиента относительно весов нейронов скрытого слоя в виде

ЭЕ = а < % .

(3.14)

6 обоих случаях (формулы (3.10) и (3.14)) описание градиента имеет аналогичную структуру и представляется произведением двух сигналов: первый соответствует начальному узлу данной взвешенной связи, а второй - величине погрешности, перенесенной на узел, с которым эта связь установлена. Определение вектора градиента очень важно для последующего процесса уточнения весов. В классическом алгоритме обратного распространения ошибки факторр(и>), учитываемый в выражении (3.6), задаст направление отрицательного градиента, поэтому

Д и ^ -г Т О н -).

(3.15)

В следующем разделе представляются другие, более эффективны выбора направления р{н>).

уо можно

3.3. Потоковые графы и их применение для генерации градиента

Знакомство с формулами для расчета градиента показывает, что они довольно сложны и неудобны для практического применения, особенно если есть содержит более одного скрытого слоя. Поэтому представляется интересным, что на основе метода потоковых графов удается построить очень простые правила формирования компонентов градиента, которые имеют постоянную структуру, нс зависящую от сложности сети. ГТрн этом базу таких правил составляют соотношения, полученные в результате анализа чувствительности сети методом сопряженных элементов. В теории систем [114] под полной чувствительностью объекта понимается производная любого циркулирующего в нем сигнала относительно значсниП весов, которая может быть рассчитана на основании энаниГ! о сигналах, распространяющихся по обычному графу (обозначаемому С) и сопряженному с ним графу (обоз­ начаемому <5). Граф б определяется как исходный граф С , в котором направленность всех дуг изменена на противоположную. Линейная дута графа С и соответствующая ей д у т сопряженного графа 6 имеют идентичные описания.

В случае

нелинейной

связи /(дг, 4),

где х - входной сигнал,

в к - параметр,

соответствующая ей

дуга графа

б линеаризуется с

коэффициентом

0 _

, рассчитанным для фактического входного сигнала х графа <7.

Как показано в работах [113, 114, 126], метод расчета чувствительности нейронной сети с использованием потоковых графов основан на анализе неходкого графа С и сопряженного с ним графа б при возбуждении последнего единичным сигналом, подаваемым на вход б (соответствую­ щий выходу О). Чувствительность графа О относительно параметров дуг этого графа к произвольному входному сигналу выразить сле­ дующим образом'

• для линейной душ

графа С

 

 

где

щ -

это коэффициент усиления линейной

дуги,

направленной от

/•го

узла

к /-му;

V} обозначает сигнал /-го узла

графа

С, а V/ - сигнал

/•го уэлп

сопряженного графа б, для которого в качестве входного сигнала

задается

значение

Го^!;

 

 

для нелинейной дуги графа (7, объединяющей /-й и 4-Й узлы и описы­

ваемой

функцией п = /* |(у /, АО,

чувствительность относительно па­

раметра

К определяется выражением

 

 

- Э/ц(у,Ж)

(3.17)

 

г1

ЬК

 

 

где

д/и (у„К)

рпсс’пггыпается для сигнала ц

,

, А

 

— --------

/-го узла графа С.

 

 

Обозначим иг вектор оптимизированных параметров (весов №/) сис­

темы, представленной

графом С, п> = [н'ь

......

\уи ]г,

а Е(н>) -

целе­

вую

функцию. Тогда

градиент

УБ (н»),

сокращенно обозначаемый

как

$(н») = 7Е(и>),

можно определить

в виде

 

 

 

 

(в этом выражении для обозначения элементов вектора п> использован одни индекс/= 1 ,2, Если прсдстаонть целевую функцию а форме, учитывающей только одну обучающую выборку

Я(в-) = ^ 1 ( у , - ^ ) 2.

(3.19)

где ф обозначено ожидаемое значение /-го выходного нейрона,

I = 1 ,2......М, то

градиент целевой функции принимает вид:

 

 

«(«и) = [

&('*)> -

гЯпМ)7,

(3.20)

в которой

 

 

 

8 , М

= Х ( Л - < '|) |!:!- -

(3.21)

 

/-1

«ЛУ*

 

Для задания вектора градиента также необходимы производные вы­ ходных сигналов у, графа относительно весов н>* (показатели их чувствительности), умноженные нв величину погрешности (у)-<?/). Благодаря ]|спользованню методов теории графов все эти операции (в том числе и суммирование) можно выполнить за один шаг с помощью исходного графа О и сопряженного с ним графа б при соблюдении соогветсгвующих условий возбуждения графа 6. Как показано в [126], вследствие линейности сопряженного графа все эти операции могут быть реализованы автоматически в случае, когда в сопряженном графе вместо единичных возбуждений генерируются сигналы в виде разностей между фактичес­ кими у\ и ожидаемыми ф значениями выходных сигналов. Способ формирования сопряженного графа С и методика его возбуждения для автоматичес­

кого расчета вектора градиента на

основе анализа только двух графов С и С

представлены

на рис.

3.6. При замене всех единичных возбуждений а

6 на (у /-ф )

любой

компонент вектора градиента ц(\у) может быть

рассч!ггак по

соответствующим

сигналам исходного графа О и сопря­

женного с ним графа

6 точно так же, как и при онрсдслснин обычной

Рис. З .б. Иллюстрация применения способа формирования и возбуждения сопряженного

графа: а) исходный грвф С; б) сопряженный граф О

чувствнтслыюстл. Для л инейной дуги 1рафа О, описываемой весом формула имеет вид:

ЭД(к>)

(3.22)

Эи»в

Для нелинейной дуги графа С, описываемой функцией мод (V;, К), получаем:

Щ » ) л ^ уы{у,.К )

(3.23)

дк =1>к дК

Представленные выражения применимы для любых систем (линейных, нелинейных, рекуррентных и т.п.). Они практически применяются для анализа однонаправленных многослойных нейронных сетей, описываемых потоковым графом прохождения сигналов.

Рассмотрим изображенную на рис.Э.7<? типовую многослойную сеть (состоящую из /и слоев) с произвольной непрерывной функцией активации ней­ ронов. Количество нейронов в каждом слое будем обозначать Ау(/ = 1,2,.... ш), причем последний слой является выходным слоем сети, содержащим Кт = М нейронов. Выходные сигналы нейронов в конкретных слоях обозначим у/*>, причем для последнего слоя =уу

4

Рнс. 3 .7 . Иллюстрация применения метода сопряженных графой для генерации

вектора градиента однонаправленной многослойной сети:

а ) выходной грпф сети; 6 ) сопряженный граф

Для определения компонентов градиента отноаггельно весов конкретных слоев сети будем применять формулировки, относящиеся к сопря­ женному графу. На рис 3.76 представлен сопряженный граф сети, изображенной на рис. 3.7а, причем для унификации описания все сигналы в сопряженном графе обозначены символами с “крыжпком” (Л). Сопряженный граф возбуждается разностями между фактическими у( и ожидаемыми <// значениями выходных сигналов. Нелинейные дуги графа <7 заменяются в

сопряженном графе С производными

, значения которых рассчитываются

раздельно для каждого слоя в точках х =

Если, например, функция активации

нейронов имеет сигмоидальную униполярную форму /(х) =

----- Ц— г , то

(4Г(х\

 

I + ехр(-дг)

' =/(х)( (-/(*)) рассчитывается непосредственно на основе

известного зна­

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

Опираясь на предложени н алгоритм олределеикл градиента методами теории графов, можно рассчитать конкретные компоненты вектора градиента

^(н-) для любого слоя нейронов:

 

 

 

 

для выходного слоя

 

 

 

 

 

эи4">

'

« - и д и .

(3.24)

 

'

'

 

для *-го скрытого слоя

 

 

 

 

 

3??!!')

 

еьо р м .

(3.25)

 

ъ ф

'

'

*

 

 

для первого скрытого слоя

 

 

 

 

 

 

 

"

'

(3.26)

 

 

 

 

 

Из приведенных формул видно,

что

их структуры

(при использо­

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

Еще одним важным достоинством графического метода, помимо значительного упрощения вычислительных процедур, считается возможность учета равенства значений различных весов сети (114]. Если, например, вес со

значением н» относится к дуге щ , соединяющей /-й и у-й узлы направ­ лении от у-ш к /-му), и к дуге н'*/, соединяющей А-й и У-й узлы (в нолт

равлении от /-го к А-му), то легко заметить,

что лее н*. будет присутствовать

в двух различных

позициях выражения,

определяющего, целевую .функцию.

Согласно правилу

дифференцирования, составной функции ,ес

производная

представляется в

виде суммы производных

относительно

н

над. Следо­

вательно,

 

 

 

 

 

 

 

ЭЕ(кр^

ЭЯ

|

дЕ

 

 

 

да’

Эи^-

Эи1^

 

 

С учетом рассуждений относительно сопряженного графа при' вводе у11Иф)1Ц11рОВВ1П1ЫХ обозначений сипшлов для любых узлов в виде V ( у ) с соответствующими индексами получлем окончательное выражение

(3.28)

Как следует из формулы (3.28), учет равенства отдельных весов (и»,у = иу*) не только не усложняет общую расчетную формулу, но,- напротив, упро­ щает се за счет уменьшения количества переменных. Необходимо отмстить, что совпадающие веса (англ.: зЛаге</ н'е^/г/т)1могут лежать как в одном и том же, так и в совершенно разных слоях. Сущность формулы (3.28) при этом совершенно нс меняется. В этом заключается важнейшее отличие метода генерации градиента, основанного на потоковых графах распространения сигналов, от классического подхода, широко представленного в мировой литературе [46, 51].

3.4. Градиентные алгоритмы обучения сети

3.4.1. Основные положения

Задачу обучения нейронной сети будем рассматрниать на данном этапе как требование минимизировать априори определенную целевую функцию Е(м'). При таком подходе можно применять для обучения алго­ ритмы, которые в теории оптимизации считаются наиболее, эффек­ тивными, К ним, без сомнения, относятся градиентные методы* чью основу составляет выявление градиента целевой функции. Они связаны с разложением целевой функции ^(и*) в ряд Тейлора о ближайшей окрест* мости точки имеющегося решения и*. В случае целевой функции от многих переменных (к'"[и-|,п'?,...,н-л)7 такое представление связывается с окрест*

ностью ранее

определенной точки (в частности, при старте алгоритма

это исходная

точка ну]) в направлении р. Подобное разложение описы-

ваетсл универсальной формулой вида [39, 170]

 

Е(ш + р) = Я(|и)+[в(и')1Гр + у Я гЯ(ш)р + ... ,

(3.29)

Г <>Е

НЕ

....

9Е У

 

гае « И - УЕ=

 

- это вектор градиента, а симметричная

квадратная матрица

 

 

 

 

 

 

д2Е

Ь2Е

и И

=

Эн’,()и’|

Эн'|Этгп

д2Е

 

 

 

 

 

 

 

 

 

дшлдшл

является матрицей производных второго порядка, называемой г е с с и а и а и .

В выражении (3.29)

р

траст роль

направляющего вектора, зависящего

от факгичсскнх значений вектора к». На практике чаще всего рассчитываются три первых члена ряда (3-29), а последующие просто игнорируются. При этом зависимость (3.29) может считаться квадратичным приближением целевой функции Е(|у) в ближайшей окрестности найденной точки и» с точностью, равной локальной погрешности отсеченной части 0(А}), где А = || р ||. Для упрощения описания значения переменных, полученные в А-м цикле, будем записывать с нижним индексом к. Точкой решения н*=л>д будем считать точку, в которой достигается минимум целевой функции &(иг) н $(п»*) = 0, а гессиан Н(шд) является положительно определенным [39, 42]. При выпол­ нении этих условий функция в любой точке, лежащей в окрестности и>*, имеет большее значение, чем в точке и^, поэтому точка и>д является решением, соответствующим критерию минимизации целевой функции.

В процессе поиска минимального зцвчения целевой функции направ­ ление поиска р и шаг А подбираются таким образам, чюбы для каждой очередной точки ш*+1 = и-* + гдр* выполнялось условие Е(вчм) < Е[и>кУ Поиск минимума продолжается, пока норма |раднснта не упадет ниже априори Заданного значения допустимой погрешности либо пока не будег превышено максимальное время вычислений (количество итераций).

Универсальный оптимизационный алгоритм обучения ненроииой сети можно представить в следующем виде (будем считать, что начальное значение оптимизируемого вЬктора известно и составляет ж* = иц):

1.Проверка сходимости и оптимальности текущего решения и’*. Если точка щ отвечает градиентным условиям остановки процесса - завершение вычислении. В противном случае перейти к п.2.

2.Определение вектора поправления оптимизации рк для точки и»*.

3.Выбор величины шага г)д в направлении рк, при котором выполняется условие Е{щ + Щрк) <Ц »•’*)-