导致卷积神经网络在某种程度上具有平移不变性的是最大池化。每个神经元在原始图像中都有一个感受野。例如,如果您有两个步幅为 1 的卷积层,中间有一个 2x2 最大池化步骤,
即输入图像 --> C3x3/1 --> M2x2/2 --> C3x3/1 --> 输出特征图,
然后输出特征图中的每个神经元在原始图像中看到 8x8 个块,即有一个 8x8 的感受野。那个神经元会因为在这个 8x8 区域(忽略边界效应)的任何地方发生的事情而感到兴奋,因为空间信息在最大池化步骤中丢失了。如果您向网络添加更多最大池化步骤,您将增加这个感受野。
通常,在最后几层中,使用密集连接的层,它们结合了来自不同感受野的信息。在那里,图像的不同区域以不同的权重连接,因此信息的来源很重要。
例如,在面部识别软件中,您可能希望通过最大池化稍微抽象信息,但不要太多,因为不同图像组件(眼睛、鼻子等)在空间上如何相关的信息很重要。
或者,扩展您给出的示例。想象一下,你要训练一个包含猫和狗图像的网络,其中动物只出现在左上角。此外,您设计的网络使得在全连接层之前的最后一个特征图的感受野是输入图像的四分之一。那么分类器将无法识别右下角的猫或狗。连接到图像那部分的全连接层中的权重永远不会学到任何东西。
最后,您可以使您的网络如此之深,以使全连接层之前的最后一层的感受野覆盖整个图像。在这种情况下,输入图像中的任何东西都可以激发最后一个特征图中的任何神经元。