无PADDING时卷积神经网络的反向传播
池化层
当前
l
l
l层为池化层
δ
l
−
1
=
u
p
s
a
m
p
l
e
(
δ
l
)
⨀
σ
′
(
z
l
−
1
)
\delta^{l-1}=upsample(\delta^l)\bigodot\sigma^{'}(z^{l-1})
δl−1=upsample(δl)⨀σ′(zl−1)
卷积层
设
当
前
l
层
为
卷
积
层
,
卷
积
核
W
l
(
n
,
k
x
,
k
y
,
c
)
,
n
为
卷
积
核
个
数
,
c
为
输
入
通
道
数
设当前l层为卷积层,卷积核W^l(n,k_x ,k_y ,c),n为卷积核个数,c为输入通道数
设当前l层为卷积层,卷积核Wl(n,kx,ky,c),n为卷积核个数,c为输入通道数
偏
置
b
l
(
n
,
)
,
上
一
层
输
入
a
l
−
1
(
r
o
w
,
c
o
l
,
c
)
,
则
卷
积
层
输
出
z
l
=
a
l
−
1
∗
W
l
+
b
l
.
偏置b^l(n,),上一层输入a^{l-1}(row,col,c),则卷积层输出z^l=a^{l-1}*W^l+b^l.
偏置bl(n,),上一层输入al−1(row,col,c),则卷积层输出zl=al−1∗Wl+bl.
z
l
(
r
o
w
−
k
x
+
1
,
c
o
l
−
k
y
+
1
,
n
)
,
反
向
传
播
如
下
:
z^l(row-k_x+1,col-k_y+1,n),反向传播如下:
zl(row−kx+1,col−ky+1,n),反向传播如下:
δ
l
−
1
=
δ
l
∗
r
o
t
180
(
W
l
)
⨀
σ
′
(
z
l
−
1
)
\delta^{l-1}=\delta^{l}*rot180(W^l)\bigodot\sigma^{'}(z^{l-1})
δl−1=δl∗rot180(Wl)⨀σ′(zl−1)
δ
l
−
1
和
z
l
−
1
的
s
h
a
p
e
为
(
r
o
w
,
c
o
l
,
c
)
,
设
δ
l
应
该
p
a
d
d
i
n
g
为
(
r
o
w
′
,
c
o
l
′
,
n
)
\delta^{l-1}和z^{l-1}的shape为(row,col,c),设\delta^l应该padding为(row',col',n)
δl−1和zl−1的shape为(row,col,c),设δl应该padding为(row′,col′,n)
r
o
t
180
(
W
l
)
除
了
将
W
l
第
二
第
三
维
度
所
构
成
的
矩
阵
旋
转
180
度
以
外
,
还
应
交
换
第
rot180(W^l)除了将W^l第二第三维度所构成的矩阵旋转180度以外,还应交换第
rot180(Wl)除了将Wl第二第三维度所构成的矩阵旋转180度以外,还应交换第
一
和
第
四
维
度
,
即
r
o
t
180
(
W
l
)
的
s
h
a
p
e
为
(
c
,
k
x
,
k
y
,
n
)
,
此
外
,
r
o
w
′
,
c
o
l
′
应
该
满
足
一和第四维度,即rot180(W^l)的shape为(c,k_x,k_y,n),此外,row',col'应该满足
一和第四维度,即rot180(Wl)的shape为(c,kx,ky,n),此外,row′,col′应该满足
r
o
w
′
−
k
x
+
1
=
r
o
w
,
c
o
l
′
−
k
y
+
1
=
c
o
l
,
即
row'-k_x+1=row,\\col'-k_y+1=col,\\即
row′−kx+1=row,col′−ky+1=col,即
r
o
w
′
=
r
o
w
+
k
x
−
1
,
c
o
l
′
=
c
o
l
+
k
y
−
1
row'=row+k_x-1,\\col'=col+k_y-1
row′=row+kx−1,col′=col+ky−1
权重和偏置更新
∂
J
∂
W
l
=
a
l
−
1
∗
δ
l
这
里
a
l
−
1
=
(
r
o
w
,
c
o
l
,
c
)
,
δ
l
=
(
r
o
w
−
k
x
+
1
,
c
o
l
−
k
y
+
1
,
n
)
,
W
l
=
(
n
,
k
x
,
k
y
,
c
)
,
因
而
此
处
的
卷
积
与
之
前
的
不
同
,
即
左
边
的
[
n
,
:
,
:
,
c
]
=
a
l
−
1
[
:
,
:
,
c
]
和
δ
l
[
:
,
:
,
n
]
的
卷
积
。
\frac{\partial J}{\partial W^l}=a^{l-1}*\delta^l\\这里a^{l-1}=(row,col,c),\delta^l=(row-k_x+1,col-k_y+1,n),\\W^l=(n,k_x,k_y,c),因而此处的卷积与之前的不同,即\\左边的[n,:,:,c]=a^{l-1}[:,:,c]和\delta^l[:,:,n]的卷积。
∂Wl∂J=al−1∗δl这里al−1=(row,col,c),δl=(row−kx+1,col−ky+1,n),Wl=(n,kx,ky,c),因而此处的卷积与之前的不同,即左边的[n,:,:,c]=al−1[:,:,c]和δl[:,:,n]的卷积。
∂
J
∂
b
l
=
∑
u
,
v
(
δ
l
)
u
,
v
\frac{\partial J}{\partial b^l}=\sum_{u,v}(\delta^l)_{u,v}
∂bl∂J=∑u,v(δl)u,v
