能否解释一下卷积层和子采样层之间的区别?
在卷积步骤中我们定义卷积滤波器及其权重,而在子采样步骤中我们应用卷积滤波器并通过步长和池化来确定其大小,这种理解正确吗?
回答:
主要区别在于,卷积操作旨在从输入中提取特征,而子采样的目的是仅仅减少输入的维度。在标准的CNN中,卷积层具有可训练的参数,这些参数在训练过程中被调整,而子采样层是一个常数操作(通常由最大池化层执行)。在CNN中,这种最大池化通常有助于模型增加一些空间不变性。
我认为你最后一段的看法并不正确。
卷积:你有一个特定大小的滤波器。输出是这个滤波器与输入的不同区域(大小相似)的逐元素乘积。你可以使用卷积滤波器的步长来对输入进行子采样。例如:
对于7×7的输入,使用相同大小的滤波器,在第一张图像中使用1像素的步长,我们得到5×5的输出,而在第二张图像中使用2像素的步长,我们得到3×3的输出。所以从技术上讲,我们在卷积层中得到了子采样,但子采样是不可训练的(步长大小是常数)。
更常见的是,当谈论子采样层时(可能是你发布的图像中的情况),意思是最大池化层,类似于卷积,它也有一个滤波器和一定大小的步长。然而,没有可训练的权重(输出只是每个区域的最大像素):
一个罕见的情况是使用平均池化层作为这种子采样层。