一、介绍
本文主要描述卷积神经网络的参数学习。在卷积网络中,参数为卷积核中权重以及偏置。和全连接前馈网络类似,卷积网络也可以通过误差反向传播算法来进行参数学习。
二、具体计算
在全连接前馈神经网络中,梯度主要通过每一层的误差项δ 进行反向传播,并进一步计算每层参数的梯度。在卷积神经网络中,主要有两种不同功能的神经层:卷积层和汇聚层。汇聚层只有一个固定的无参数函数,而参数为卷积核以及偏置,因此只需要计算卷积层中参数的梯度。
对第 l 层为卷积层,第 l - 1 层的输入特征映射为,通过卷积计算得到第l 层的特征映射净输入
。第l 层的第p(1 ≤ p ≤ P )个特征映射净输入 :
(2.1 )
其中和
为卷积核以及偏置。第l层中共有
个卷积核和P个偏置,可以分别使用链式法则来计算其梯度。根据公式附3.1和公式5.25,损失函数关于第l层的卷积核
的偏导数为:
(2.2)
(2.3)
其中为损失函数关于第l层的第p个特征映射净输入Z^{(l,p)} 的偏导数,也称为误差项。同理可得,损失函数关于第l层的第p个偏置
的偏导数为:
(2.4)
由上述公式可得,每层的梯度依赖其所在层的误差项。
误差项的计算:由于卷积层和汇聚层的计算有所不同,需分开处理。
汇聚层:当第l + 1层为汇聚层时,因为汇聚层是下采样操作, l + 1 层的每个神经元的误差项 δ 对应于第 l 层的相应特征映射的一个区域。 l 层的第 p 个特征映射中的每个神经元都有一条边和 l + 1 层的第 p 个特征映射中的一个神经元相连(只有对于区域的神经元链接权重不为0)。根据链式法则,第l 层的一个特征映射的误差项,只需要将l + 1层对应特征映射的误差项
进行上采样操作(和第l 层的大小一样),再和l 层特征映射的激活值偏导数逐元素相乘,就得到了
。
第l层第p个特征映射的误差项推导如下:
其中为第l层使用的激活函数导数,up为上采用函数,与汇聚的下采样操作刚好相反。如果采样时最大汇聚,误差项
中每个值会接传递到上一层对应区域中的最大值所对应的神经元,该区域中其它神经元的误差项的都设为0。如果下采样是平均汇聚(mean pooling),误差项
中每个值会被平均分配到上一层对应区域中的所有神经元上。
卷积层 当l+1 层位卷积层时,假设特征映射净输入,其中第p个特征映射净输入位:
其中W 和 b为第l+1层的卷积核以及偏置。第l+1 层中共有个卷积核和P个偏置。
第l层的第d个特征映射的误差项推导过程如下:
其中是
经由 l+1层的 第p个特征映射
关于
的偏导数。这里之所以采用求和形式是因为:正向传播时
贡献了输出的每个特征映射
。“⊙”可以从各层的神经单元看出。 其中
为宽卷积。
三、复习资料
1、《神经网络与深度学习》,邱锡鹏, 机械工业出版社,2019年等。
附公式3.1: