【深度学习】反向传播 (BP) 计算|链式法则

BP

每个epoch:
\qquad 每个batch:
\qquad\qquad 每个level (n = N, … to 1,即从后往前):
\qquad\qquad\qquad 分别计算出该层误差(对该层参数、该层输入数据)的导数:
\qquad\qquad\qquad\qquad ∂L∂ωn=∂L∂xn+1∂xn+1∂ωn\frac{\partial L}{\partial \omega^{n}} = \frac{\partial L}{\partial x^{n+1}} \frac{\partial x^{n+1}}{\partial \omega^{n}}ωnL=xn+1Lωnxn+1 (更新本level的ωn\omega^{n}ωn时即用)
\qquad\qquad\qquad\qquad ∂L∂xn=∂L∂xn+1∂xn+1∂xn\frac{\partial L}{\partial x^{n}} = \frac{\partial L}{\partial x^{n+1}} \frac{\partial x^{n+1}}{\partial x^{n}}xnL=xn+1Lxnxn+1 (留给底一层的level用)
\qquad\qquad\qquad 更新参数:
\qquad\qquad\qquad\qquad ωn←ωn−η∂L∂ωn\omega^{n} \leftarrow \omega^{n} - \eta \frac{\partial L}{\partial \omega^{n}}ωnωnηωnL
\qquad\qquad\qquad\qquad bn←bn−η∂L∂bnb^{n} \leftarrow b^{n} - \eta \frac{\partial L}{\partial b^{n}}bnbnηbnL

Arg:

  • ω\omegaω:omega(欧米茄)
  • η\etaη:eta(艾塔)

Note

  • BP中的 ∂L∂ωn\frac{\partial L}{\partial \omega^{n}}ωnL∂L∂xn\frac{\partial L}{\partial x^{n}}xnL 的计算结果 来源于 对 前馈计算时L=f(wnxn)L = f(w^{n}x^{n})L=f(wnxn)求导

链式法则

∂L∂ωn=∂L∂xn+1∂xn+1∂ωn=∂L∂xn+2∂xn+2∂xn+1∂xn+1∂ωn\frac{\partial L}{\partial \omega^{n}} = \frac{\partial L}{\partial x^{n+1}} \frac{\partial x^{n+1}}{\partial \omega^{n}} = \frac{\partial L}{\partial x^{n+2}} \frac{\partial x^{n+2}}{\partial x^{n+1}} \frac{\partial x^{n+1}}{\partial \omega^{n}}ωnL=xn+1Lωnxn+1=xn+2Lxn+1xn+2ωnxn+1

bp机制导致每隔一层,∂L∂ωi\frac{\partial L}{\partial \omega^{i}}ωiL 指数级下降。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值