组会 | 反向传播的理论推导


符号说明:

  • 上标 ( l ) (l) (l) 是指该元素属于第 l l l
  • 下标 i i i 是指该元素是当前层的第 i i i 个元素
  • y y y 是指一层的输出
  • w i j w_{ij} wij 是指权重,连接上一层的第 i i i 个输出,和下一层的第 j j j 个神经元
  • Σ \Sigma Σ 是指加权求和
  • φ \varphi φ 是指激活函数
  • η \eta η 是指学习率

说明:本博客中省略下标或者下标不全的情况

  • 比如 φ ( b ) \varphi^{(b)} φ(b) 没有下标,是因为 ( b ) (b) (b) 层只有一种激活函数;
  • 比如写成 w i w_{i} wi 而非 w i j w_{ij} wij,是因为下一层只有一个神经元;
  • 但有些时候只有一个输出时,我也加了下标,比如 y 1 ( 0 ) y_{1}^{(0)} y1(0)


1 正向传播

在这里插入图片描述

  • 假设一个层包含的是:权重、激活函数。
  • 记权重为 w i ( l ) w^{(l)}_i wi(l),其中 ( l ) (l) (l) 代表权重所属的层, i i i 表示该权重是当前层中的第 i i i 个权重。记神经元输入经求和后的值为 v ( l ) v^{(l)} v(l),经激活函数后的输出为 y ( l ) y^{(l)} y(l)
  • 上图中 y i ( a ) y^{(a)}_i yi(a) ( a ) (a) (a) 层的输出, ( b ) (b) (b) 层的输入, y ( b ) y^{(b)} y(b) ( b ) (b) (b) 层的输出。假设 ( b ) (b) (b) 层只有一个神经元和一个输出,因此其激活函数和输出没有下标。

上图中的数学关系

v ( b ) = ∑ i = 0 n w i ( b ) y i ( a ) y ( b ) = φ ( b ) ( v ( b ) ) \begin{alignat}{2} \nonumber v^{(b)} =& \sum_{i=0}^{n}w^{(b)}_i y^{(a)}_i \\ \nonumber y^{(b)} =& \varphi^{(b)}(v^{(b)}) \end{alignat}{} v(b)=y(b)=i=0nwi(b)yi(a)φ(b)(v(b))



2 反向传播

在这里插入图片描述

  • 假设 ( b ) (b) (b) 层就是输出层,它的输出 y ( b ) y^{(b)} y(b) 经损失函数后得到 ε \varepsilon ε


2.1 输出层神经元的梯度

注意:不管是神经元还是权重的梯度,都是损失函数 ε \varepsilon ε 对其进行求导。

δ ( l ) \delta^{(l)} δ(l) ( l ) (l) (l) 层神经元的梯度, ( b ) (b) (b) 层神经元的梯度为:

δ ( b ) = ∂ ε ∂ v ( b ) = ∂ ε ∂ y ( b ) ∗ ∂ y ( b ) ∂ v ( b ) = ∂ ε ∂ y ( b ) ∗ φ ′ ( b ) ( v ( b ) ) \delta^{(b)}=\frac{\partial \varepsilon}{\partial v^{(b)}} =\frac{\partial \varepsilon}{\partial y^{(b)}} * \frac{\partial y^{(b)}}{\partial v^{(b)}} =\frac{\partial \varepsilon}{\partial y^{(b)}} * \varphi'^{(b)}(v^{(b)}) δ(b)=v(b)ε=y(b)εv(b)y(b)=y(b)εφ(b)(v(b))

上式无非就是利用求导的链式法则进行展开。



2.2 前一层神经元的梯度

刚才我们已经得到了输出层 ( b ) (b) (b) 的神经元梯度,现在可以根据 ( b ) (b) (b) 层的神经元梯度求得 ( a ) (a) (a) 层的神经元梯度,即利用 δ ( b ) \delta^{(b)} δ(b) 求得 δ i ( a ) \delta_i^{(a)} δi(a),计算过程如下:

δ 1 ( a ) = ∂ ε ∂ v 1 ( a ) = ∂ ε ∂ v ( b ) ∗ ∂ v ( b ) ∂ y 1 ( a ) ∗ ∂ y 1 ( a ) ∂ v 1 ( a ) = δ ( b ) ∗ w 1 ( b ) ∗ φ ′ ( a ) ( v 1 ( a ) ) \begin{alignat}{2} \nonumber \delta^{(a)}_1 =& \frac{\partial \varepsilon}{\partial v^{(a)}_1} = \frac{\partial \varepsilon}{\partial v^{(b)}} * \frac{\partial v^{(b)}}{\partial y^{(a)}_1} * \frac{\partial y^{(a)}_1}{\partial v^{(a)}_1} \\ \nonumber =& \delta^{(b)} * w^{(b)}_1 * \varphi'^{(a)}(v^{(a)}_1) \end{alignat}{} δ1(a)==v1(a)ε=v(b)εy1(a)v(b)v1(a)y1(a)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值