反向传播公式推导

在计算机科学家(也很可能是数学家)在提出DL在计算机上可行的时候,(我相信) 算力友好的计算Cost functon 对每个参数的导数(\frac{\partial C}{\partial w_{j k}^{l}} 和 \frac{\partial C} { \partial b_{j}^{l}})是非常重要的一点。 符号表示 为此,这里引入了中间变量\delta_{j}^{l} 定义为在l^{th}层的第j^{th}个神经元上的误差: \delta_{j}^{l} \equiv \frac{\partial C}{\partial z_{j}^{l}} 这里z_j^l指的是第l^{th}层的第j^{th}个神经元的激活函数的带权输入: z_{j}^{l}=\sum_{k} w_{j k}^{l} a_{k}^{l-1}+b_{j}^{l} 看起来更直观的做法可能会把激活函数输出作为引入变量来推导,但是事实是用z_j^l来表示会更方便。 从\delta_j^L 出发: 大写的L表示最后一层,即输出层的误差,计作BP1 \delta_{j}^{L}=\frac{\partial C}{\partial a_{j}^{L}} \sigma^{\prime}\left(z_{j}^{L}\right) BP1 是按分量构成的表达式,如果重写为用矩阵表示,计作BP1a,即: \delta^{L}=\nabla_{a} C \odot \sigma^{\prime}\left(z^{L}\right) 其中\nabla_{a}C 是一个向量,元素为 \partial C / \partial a_{j}^{L} 既然最后一层的误差已经可以表示,那对于中间层呢? 先给出结论,下式记作BP2 : \delta^{l}=\left(\left(w^{l+1}\right)^{T} \delta^{l+1}\right) \odot \sigma^{\prime}\left(z^{l}\right) 证明: BP2的核心就是把\delta_j^l 和 $\delta_j^{l+1}...