Изменения

Перейти к: навигация, поиск

Обратное распространение ошибки

21 байт убрано, 06:14, 5 апреля 2019
Обучение как задача оптимизации
]]
Изначально, до обучения, веса будут заданы задаются случайно. Затем, нейрон обучается с помощью тренировочного множества, которое в этом случае состоит из множества троек <math>(x_1, x_2, t)</math> где <math>x_1</math> и <math>x_2</math> {{---}} это входные данные сети и <math>t</math> {{---}} правильный ответ. Начальная сеть, приняв на вход <math>x_1</math> и <math>x_2</math>, вычислит ответ <math>y</math>, который вероятно отличается от <math>t</math>. Общепринятый метод вычисления несоответствия между ожидаемым <math>t</math> и получившимся <math>y</math> ответом {{---}} квадратичная функция потерь:
:<math>E=(t-y)^2, </math> где <math>E</math> ошибка.
В качестве примера, рассмотрим сеть с одним тренировочным объектом: <math>(1, 1, 0)</math>, таким образом, значения <math>x_1</math> и <math>x_2</math> равны 1, а <math>t</math> равна 0. Теперь, если действительный ответ <math>y</math> изобразить на графике на горизонтальной оси, а ошибку <math>E</math> на вертикальной, результатом будет парабола. Минимум параболы соответствует ответу <math>y</math>, который минимизирует ошибку <math>E</math>. Для одиночного тренировочного объекта, минимум также касается горизонтальной оси, следовательно ошибка будет нулевая и сеть может выдать ответ <math>y</math> который точно соответствует ожидаемому ответу <math>t</math>. Следовательно, задача преобразования входных значений в выходные может быть сведена к задаче оптимизации, заключающейся в поиске функции, которая даст минимальную ошибку. [[File:Error surface of a linear neuron for a single training case.png|right|thumb|250px|График ошибки для нейрона с линейной функцией активации и одним тренировочным объектом]]
В таком случае, выходное значение нейрона это {{---}} взвешенная сумма всех его входных значений:
:<math>y=x_1w_1 + x_2w_2,</math>
где <math>w_1</math> и <math>w_2</math> {{---}} веса на ребрах, соединяющих входные вершины с выходной. Следовательно, ошибка зависит от весов, входящих в нейрон. И именно это нужно менять в процессе обучения. Распространенный алгоритм для поиска набора весов, минимизирующего ошибку это {{---}} градиентный спуск. Метод обратного распространения ошибки используется для вычисления самого "крутого" направления для спуска.
==Дифференцирование для однослойной сети==
32
правки

Навигация