反向传播(Backpropagation)算法

📁机器学习📆2023-10-06 🤯PH 👀913 次浏览

Learning representations by back-propagating errors

Rumelhart D E, Hinton G E, Williams R J. Learning representations by back-propagating errors[J]. nature, 1986, 323(6088): 533-536.

1、为什么需要

error BackPropagation,误差逆传播,简称BP,也叫反向传播算法。

反向传播算法是一种用于训练神经网络的算法,其作用是根据网络的输出和期望输出之间的误差,来更新网络中的权重和偏置,从而提高网络的性能。使用 SGD 随机梯度下降 时需要用到损失函数Loss关于各个参数的偏导,所以需要快速计算偏导。

perceptron-convergence procedure 感知机[1957 Frank,一个二分类模型]加入隐藏层后,变成MLP multilayer perceptron多层感知机,但是MLP不能自动更新权值。BP算法解决了这一问题。

举例 反向求导模式(反向传播算法)的重要性

例子:

反向传播(Backpropagation)算法-BtoAI

如果用前向求导模式:关于b向前求导一次

反向传播(Backpropagation)算法-BtoAI

如果用反向求导模式:向后求导

反向传播(Backpropagation)算法-BtoAI

前向求导模式只得到了关于输入b的偏导 ,还需要再次求解关于输入a的偏导 (运算2遍)。而反向求导一次运算就得到了e对两个输入a,b的偏导 (运算1遍)。上面的比较只看到了2倍的加速。但如果有1亿个输入1个输出,意味着前向求导需要操作1亿遍才得到所有关于输入的偏导,而反向求导则只需一次运算,1亿倍的加速。

2、如何起作用

核心思想是链式法则。

原文

更多文章

回到顶部