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




Алгоритм обратного распространения — backpropagation algorithm — основывается на многослойной нейронной сети. В нём используется не менее трёх слоёв нейронов. Для простоты мы трёхслойные сети и будем рассматривать. Три слоя: входной, скрытый и выходной.

 

Таким образом на выходном слое:

на скрытом слое:

где

Процедура обучения включает представление набора пар входных и выходных образов. Т.е. мы должны показать нашей нейросети, что должно быть на выходе, когда на входе какая-то комбинация сигналов. Сначала нейронная сеть на основе входного образа создаёт собственный выходной образ, а затем сравнивает его с целевым выходным образом. Если различий между фактическим и целевым образами нет, то обучения не происходит. В противном случае веса связей изменяются таким образом, чтобы различие уменьшилось. Мерой различия при этом является функция квадрата ошибки , задаваемая следующим образом:

где

— желаемый вход для -й компоненты -го выходного образа,

— соответствующий фактический выход.

Таким образом, — мера ошибки вход-выход для -го образа, а — общая мера ошибки.

Задача алгоритма — добиться минимума этой ошибки, управляя весовыми коэффициентами. Можно воспользоваться градиентным методом наискорейшего спуска.

{рисунок}

 

 

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

Алгоритм этот может быть представлен в виде следующих шагов:

Шаг 1. Присвоить начальные значения величинам , , , , и .

— это скорость обучения, ; Это константа, представляющая собой коэффициент пропорциональности между изменением веса связи и градиентом ошибки E относительно веса. Чем больше эта константа, тем больше изменения в весах связей.

— константа, определяющая влияние предыдущего изменения весов на текущее направление движения в пространстве весов связей. Учёный с мировым именем Румельхарт рекомендует использовать величину альфа, приблизительно равную 0,9.

Шаг 2. Подать на нейронную сеть входной сигнал. Задать соответствующий ему желаемый выход , вычислить , и по формуле:

.

— это величина обобщённого сигнала ошибки, задаваемая выражением:

.

Шаг 3. Изменить веса связей на величину:

.

Шаг 4. Вычислить по формуле:

.

Шаг 5. Изменить веса связей на величину:

.

Шаг 6. Положить равным и перейти к шагу 2.

 

Недостатки алгоритма

Паралич сети

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

Локальные минимумы

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

Размер шага

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

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-10-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту:

Обратная связь