卷积层参数包括卷积核大小、步长和填充,三者共同决定了卷积层输出特征图的尺寸,是卷积神经网络的超参数。
卷积层参数结构
卷积层参数包括卷积核大小、步长和填充。
(1)、卷积核
卷积核大小可以指定为小于输入图像尺寸的任意值,卷积核越大,可提取的输入特征越复杂 。
(2)、卷积步长
卷积步长定义了卷积核相邻两次扫过特征图时位置的距离,卷积步长为1时,卷积核会逐个扫过特征图的元素,步长为n时会在下一次扫描跳过n-1个像素。
由卷积核的交叉相关计算可知,随着卷积层的堆叠,特征图的尺寸会逐步减小,例如16×16的输入图像在经过单位步长、无填充的5×5的卷积核后,会输出12×12的特征图。
(3)、填充
填充是在特征图通过卷积核之前人为增大其尺寸以抵消计算中尺寸收缩影响的方法。常见的填充方法为按0填充(见图)和重复边界值填充(replication padding)。
按0填充
填充依据其层数和目的可分为四类 :
- 有效填充(valid padding):即完全不使用填充,卷积核只允许访问特征图中包含完整感受野的位置。输出的所有像素都是输入中相同数量像素的函数。使用有效填充的卷积被称为“窄卷积(narrow convolution)”,窄卷积输出的特征图尺寸为(L-f)/s+1。
- 相同填充/半填充(same/half padding):只进行足够的填充来保持输出和输入的特征图尺寸相同。相同填充下特征图的尺寸不会缩减但输入像素中靠近边界的部分相比于中间部分对于特征图的影响更小,即存在边界像素的欠表达。使用相同填充的卷积被称为“等长卷积(equal-width convolution)”。
- 全填充(full padding):进行足够多的填充使得每个像素在每个方向上被访问的次数相同。步长为1时,全填充输出的特征图尺寸为L+f-1,大于输入值。使用全填充的卷积被称为“宽卷积(wide convolution)”
- 任意填充(arbitrary padding):介于有效填充和全填充之间,人为设定的填充,较少使用。
参数作用
三个卷积参数共同决定了卷积层输出特征图的尺寸,是卷积神经网络的超参数 。
卷积例子
若16×16的输入图像在经过单位步长的5×5的卷积核之前先进行相同填充,则会在水平和垂直方向填充两层,即两侧各增加2个像素(p=2)变为20×20大小的图像,通过卷积核后,输出的特征图尺寸为16×16,保持了原本的尺寸。
卷积计算公式:
经过卷积后输出维度大小的公式:
output=(n+2×p-f)/s+1
参数详解:
output=输出值; n: 输入的维度、 f:卷积核大小、 s: 步长、 p: 填充