Ответы:
Алгоритм обратного распространения представляет собой алгоритм градиентного спуска для подгонки модели нейронной сети. (как упомянуто @Dikran) Позвольте мне объяснить, как.
Формально: Использование вычисления градиента в конце этого поста в уравнении [1] ниже (то есть определение градиентного спуска) дает алгоритм обратного распространения как частный случай использования градиентного спуска.
Модель нейронной сети Формально мы фиксируем идеи с помощью простой однослойной модели:
где g : R → R и s : R M → R M известны при всех m = 1 … , M , s ( x ) [ м ] = σ ( х [ м ] ) и
Квадратичная функция потерь используется для фиксации идей. Следовательно , вход векторы R р может быть установлен на реальный объем производства ( у 1 , ... , у п ) из R (может быть векторами) путем минимизации эмпирической потери: R п ( А 1 , A 2 ) = n ∑ i = 1 ( y i - f ( x) относительно выбора A 1 и A 2 .
Обратное распространение - это способ получения производной функции ошибки по весам, так что модель можно обучить с помощью методов оптимизации градиентного спуска - это в основном просто применение «правила цепочки». В этом нет ничего особенного, так что, если вам не безразлично исчисление, это, по сути, лучший способ взглянуть на это.
Если вы не знакомы с исчислением, лучше сказать, что мы знаем, как плохо работают единицы вывода, потому что у нас есть желаемый результат, с которым можно сравнивать фактический результат. Однако у нас нет желаемого выхода для скрытых юнитов, так что же нам делать? Правило обратного распространения - это, в основном, способ объяснить вину за ошибку выходных единиц на скрытых единицах. Чем больше влияние скрытый блок оказывает на конкретный выходной блок, тем больше вины за ошибку. Общее обвинение, связанное со скрытым модулем, затем дает представление о том, насколько нужно изменить веса входного / скрытого слоя. Две вещи, которые управляют тем, сколько ответственности передается обратно, - это вес, соединяющий вес скрытого и выходного слоев (очевидно) и выход скрытого юнита (если он кричит, а не шепчет, он, вероятно, окажет большее влияние). Все остальное - математические тонкости, которые превращают эту интуицию в производную от критерия обучения.
Я также рекомендую книгу епископов для правильного ответа! ; О)
Это алгоритм обучения прямой связи многослойных нейронных сетей (многослойных персептронов). В Интернете есть несколько хороших java-апплетов, иллюстрирующих происходящее, например: http://neuron.eng.wayne.edu/bpFunctionApprox/bpFunctionApprox.html . Кроме того, книга Бишопа о NN является стандартным настольным справочником для всего, что связано с NN.