神经网络和深度学习之——误差反向传播算法

在讲解误差反向传播算法之前,我们来回顾一下信号在神经网络中的流动过程。请细细体会,当输入向量\(X\)输入感知器时,第一次初始化权重向量\(W\)是随机组成的,也可以理解成我们任意设置了初始值,并和输入做点积运算,然后模型通过权重更新公式来计算新的权重值,更新后的权重值又接着和输入相互作用,如此迭代多次,得到最终的权重。

信号向前传播,权重的更新反向传播,是这样吗?
是的,你的直觉没错,确实是反向传播。

1. 前馈的实质

反向传播这个术语经常被误解为用于多层神经网络的整个学习算法。实际上,反向传播仅指用于计算梯度的方法,而另一种算法,例如随机梯度下降,使用该梯度来进行学习。此外,反向传播经常被误解为仅适用于多层神经网络,但是原则上它可以计算任何函数的导数(对于一些函数,正确的响应是报告函数的导数是未定义的)。

1.1 初始化权重和输入信号

不如我们还是使用上一节矩阵乘法的列子来可视化的讲解,这样有助于我们去理解反向传播。假设有如下三层网络,输入层、隐藏层、输出层,现有一组信号\(X\)输入网络,输入层和隐藏层的链接权重\(W_{input-hidden}\)和隐藏层与输出层之间的权重\(W_{hidden-ouput}\)我们随机初始化。为了清晰效果,我们仅标注了几个权重,第一个输入节点和中间隐藏层第一个节点之间的权重为\(w_{1,1}\) = 0.9,正如上图中的神经网络所示。同样,你可以看到输入的第二节点和隐藏层的第二节点之间的链接的权重为\(w_{2,2}\) = 0.8,隐藏层第三个节点和输出层第二个节点之间链接的权重为\(w_{3,2}\) = 0.2......此命名方式前面解释过,标注之后在分析反向传播时可帮助我们理解。


神经网络和深度学习之——误差反向传播算法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwswwg.html