在卷积运算中,还有一个参数叫做 stride,它对卷积的运算以及运算结果影响也很大。
还是先看卷积动图,从图上你能猜到 stride 参数在哪吗?

在卷积操作中,stride 指的是卷积核在滑动过程中每次跳过的像素数量。
stride 决定了卷积核在输入图像上移动的速度。例如,如果 stride 为1,那么卷积核每次就移动一个像素;如果 stride 为2,那么卷积核每次就移动两个像素。
也就是上图卷积核每次扫描时跳过的像素的个数。在上面动图用,展示的 stride 是2。
stride 的作用
从跳扫描这个动作中,就不难猜到它的第一个作用,也是我认为大部分卷积都配置 stride > 1 时的原因,那就是减少计算量。
减小计算量
增大 stride,我们可以减少卷积核需要覆盖的像素数量,从而减小计算量,这对于大规模数据集和复杂模型来说,是很重要的,可以大大节省计算资源和训练/推理时间。
控制输出特征图的大小
通过调整stride,我们可以控制生成的特征图的大小。增大 stride 会使特征图变小,而减小 stride 会使特征图变大。
这对于设计网络结构和优化模型性能来说,也是有利的。
一定程度上防止过拟合
这个怎么理解呢?很多网络过于复杂,就会出现过拟合现象,而如果通过增大stride的方式,使得整个模型的复杂度降低,就可以降低过拟合的风险。
不过防止过拟合并非 stride 参数的主要目的,而是额外带来的好处,很少有人会为了减少过拟合风险而将 stride 设置的特别大,这个参数在大部分应用中,还是为了减少计算量和控制输出特征图的大小而存在的。
总的来说,stride 是卷积算法中一个很常见的参数,它帮助我们控制计算量、控制特征图大小。并且还需要说明一点的是,stride 和 pad 一样,并非左右滑动跳过的像素和上下滑动跳过的像素是一样的,你可以灵活的设置左右方向 stride 和上下方向 stride。
这主要是看输入图像的长宽尺寸以及你希望输出的尺寸,假设输入图像长宽比为1:2,而希望输出的尺寸是1:1,那么就可以设置左右方向的 stride 和上下方向的 stride 比值为1:2.
卷积运算中的 stride 参数控制了卷积核移动速度,影响计算量和输出特征图大小。增大 stride 可减少计算量,控制特征图尺寸,并在一定程度上缓解过拟合。灵活设置不同方向的 stride 对于优化模型性能和资源利用至关重要。
5044

被折叠的 条评论
为什么被折叠?



