步长与填充:让卷积的神奇之处更胜一筹
2023-12-21 19:32:03
动起手来学深度学习6.2 填充和步幅 padding and strides
参与11月更文挑战的第23天,活动详情查看:2021最后一次更文挑战 需要接着动手学深度学习6.1 为什么需要卷积层 | 卷积公式推导 看。
经过第一节的推到和演示,我们已经能get到卷积的输出形状取决
- 输入特征图的大小
- 卷积核的大小
- 步幅
- 填充
步幅和填充是两个非常重要的概念,它们会对卷积的输出形状产生重大影响。在本节中,我们将详细探讨这两个概念,并通过例子来说明它们是如何工作的。
步幅
步幅是指卷积核在输入特征图上移动的步长。步幅为1表示卷积核每次移动一个像素,步幅为2表示卷积核每次移动两个像素,以此类推。
步幅会影响卷积的输出形状。步幅越大,输出形状越小。这是因为步幅越大,卷积核就会跳过更多的像素,从而导致输出特征图中的像素数量减少。
例如,假设我们有一个大小为5x5的输入特征图,卷积核大小为3x3,步幅为1。那么,卷积的输出形状将为3x3。
如果我们将步幅改为2,那么卷积的输出形状将为2x2。这是因为卷积核每次移动两个像素,因此会跳过一些像素。
填充
填充是指在输入特征图的周围添加额外的像素。填充可以防止卷积核在特征图的边缘处丢失信息。
填充有两种方式:
- 零填充:在特征图的周围添加0像素。
- 边缘填充:在特征图的周围添加输入特征图边缘的像素。
填充会影响卷积的输出形状。填充越多,输出形状越大。这是因为填充会增加输入特征图的大小,从而导致输出特征图中的像素数量增加。
例如,假设我们有一个大小为5x5的输入特征图,卷积核大小为3x3,步幅为1,填充为0。那么,卷积的输出形状将为3x3。
如果我们将填充改为1,那么卷积的输出形状将为5x5。这是因为我们在输入特征图的周围添加了1像素的0填充,从而导致输入特征图的大小增加到7x7。
填充和步幅的应用
填充和步幅是卷积神经网络中非常重要的两个概念。它们可以用来控制卷积的输出形状,并防止卷积核在特征图的边缘处丢失信息。
填充和步幅在实践中有很多应用。例如,它们可以用来:
- 减少卷积的输出形状。这可以减少卷积神经网络的参数数量,并提高训练速度。
- 防止卷积核在特征图的边缘处丢失信息。这可以提高卷积神经网络的准确性。
- 控制卷积核在输入特征图上的移动方式。这可以用来实现不同的卷积操作,例如膨胀卷积和空洞卷积。
结论
步幅和填充是卷积神经网络中非常重要的两个概念。它们可以用来控制卷积的输出形状,并防止卷积核在特征图的边缘处丢失信息。
填充和步幅在实践中有很多应用。它们可以用来减少卷积的输出形状,防止卷积核在特征图的边缘处丢失信息,以及控制卷积核在输入特征图上的移动方式。