CNN 真的是翻译不变的吗?

数据挖掘 神经网络 美国有线电视新闻网 卷积神经网络
2022-02-09 10:58:01

我读到在卷积神经网络的隐藏层中,所有神经元共享相同的权重和偏差。结果,所有神经元都检测到相同的特征,因此 ConvNets 变得对翻译保持不变。

然后我读到,在 2003 年,Simard、Steinkraus 和 Platt 通过在其他操作中使用翻译人为地扩展数据,在 MNIST 分类中实现了更好的分类。

所以,我的问题是 ConvNets 真的对翻译保持不变吗?

1个回答

简短的回答 - 不,CNN 并不是真正的翻译不变性。

我特指你提到的论文中图像分类网络的风格(即,(输入)>(卷积层)>...>(卷积层)>(完全连接层)...>(完全连接层)> (输出))。

这部分是因为平移不变性和平移等效性之间的差异(一个重要的区别,imo)。看到这个问题和答案

为什么

网络中的最后几层是完全连接的(FC)。FC 层绝对不是平移不变的(它们不考虑输入之间的空间关系)。但是,如果第一个 FC 层之前的所有内容都是平移不变的,那么整个网络仍然可以是平移不变的。

我们在 FC 层之前有卷积层,但卷积层是平移等变的,而不是平移不变的(见下文,它会有意义)。因此,整个网络不是(真的)翻译不变的。

在卷积之后添加池化层使网络对小的平移运动保持不变。

卷积运算是平移等变的

函数的翻译等变意味着它对于输入的翻译版本的输出是输出的翻译版本。

如果

f(x(i))=y(i)
然后
f(x(it))=y(it)
在哪里i是空间索引

与平移不变性比较

翻译不变性意味着输入的翻译版本的输出与原始输入的输出完全相同。

如果

f(x(i))=y(i)
然后
f(x(it))=y(i)
在哪里i是空间索引