卷积神经网络:怎样提取图像特征
图像中的相邻像素通常有很强的关联。卷积神经网络利用局部连接与权重共享,在不同位置应用同一组滤波器,提取空间特征。
卷积核与特征图
一个卷积核在输入的局部区域上计算加权和,沿着图像滑动,得到特征图。卷积核的数值由训练学习得到,并不是必须手工设定的边缘检测器。
在普通卷积层中,一个输出通道会综合所有输入通道的信息。例如输入有 3 个颜色通道,使用 16 个输出通道、3 × 3 的卷积核,权重参数数量是:
16 × 3 × 3 × 3 = 432
如果每个输出通道都有偏置,再加 16 个参数。
步幅和填充
- 步幅 stride:卷积核每次移动的距离,增大步幅通常会减小输出尺寸。
- 填充 padding:在输入边界补充值,用来控制边界处理与输出尺寸。
- 通道 channel:同一空间位置上不同的特征表示。
在膨胀率为 1 时,单个空间维度的输出尺寸为:
输出尺寸 = floor((输入尺寸 + 2 × 填充 − 卷积核尺寸) / 步幅) + 1
例如输入宽度为 32,卷积核为 3,填充为 1,步幅为 1,输出宽度仍为 32。
感受野与池化
感受野指某个特征位置能够受到影响的输入区域。叠加卷积层通常会扩大感受野,让后面的层有机会组合更大范围的信息。
池化可以对局部区域取最大值或平均值,降低空间分辨率,但也会丢失细节。需要精确定位的任务,应谨慎安排下采样。
训练图像模型时的检查
确认输入尺寸、通道顺序和归一化方式一致。数据增强也应保持标签语义:水平翻转可能适合某些物体识别任务,却未必适合文字或方向识别。