
- •МТУСИ
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007

Дизайн И. Гайдель 2007
Математические основы нейронных сетей
Объединение производных: алгоритм обратного распространения ошибки
Следующие уравнения иллюстрируют это вычисление:
∆wpq,k = η δq,k OUT |
(3) |
wpq,k(n+1) = wpq,k(n) + ∆wpq,k |
(4) |
где wpq,k(n) – величина веса от нейрона p в слое к нейрону q в выходном слое на шаге n (до коррекции); индекс k относится к слою, в котором заканчивается данный вес; wpq,k(n+1) – величина веса на шаге n + 1 (после коррекции); δq,k – величина δ для
нейрона q, в выходном слое k; OUTp,j –
величина OUT для нейрона р в скрытом слое j.

Дизайн И. Гайдель 2007
Математические основы нейронных сетей
Объединение производных: алгоритм обратного распространения ошибки
Подстройка весов скрытого слоя.
Рассмотрим один нейрон в скрытом слое, предшествующем выходному слою. При проходе вперед этот нейрон передает свой выходной сигнал нейронам в выходном слое через соединяющие их веса. Во время обучения эти веса функционируют в обратном порядке, пропуская величину δ от выходного слоя назад к скрытому слою. Каждый из этих весов умножается на величину δ нейрона, к которому он присоединен в выходном слое. Величина δ, необходимая для нейрона скрытого слоя, получается суммированием всех таких произведений и умножением на производную сжимающей функции:
Когда значение δ получено, веса, питающие первый скрытый уровень, могут быть подкорректированы с помощью уравнений (3) и (4), где индексы модифицируются в соответствии со слоем.

Дизайн И. Гайдель 2007
Математические основы нейронных сетей
Объединение производных: алгоритм обратного распространения ошибки
Для каждого нейрона в данном скрытом слое должно быть вычислено δ и подстроены все веса, ассоциированные с этим слоем. Этот процесс повторяется слой за слоем по направлению к входу, пока все веса не будут подкорректированы.

Дизайн И. Гайдель 2007
Математические основы нейронных сетей
Объединение производных: алгоритм обратного распространения ошибки
С помощью векторных обозначений операция обратного распространения ошибки может быть записана значительно компактнее. Обозначим множество величин δ выходного слоя через Dk и множество весов выходного слоя как массив
Wk.
Чтобы получить Dj, δ-вектор выходного слоя, достаточно следующих двух операций:
1.Умножить O-вектор выходного слоя Dk на транспонированную матрицу весов W’k, соединяющую скрытый уровень с выходным уровнем.
2.Умножить каждую компоненту полученного произведения на производную сжимающей функции соответствующего нейрона в скрытом слое.
В символьной записи
Dj = DkW’k $[Oj $(I – Oj)],
где оператор $ обозначает покомпонентное произведение векторов, Оj – выходной вектор слоя j и I – вектор, все компоненты которого равны 1.

Дизайн И. Гайдель 2007
Математические основы нейронных сетей
Объединение производных: алгоритм обратного распространения ошибки
Обратное распространение — это просто применение правила цепочки к графу вычислений и ничего более. Оно начинается с конечного значения потери и движется в обратном направлении, от верхних слоев к нижним, используя цепное правило для вычисления вклада каждого параметра в значение потери. Отсюда и название «обратное распространение»: мы «распространяем в обратном направлении» вклады в потери различных узлов в графе.
В настоящее время нейронные сети конструируются с использованием современных фреймворков, поддерживающих автоматическое дифференцирование (таких как TensorFlow).

Дизайн И. Гайдель 2007
Спасибо за внимание!