赞
踩
在卷积网络中,参数为卷积核中权重以及偏置。和全连接前馈网络类似,卷
积网络也可以通过误差反向传播算法来进行参数学习。
在全连接前馈神经网络中,梯度主要通过每一层的误差项δ进行反向传播,
并进一步计算每层参数的梯度。
参见公式:
δ
(
l
)
≜
∂
L
(
y
,
y
^
)
∂
z
(
l
)
=
=
f
l
′
(
z
(
l
)
)
⊙
(
(
W
(
l
+
1
)
)
T
δ
(
l
+
1
)
)
\delta^{(l)}\triangleq\dfrac{\partial\mathcal{L}(\mathbf{y},\hat{\mathbf{y}})}{\partial\mathbf{z}^{(l)}} ==f'_l(\mathbf z^{(l)})\odot\big((W^{(l+1)})^{\mathrm T}\delta^{(l+1)}\big)
δ(l)≜∂z(l)∂L(y,y^)==fl′(z(l))⊙((W(l+1))Tδ(l+1))
在卷积神经网络中,主要有两种不同功能的神经层:卷积层和汇聚层。而
参数为卷积核以及偏置,因此只需要计算卷积层中参数的梯度。
不失一般性,对第
l
l
l 层为卷积层,第
l
−
1
l − 1
l−1层的输入特征映射为
X
(
l
−
1
)
X^{(l−1)}
X(l−1) ∈
R
M
×
N
×
D
R^{M×N×D}
RM×N×D ,通过卷积计算得到第l层的特征映射净输入
Z
(
l
)
∈
R
M
′
×
N
′
×
P
Z^(l) ∈ R^{M ′^×N^′ ×P}
Z(l)∈RM′×N′×P
。第
l
l
l层的第
p
(
1
≤
p
≤
P
)
p(1 ≤ p ≤ P)
p(1≤p≤P)个特征映射净输入
Z
(
l
,
p
)
=
∑
d
=
1
D
W
(
l
,
p
,
d
)
⊗
X
(
l
−
1
,
d
)
+
b
(
l
,
p
)
Z^{(l,p)}=\sum_{d=1}^{D}W^{(l,p,d)}\otimes X^{(l-1,d)}+b^{(l,p)}
Z(l,p)=d=1∑DW(l,p,d)⊗X(l−1,d)+b(l,p)
其中
W
(
l
,
p
,
d
)
W^{(l,p,d)}
W(l,p,d)和
b
(
l
,
p
)
b^{(l,p)}
b(l,p)为卷积核以及偏置。第l层中共有
P
×
D
P × D
P×D个卷积核和
P
P
P 个 偏置,可以分别使用链式法则来计算其梯度。
损失函数关于第l层的卷积核
W
(
l
,
p
,
d
)
W^(l,p,d)
W(l,p,d) 的偏导数为:
∂
L
(
Y
,
Y
^
)
∂
W
(
l
,
p
,
d
)
=
∂
L
(
Y
,
Y
^
)
∂
Z
(
l
,
p
)
⊗
X
(
l
−
1
,
d
)
=
δ
(
l
,
p
)
⊗
X
(
l
−
1
,
d
)
,
∂L(Y,ˆY)∂W(l,p,d)=∂L(Y,ˆY)∂Z(l,p)⊗X(l−1,d)=δ(l,p)⊗X(l−1,d),
∂W(l,p,d)∂L(Y,Y^)=∂Z(l,p)∂L(Y,Y^)⊗X(l−1,d)=δ(l,p)⊗X(l−1,d),
其中
δ
(
l
,
p
)
=
∂
L
(
Y
,
Y
^
)
∂
Z
(
l
,
p
)
\delta^{(l,p)}=\frac{\partial{\cal L}(Y,\hat{Y})}{\partial Z^{(l,p)}}
δ(l,p)=∂Z(l,p)∂L(Y,Y^)
为损失函数关于第l层的第p个特征映射净输入Z^{(l,p)} 的偏导数。
同理可得,损失函数关于第l层的第p个偏置b^{(l,p)} 的偏导数为:
∂
L
(
Y
,
Y
^
)
∂
b
(
l
,
p
)
=
∑
i
,
j
[
δ
(
l
,
p
)
]
i
,
j
\dfrac{\partial\mathcal L(Y,\hat Y)}{\partial b^{(l,p)}}=\sum_{i,j}[\delta^{(l,p)}]_{i,j}
∂b(l,p)∂L(Y,Y^)=i,j∑[δ(l,p)]i,j
卷积网络中,每层参数的梯度依赖其所在层的误差项 δ ( l , p ) δ^{(l,p)} δ(l,p) 。
第
l
l
l层的第
p
p
p个特征映射的误差项
δ
(
l
,
p
)
δ^(l,p)
δ(l,p) 的具体推导过程如下:
δ
(
l
,
p
)
≜
∂
L
(
Y
,
Y
^
)
∂
Z
(
l
,
p
)
=
∂
X
(
l
,
p
)
∂
Z
(
l
,
p
)
⋅
∂
Z
(
l
+
1
,
p
)
∂
X
(
l
,
p
)
⋅
∂
L
(
Y
,
Y
^
)
∂
Z
(
l
,
p
)
=
f
l
′
(
Z
(
l
,
p
)
)
⊙
np
(
δ
(
l
+
1
,
p
)
)
δ(l,p)≜
δ(l,p)≜∂Z(l,p)∂L(Y,Y^)=∂Z(l,p)∂X(l,p)⋅∂X(l,p)∂Z(l+1,p)⋅∂Z(l,p)∂L(Y,Y^)=fl′(Z(l,p))⊙np(δ(l+1,p))
其中 f l ′ ( ⋅ ) f^′_l (·) fl′(⋅)为第 l l l层使用的激活函数导数,up为上采样函数(upsampling),与汇聚层中使用的下采样操作刚好相反。如果下采样是最大汇聚(max pooling),误差项 δ ( l + 1 , p ) δ^{(l+1,p)} δ(l+1,p) 中每个值会直接传递到上一层对应区域中的最大值所对应的神经元,该区域中其它神经元的误差项的都设为0。如果下采样是平均汇聚(meanpooling),误差项 δ ( l + 1 , p ) δ^{(l+1,p)} δ(l+1,p) 中每个值会被平均分配到上一层对应区域中的所有神经元上。
卷积并非真正的矩阵乘积,
因此这里计算的偏导数并非
真正的矩阵偏导数,我们可
以把X,Z 都看作向量。
卷积层 当
l
+
1
l+1
l+1层为卷积层时,假设特征映射净输入
Z
(
l
+
1
)
Z^(l+1)
Z(l+1) ∈
R
M
′
×
N
′
×
P
R^{M^′ ×N^′ ×P}
RM′×N′×P
,其中参见公式第
p
(
1
≤
p
≤
P
)
p(1 ≤ p ≤ P)
p(1≤p≤P)个特征映射净输入
Z
(
l
+
1
,
p
)
=
∑
d
=
1
D
W
(
l
+
1
,
p
,
d
)
⊗
X
(
l
,
d
)
+
b
(
l
+
1
,
p
)
Z^{(l+1,p)}=\sum_{d=1}^{D}W^{(l+1,p,d)}\otimes X^{(l,d)}+b^{(l+1,p)}
Z(l+1,p)=d=1∑DW(l+1,p,d)⊗X(l,d)+b(l+1,p)
其中W^{(l+1,p,d)} 和b^{(l+1,p)} 为第
l
+
1
l+1
l+1层的卷积核以及偏置。第
l
+
1
l+1
l+1层中共有
P
×
D
P ×D
P×D个卷积核和P 个偏置。
第
l
l
l层的第
d
d
d个特征映射的误差项
δ
(
l
,
d
)
δ^(l,d)
δ(l,d) 的具体推导过程如下:
δ
(
l
,
d
)
≜
∂
L
(
Y
,
Y
^
)
∂
Z
(
l
,
d
)
=
∂
X
(
l
,
d
)
∂
Z
(
l
,
d
)
⋅
∂
L
(
Y
,
Y
^
)
∂
X
(
l
,
d
)
=
f
l
′
(
Z
(
l
)
)
⊙
∑
p
=
1
P
(
r
o
t
180
(
W
(
l
+
1
,
p
,
d
)
)
⊗
~
∂
L
(
Y
,
Y
^
)
∂
Z
(
l
+
1
,
p
)
)
=
f
l
′
(
Z
(
l
)
)
⊙
∑
n
=
1
P
(
rot
180
(
W
(
l
+
1
,
p
,
d
)
)
⊗
~
δ
(
l
+
1
,
p
)
)
δ(l,d)≜∂Z(l,d)∂L(Y,Y^)=∂Z(l,d)∂X(l,d)⋅∂X(l,d)∂L(Y,Y^)=fl′(Z(l))⊙∑p=1P(rot180(W(l+1,p,d))⊗~∂Z(l+1,p)∂L(Y,Y^))=fl′(Z(l))⊙n=1∑P(rot180(W(l+1,p,d))⊗~δ(l+1,p))
其中
⊗
~
\tilde{\otimes}
⊗~为宽卷积。
局部连接 在卷积层(假设是第
l
l
l层)中的每一个神经元都只和下一层(第
l
−
1
l − 1
l−1层)中某个局部窗口内的神经元相连,构成一个局部连接网络。如图所示,
积层和下一层之间的连接数大大减少,有原来的$n^l ×n^{l−1}
个连接变为
个连接变为
个连接变为n^l ×m$
个连接,m为滤波器大小。
权重共享 从公式可以看出,作为参数的滤波器
w
(
l
)
w^{(l)}
w(l) 对于第
l
l
l层的所有的
神经元都是相同的。如图中,所有的同颜色连接上的权重是相同的。
由于局部连接和权重共享,卷积层的参数只有一个
m
m
m维的权重
w
(
l
)
w^{(l)}
w(l) 和
1
1
1维
的偏置
b
(
l
)
b^{(l)}
b(l) ,共
m
+
1
m + 1
m+1个参数。参数个数和神经元的数量无关。此外,第
l
l
l层的
神经元个数不是任意选择的,而是满足
n
(
l
)
=
n
(
l
−
1
)
−
m
+
1
n^{(l)} = n^{(l−1)} − m + 1
n(l)=n(l−1)−m+1。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。