В обучении нейронной сети мы хотим найти набор весов w
, который минимизирует ошибку E(N(w,x)-y)
. (x
— входные данные обучения, y
— выходные данные обучения, N
— сеть, а E
— некоторая функция ошибок).
Стандартный способ сделать подобную оптимизацию — это градиентный спуск, который использует производную сети, скажем, N'
. Мы могли бы представить сеть в виде матричного произведения и сделать это вручную с помощью матричного исчисления, но мы также можем написать (автоматические) алгоритмы.
Обратное распространение — это особый такой алгоритм, обладающий определенными преимуществами. Например, это позволяет легко получить производную только по выбранной выборке весов, что необходимо для стохастического градиентного спуска. Он также указывает, как сохраняются упреждающие (фактические значения сети), чтобы они были легко доступны для расчета необходимых производных.
Вы должны быть в состоянии найти точный код для конкретного алгоритма в учебниках, а также в Интернете.
person
Thomas Ahle
schedule
21.05.2014