CNN的反向传播过程,从原理上讲,与普通的反向传播相同(都使用了链式法则),从具体形式上讲,CNN的反向传播公式又比较特殊,这是因为CNN独有的4个特点:
- 局部感知:卷积核和图像卷积时,每次卷积核所覆盖的像素只是一小部分。这一小部分也叫做感受野。
- 权值共享:同一层的每个感受野被卷积时,卷积参数都是相同的。
- 多卷积核:同一层的每个感受野可能被多个不同的卷积核分别进行卷积,输出多个通道(每个卷积核的结果是一个通道)。
- 池化:下采样过程,图像经过池化后,大小会缩小一定倍数。
一般的反向传播
一般的反向传播(即全连接网络)的公式如下:
δ(l)i∂J(θ)∂w(l)ij∂J(θ)∂b(l)i=g′(z(l)i)∑j=1Sl+1δ(l+1)jw(l)ji=δ(l+1)ia(l)j=δ(l+1)i δ i ( l ) = g ′ ( z i ( l ) ) ∑ j = 1 S l + 1 δ j ( l + 1 ) w j i ( l ) ∂ J ( θ ) ∂ w i j ( l ) = δ i ( l + 1 ) a j ( l ) ∂ J ( θ ) ∂ b i ( l ) = δ i ( l + 1 )
向量形式的表达如下:
δ(l)∂J(θ)∂W(l)∂J(θ)∂b(l)=(W(l))Tδ(l+1)∘g′(z(l))=δ(l+1)(a(l))T=δ(l+1) δ ( l ) = ( W ( l ) ) T δ ( l + 1 ) ∘ g ′ ( z ( l ) ) ∂ J ( θ ) ∂ W ( l ) = δ ( l + 1 ) ( a ( l ) ) T ∂ J ( θ ) ∂ b ( l ) = δ ( l + 1 )
详细推导过程见 反向传播算法的公式推导
反向传播公式的分析
1、对于敏感度的传播: δ(l)i=g′(z(l)i)∑Sl+1j=1δ(l+1)jw(l)ji δ i ( l ) = g ′ ( z i ( l ) ) ∑ j = 1 S l + 1 δ j ( l + 1 ) w j i ( l ) ,可以直接根据链式法则去解释它:
(1)根据前向传播规则, δ(l)