Расчет ответа для многослойного персептрона на основе алгоритма прямого распространения
Рассчитать изменение весов связей для первого слоя а) = ху. Изменить все веса связей в матрицах на рассчитанные ДWy. Рассчитать sum для нейрона и величину ошибки на нейроне. Посчитать значение Y по алгоритму из подпараграфа 5.5.5. Рассмотрим пример сети, представленной на рис. 5.7. Шаги 1 и 2 могут быть приведены к матричной форме: Рассчитать суммарную ошибку со следующего слоя. Матрицы весов… Читать ещё >
Расчет ответа для многослойного персептрона на основе алгоритма прямого распространения (реферат, курсовая, диплом, контрольная)
Рассмотрим пример сети, представленной на рис. 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.