直观地理解 CNN 中的平移不变性

人工智能 图像识别 卷积神经网络
2021-11-13 18:39:14

我目前正在学习如何在图像识别中使用 CNN。我阅读的许多解释动机的不同资源都提到了这些网络(在某种程度上)是平移不变的这一事实。我的理解如下:

  • 由于数据的高维性,特别是因为它们不保留像素之间的空间关系,全连接网络不适合图像识别。我关心像素 X 周围的像素状态以及 X 本身。
  • CNN 解决了​​这个问题,因为它们以二维方式查看图像,因此也考虑了周围的像素(内核会这样做)。然而,虽然我关心 X 周围的情况,但我并不关心 X 在哪里。所以,我在任何地方都应用相同的内核,并制作了一堆层,这样我就可以获得一堆内核。
  • 我也使用池化。这减少了数据维度,但也增加了一些平移不变性。

所以,我的问题是:CNN 的什么特征导致了不变性?我看到一些解释说这是地图基本上在某个功能出现时激活的结果,无论在哪里。其他人说,池化意味着,例如,如果一条水平线出现在一个地方而不是一个像素,那么池化将对两者都激活相同的。似乎第一个理由完全足够,第二个理由并不充分,但我也可以看到两者兼而有之。

我还阅读了一篇关于全卷积网络的论文 ( https://arxiv.org/pdf/1606.09549.pdf )。在第 2.1 节中,作者解释说他们有意选择使其完全卷积,因为这使他们能够“在一次评估中计算密集网格上所有已翻译子窗口的相似性”。

那句话让我觉得这更像是第一个解释。无论如何,我希望能更直观地了解 CNN 的不同部分如何结合在一起,从而在图像上表现得特别好。谢谢!

1个回答

平移不变性来自内核无处不在的事实。基本上,内核是“平移”的,即移位,这意味着它们检测到的特征随处可见。

在某些情况下,池化可能会有所帮助,因为最终您需要右侧的狗来激活与左侧的狗相同的神经元,因此需要将信息汇集起来,但这并不是绝对必要的。你也可以想象一个 CNN,它在后期层有一个狗内核,它只识别无处不在的狗,不需要池化。

完全连接的网络是浪费的,因为它们不共享权重。因此,为了获得必要的平移不变性,您需要在所有位置学习几乎相同的权重。但它们确实保留了像素之间的空间关系。

池化降低了维度,但它也忘记了特征的精确位置。这可能有助于概括,但我不确定这是否是一个重要因素。