Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ
Посмотреть оригинал

Расчет ответа для многослойного персептрона на основе алгоритма прямого распространения

Рассмотрим пример сети, представленной на рис. 5.7.

Пример нейронной сети

Рис. 5.7. Пример нейронной сети

Произведем расчет сети с использованием метода прямого распространения {feed forward).

Шаг 1. Пусть g(x) — функция активации для соответствующего слоя нейронов, тогда значение элементов в скрытом слое будет вычислено следующим образом:

Шаг 2. Вычисление элементов следующего слоя (в данном примере — выходного значения):

Шаги 1 и 2 могут быть приведены к матричной форме:

где i = [1, 2]; Л0 = X =0, х,, х2 — вектор входных значений; Д — значения на выходах нейронов, в частности А2 = Y.

Матрицы весов выглядят следующим образом:

Аналогичным образом можно рассчитать многослойные персеп- троны любой размерности.

Обучение многослойного персептрона на основе алгоритма обратного распространения

Алгоритм обратного распространения ошибки является базовым алгоритмом для обучения многослойных персептронов[1]. В основе него лежат расчет градиента каждого из весов связей в сети и идея того, что ошибка любого нейрона г-го слоя является результатом ошибки всех нейронов на слое i - 1. Приведем пример алгоритма обратного распространения ошибки для нейронной сети с сигмоидной функцией активации (5.13). Для построения алгоритма необходимо вычислить производную функции активации. Для сигмоиды она будет равна:

Вход:

• Многослойный псрссптрон с матрицами весов w и функцией активации g(x).

Выход:

• Обновленные матрицы весов.

Алгоритм:

  • 1. Для каждой пары «объект — ответ», пока не будут достигнуты условия завершения, повторять:
  • 1.1. Посчитать значение Y по алгоритму из подпараграфа 5.5.5.
  • 1.2. Для всех нейроновук выходного слоя, для которых рассчитана взвешенная сумма sum сигналов с предыдущего слоя (значение, подаваемое в функцию активации):
  • 1.2.1. Рассчитать ошибку

где a ns — правильный ответ.

1.2.2. Рассчитать корректировку весов связей

где р — скорость обучения; а, — значение сигнала с г-го нейрона.

  • 1.3. Для каждого нейрона «, со скрытого слоя:
  • 1.3.1. Рассчитать суммарную ошибку со следующего слоя

для предпоследнего слоя е, = ек, где j = k.

1.3.2. Рассчитать sum для нейрона и величину ошибки на нейроне

1.3.3. Рассчитать изменение весов связей для первого слоя а) = ху

  • 1.4. Изменить все веса связей в матрицах на рассчитанные ДWy.
  • 2. Вернуть матрицу весов.

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

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

  • [1] См.: Fausett L. V. Fundamentals of Neural Networks: Architectures, AlgorithmsAnd Applications. New Jersey : Pearson, 1993.
 
Посмотреть оригинал
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 
Популярные страницы