卷积网络中的步幅、转置卷积与滤波器层次结构
1. 步幅(Striding)
在卷积网络中,池化层是常见的操作,但我们可以将池化步骤直接集成到卷积过程中,从而节省时间。这种组合操作比两个独立的层要快得多。虽然这两种方法得到的张量值通常不同,但经验表明,更快的组合操作通常能产生与较慢的顺序操作同样有用的结果。
1.1 步幅的基本概念
在卷积过程中,我们通常从输入图像的左上角像素开始应用滤波器。滤波器产生一个输出后,向右移动一步,再产生另一个输出,依此类推,直到到达该行的右边缘,然后向下移动一行并回到左侧,重复该过程。但我们不必每次只移动一个像素。如果在扫描滤波器时,向右或向下移动超过一个像素,输出的尺寸将小于输入。只有当在任何维度上的移动步长大于 1 时,我们才使用“步幅(stride)”这个术语。
1.2 步幅的可视化
假设我们在水平方向上每次向右移动三个元素,在垂直方向上每次向下移动两个元素。这样,输出会随着每次滤波器的移动而逐元素增长。通常,我们会为两个轴指定相同的步幅值。例如,两个轴的步幅都为 2 意味着在水平和垂直方向上每隔一个像素进行评估,输出的尺寸将是输入尺寸的一半,这与先以步幅 1 进行卷积再使用 2x2 块进行池化的输出尺寸相同。
1.3 步幅对计算效率的影响
当每次移动一个元素时,一个 3x3 的滤波器会多次处理相同的输入元素。当步幅较大时,滤波器仍可能多次处理某些元素。但如果我们想节省时间,可以使用步幅来确保每个输入元素只被处理一次。例如,使用 3x3 的滤波器在图像上移动时,在两个方向上都使用步幅 3,这样每个像素只会被使用一次。
这种有步幅的卷积比
超级会员免费看
订阅专栏 解锁全文
719

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



