关于反向传播算法中几个公式的推导

** 参考自资料,[戳此处](http://deeplearning.stanford.edu/wiki/index.php/%E5%8F%8D%E5%90%91%E4%BC%A0%E5%AF%BC%E7%AE%97%E6%B3%95)**

J ( W , b ; x , y ) = 1 2 ∣ ∣ h W , b ( x ) − y ∣ ∣ 2 J(W,b;x,y)=\frac{1}{2}||h_{W,b}(x)-y||^2 J(W,b;x,y)=21hW,b(x)y2

符号说明:
l = 神 经 网 络 的 某 一 层 S l = 第 l 层 神 经 元 的 数 目 L = 神 经 网 络 的 总 层 数 \begin{aligned} l&=神经网络的某一层\newline S_l&=第l层神经元的数目\newline L&=神经网络的总层数 \end{aligned} l=Sl=lL=
如下图中:
S 1 = 2 ; S L = S 3 = 2 S_1=2;S_L=S_3=2 S1=2;SL=S3=2
这里写图片描述

推导之前先列出几个用到的等式:

z j l = ∑ k = 1 S l − 1 f ( z k l − 1 ) ⋅ W j k l − 1 = f ( z 1 l − 1 ) ⋅ W j 1 l − 1 + f ( z 2 l − 1 ) ⋅ W j 2 l − 1 + ⋯ + f ( z S l − 1 l − 1 ) ⋅ W j S l − 1 l − 1 ⋯ ⋯ ⋯ ( 1 ) = a 1 l − 1 ⋅ W j 1 l − 1 + a 2 l − 1 ⋅ W j 2 l − 1 + ⋯ + a S l − 1 l − 1 ⋅ W j S l − 1 l − 1 ⋯ ⋯ ⋯ ⋯ ⋯ ( 2 ) \begin{aligned} z^l_\color{red}{j}&=\sum_{k=1}^{S_{l-1}}f(z_k^{l-1})\cdot W^{l-1}_{\color{red}{j}k}\\[2ex] \newline &=f(z_1^{l-1})\cdot W^{l-1}_{j1}+f(z_2^{l-1})\cdot W^{l-1}_{j2}+\cdots+f(z_{S_{l-1}}^{l-1})\cdot W^{l-1}_{jS_{l-1}}\cdots\cdots\cdots(1) \\[2ex] \newline &=a_1^{l-1}\cdot W^{l-1}_{j1}+a_2^{l-1}\cdot W^{l-1}_{j2}+\cdots+a_{S_{l-1}}^{l-1}\cdot W^{l-1}_{jS_{l-1}}\cdots\cdots\cdots\cdots\cdots(2) \end{aligned} zjl=k=1Sl1f(zkl1)Wjkl1=f(z1l1)Wj1l1+f(z2l1)Wj2l1++f(zSl1l1)WjSl1l1(1)=a1l1Wj1l1+a2l1Wj2l1++aSl1l1WjSl1l1(2)

例如:

z 1 2 = ∑ k = 1 3 f ( z k 1 ) ⋅ W 1 k 1 = a 1 1 ⋅ W 11 1 + a 2 1 ⋅ W 12 1 + a 3 1 ⋅ W 13 1 \begin{aligned} z^2_1=\sum_{k=1}^{3}f(z_k^{1})\cdot W^{1}_{\color{red}{1}k}=a^1_1\cdot W^1_{11}+a^1_2\cdot W^1_{12}+a^1_3\cdot W^1_{13} \end{aligned} z12=k=13f(zk1)W1k1=a11W111+a21W121+a31W131

h ( x i ) = a i L = f ( z i L ) ; z i l = ∑ j = 1 S ( l − 1 ) W i j l − 1 ⋅ a j l − 1 ⋯ ⋯ ⋯ ⋯ ( 3 ) \begin{aligned} h(x_i)=a^L_i=f(z^L_i);z^l_i=\sum_{j=1}^{S_{(l-1)}}W^{l-1}_{ij}\cdot a^{l-1}_j\cdots\cdots\cdots\cdots(3) \end{aligned} h(xi)=aiL=f(ziL);zil=j=1S(l1)Wijl1ajl1(3)

定义: δ i l = ∂ J ∂ z i l \delta^l_i=\frac{\partial J}{\partial z^l_i} δil=zilJ这只是定义 的一个称之为“残差”的中间变量

推导:


公式一: ∂ J ∂ W i j l = δ i l + 1 ⋅ a j l \frac{\partial J}{\partial W^l_{ij}}=\delta^{l+1}_i\cdot a^l_j WijlJ=δil+1ajl

∂ J ∂ W i j l = ∑ k = 1 S l + 1 ∂ J ∂ z k l + 1 ⋅ ∂ z k l + 1 ∂ W i j l = ∂ J ∂ z i l + 1 ⋅ ∂ z i l + 1 ∂ W i j l ⋯ ⋯ 其 中 只 有 当 k 等 于 i 时 , ∂ z i l + 1 ∂ W i j l 才 不 为 零 = δ i l + 1 ⋅ ∂ z i l + 1 ∂ W i j l = δ i l + 1 ⋅ ∂ ∂ W i j l [ a 1 l W i 1 l + a 2 l W i 2 l + ⋯ + a 1 l W i S l l ] ⋯ ⋯ 红 色 部 分 由 ( 2 ) 可 知 = δ i l + 1 ⋅ a j l ⋯ ⋯ 观 察 可 知 , 当 a ? l W i j l 等 于 上 面 红 色 部 分 中 的 某 一 项 时 , 问 号 处 刚 好 为 j , 注 意 观 察 角 标 \begin{aligned} \frac{\partial J}{\partial W^l_{ij}}&=\sum_{k=1}^{S_{l+1}}\frac{\partial J}{\partial z^{l+1}_k}\cdot\frac{\partial z^{l+1}_k}{\partial W^l_{ij}}\\ \\&=\frac{\partial J}{\partial z^{l+1}_i}\cdot\frac{\partial z^{l+1}_i}{\partial W^l_{ij}}\cdots\cdots其中只有当k等于i时,\frac{\partial z^{l+1}_i}{\partial W^l_{ij}}才不为零\\ \newline &=\delta^{l+1}_i\cdot\frac{\partial z^{l+1}_i}{\partial W^l_{ij}} \\ \newline &=\delta^{l+1}_i\cdot\frac{\partial}{\partial W^l_{ij}} \color{red}{[a^l_1W^l_{i1}+a^l_2W^l_{i2}+\cdots+a^l_1W^l_{iS_{l}}]}\cdots\cdots红色部分由(2)可知 \\ \newline &=\delta^{l+1}_i\cdot\color{red}{a^l_j}\cdots\cdots观察可知,当a^l_?W^l_{ij}等于上面红色部分中的某一项时,问号处刚好为j,注意观察角标 \\ \\ \end{aligned} WijlJ=k=1Sl+1zkl+1JWijlzkl+1=zil+1JWijlzil+1kiWijlzil+1=δil+1Wijlzil+1=δil+1Wijl[a1lWi1l+a2lWi2l++a1lWiSll]

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值