反向传播(Backpropagation)

反向传播是用来训练神经网络的一种方法,一般与最优化方法(如梯度下降法)结合使用

目标:

最小化损失函数C

神经网络:

\[z{_i^l}=\sum \limits_{j}w{_{ij}^l}a{_j^{l-1}}+b^l \]

\[a{_j^l} = \sigma(z{_j^l}) \]

最优化方法:

梯度下降法

\[\theta^n = \theta^{n-1} - \eta\nabla C(\theta^{n-1}) \]

在神经网络中\(\theta\)具体为weight \(w\)和bias \(b\)

\[\frac{\partial C}{\partial w{_{ij}^l}} = \frac{\partial z{_i^l}}{\partial w{_{ij}^l}} \frac{\partial C}{\partial z{_i^l}} = a{_j^{l-1}} \delta{_i^l}\]

\[\frac{\partial C}{\partial b^l} = \frac{\partial z{_i^l}}{\partial b^l} \frac{\partial C}{\partial z{_i^l}} = \delta{_i^l}\]

\[\delta{_i^l}=\frac{\partial C}{z{_i^l}} = ... = \acute \sigma (z{_i^l}) \sum\limits_{k}w{_{ki}^{l+1}} \delta{_k^{l+1}} \]

Ref.

维基百科 反向传播
李宏毅 ppt

posted @ 2019-08-24 16:36  youqia  阅读(498)  评论(0编辑  收藏  举报