1.5、BP和BPTT
参考博客:http://www.cnblogs.com/pinard/p/6509630.html
1、反向传播算法(Backpropagation)
- 反向传播算法要解决的问题
深层神经网络(Deep Neural Network,DNN)由输入层、多个隐藏层和输出层组成,任务分为分类和回归两大类别。如果我们使用深层神经网络做了一个预测任务,预测输出为 y ~ \tilde{y} y~,真实的为y,这时候就需要定义一个损失函数来评价预测任务的性能,接着进行损失函数的迭代优化使其达到最小值,并得到此时的权重矩阵和偏置值。在神经网络中一般利用梯度下降法(Gradient Descent)迭代求解损失函数的最小值。在深层神经网络中使用梯度下降法迭代优化损失函数使其达到最小值的算法就称为反向传播算法(Back Propagation,BP)。
- 反向传播算法的推导过程
假设深层网络第L层的输出为 a L a_{L} aL:
KaTeX parse error: No such environment: split at position 7: \begin{̲s̲p̲l̲i̲t̲}̲ a^{L} &= \sig…
定义损失函数 J ( w , b , x , y ) J(w,b,x,y) J(w,b,x,y)为:
KaTeX parse error: No such environment: split at position 7: \begin{̲s̲p̲l̲i̲t̲}̲ J(w,b,x,y) &= …
注解: a L a_{L} aL为预测输出, y y y为实际值,二者具有相同的维度。 ∥ ⋅ ∥ 2 \parallel \cdot \parallel_{2} ∥⋅∥2 代表二范数。
对损失函数运用梯度下降法迭代求最小值,分别求解对于权重矩阵 W L W^{L} WL和偏置 b L b^{L} bL的梯度。
损失函数对权重矩阵的梯度:
KaTeX parse error: No such environment: split at position 7: \begin{̲s̲p̲l̲i̲t̲}̲ \frac{\partial…
损失函数对偏置的梯度:
KaTeX parse error: No such environment: split at position 7: \begin{̲s̲p̲l̲i̲t̲}̲ \frac{\partial…
其中公式中的符号$ \bigodot$ 代表Hadamard积,即维度相同的两个矩阵中位置相同的对应数相乘后的矩阵。
损失函数对于权重矩阵和偏置的梯度含有共同项$\frac{\partial J(w,b,x,y)}{\partial a^{L}} \cdot \frac{\partial a^{L}}{\partial z^{L}} , 令 其 等 于 ,令其等于 ,令其等于\delta^{L}$。
可以求得$ \delta^{L}$为
KaTeX parse error: No such environment: split at position 7: \begin{̲s̲p̲l̲i̲t̲}̲ \delta^{L} &…
知道L层的$ \delta^{L}$就可以利用数学归纳法递归的求出L-1,L_2……各层的梯度。
KaTeX parse error: No such environment: split at position 7: \begin{̲s̲p̲l̲i̲t̲}̲ \delta^{l} &…
又知: