在卷积运算中,还有一个参数叫做 stride,它对卷积的运算以及运算结果影响也很大。
还是先看卷积动图,从图上你能猜到 stride 参数在哪吗?
在卷积操作中,stride 指的是卷积核在滑动过程中每次跳过的像素数量。
stride 决定了卷积核在输入图像上移动的速度。例如,如果 stride 为1,那么卷积核每次就移动一个像素;如果 stride 为2,那么卷积核每次就移动两个像素。
也就是上图卷积核每次扫描时跳过的像素的个数。在上面动图用,展示的 stride 是2。
从跳扫描这个动作中,就不难猜到它的第一个作用,也是我认为大部分卷积都配置 stride > 1 时的原因,那就是减少计算量。
减小计算量
增大 stride,我们可以减少卷积核需要覆盖的像素数量,从而减小计算量,这对于大规模数据集和复杂模型来说,是很重要的,可以大大节省计算资源和训练/推理时间。
控制输出特征图的大小
通过调整stride,我们可以控制生成的特征图的大小。增大 stride 会使特征图变小,而减小 stride 会使特征图变大。
这对于设计网络结构和优化模型性能来说,也是有利的。