卷积神经网络:转置卷积与滤波器层级结构解析
1. 转置卷积概述
在处理输入数据时,我们不仅可以通过池化或步幅操作来缩小输入的尺寸(下采样),还能增大输入的尺寸(上采样)。在上采样过程中,张量的宽度和高度会增加,但通道数保持不变。
上采样可以通过单独的上采样层实现,也可以将其融入卷积层。独立的上采样层通常会按照我们的要求重复输入张量的值。例如,若在宽度和高度上都将张量上采样两倍,每个输入元素会变成一个 2x2 的小方块。
结合卷积和上采样的操作被称为转置卷积,也被称作分数步幅卷积、空洞卷积或多孔卷积。“转置”一词源于数学中的转置运算,可用于描述该操作的方程;“多孔(atrous)”在法语中意为“有洞的”。
1.1 转置卷积的工作原理
假设我们有一个 3x3 的起始图像(通道数不变),想用 3x3 的滤波器处理它,并得到一个 5x5 的图像。一种方法是在输入周围填充两圈零,如图 1 所示。
若在输入中添加更多圈的零,会得到更大的输出,但会在中心 5x5 的核心周围产生零圈,这并不实用。
另一种扩大输入的方法是在卷积前通过在输入元素周围和元素之间插入填充来扩展输入。例如,在 3x3 图像的每个元素之间插入一行和一列零,并在外部填充两圈零,此时 3x3 的输入变为 9x9,但很多元素是零。当用 3x3 的滤波器在这个网格上滑动时,会得到一个 7x7 的输出,如图 2 所示。