CNN中的平移不变性和平移等变性

1. 平移等变性

数学上函数的等变性定义如下:

也就是给定一张图像,平移后卷积的结果卷积后再平移的结果是相同的

2. 平移不变性

如果某个属性在任何平移下都不会改变,那么它就是平移不变的。考虑上面的图像。 即使像素值发生了位移,我们也可以在两幅图像中识别出一位女性。 一个图像分类器应该预测两个图像的标签"女人"。 分类器的输出不应该受到目标位置的影响。 因此,分类器函数的输出是平移不变的。

具体来说:

在上图中,虽然input发生了小小的改变(shift),但由于maxpool的存在,转换与未转换的输出都是相同的。

3 CNN的平移等变与平移不变的实现方式

卷积神经网络的平移等变是通过卷积层获得的。 如果将CNNs的输入图像向右平移一定像素值,则卷积层生成的特征图也会按相同的位移和方向移动。

而考虑分类任务重的 CNNs ,无论平移位移只要仍使得物体在图像边界内,分类结果都是一样的。这就是CNNs的平移不变性。 平移不变性是通过池化层在 CNNs 中获得的。 池化操作通常应用于由前面的卷积层和非线性激活函数生成的特征图。 池化是用具有代表性的统计数据(通常是最大值或平均值)替换邻域中的特征。 因此,忽略了原始特征的位置。

而CNNs 对于旋转、缩放和仿射变换不具有等变和不变性。 因此,使用数据增强技术能够很大程度上使 CNNs 对包含这类几何变换数据的表现更加稳定。

4. 平移不变真的一直存在吗?

如果我们从宏观角度退一步看,若对于分类任务不以最终的label为输出结果,而是以输出probability为准,对于一张目标有平移的图像,其预测的probability会和原图一样么,这种近似苛刻的要求看起来又似乎是合理的。有论文(https://arxiv.org/abs/1904.11486)做了这样的实验,结果如下图所示,即使是很小的移动也会带来预测probability的剧烈震荡。这便令人往probability之前联想,莫不是特征提取的时候,目标移动给特征层造成了某些影响么?

从特征提取的角度直观的思考,卷积操作的局部特征提取,会使得原目标在左上角时,特征层的目标特征在左上角,原目标在右下角时,特征层的目标特征在右下角。但众所周知,卷积层越深,特征提取越抽象,其特征的平移不变还可以继续保持下去么?有论文表示(https://arxiv.org/abs/1805.12177),并没有。作者测试了VGG16、ResNet50和DenseNet201对于平移的特征提取响应,发现CNN**对表示平移不变有一定的限度,即早期特征层的确如所想一般,能够保留平移后目标在特征图上的位置信息,然而当进入更深层的卷积层之后,这样的性质便消失了。**即便是如VGG16,随着目标的移动,抽象特征的模式也并不是原始目标的简单平移,但似乎保留了这一特定图像的全局总和。另外两个网络对于不同的平移则产生了极为不同的特征响应

平移不变性如何渐渐的就丢失了呢?

要从本质上理解现象,还得从最基本的操作单元着手。

池化是CNN中一个非常常见的操作,有最大池化和平均池化。有些理解认为池化可以提供平移不变,例如,最大池化返回感受野中的最大值,若这个最大值发生了移动,但还是存在于这个感受野中,那么最大池化层还是会输出相同的最大值。乍一看这个解释似乎比较合理,但是细细思量,这种情况存在,但是条件非常苛刻,首先移动的距离要小,一两个像素吧,因为滑动窗口就很小,不能给最大值滑出去了,还有就是移动之后不能给该感受野带来新的最大值 ,不然,输出就不是原来的最大值了。

如"00110011"的一维信号,以k=2,s=2的最大池化计算结果为"0101",若将信号左移一个单位变为"01100110",则输出结果为"1111",显然这是非平移不变的。

这么想的话,应当只有全局池化才会带来平移不变,不管你怎么移动,总归还在这幅图像里面,我都按照整个特征视野计算。

从另一个角度看,CNN中不乏下采样操作,大部分下采样操作由s=2的池化或者卷积完成。但了解数字信号处理的就会发现,CNN中简单粗暴的下采样是不满足奈奎斯特采样定理的,这将带来锯齿问题并使得CNN丢失平移等变性,因此也有不少研究将抗混叠技术应用于CNN

相关推荐
HPC_fac130520678162 分钟前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力
小陈phd3 小时前
OpenCV从入门到精通实战(九)——基于dlib的疲劳监测 ear计算
人工智能·opencv·计算机视觉
Guofu_Liao4 小时前
大语言模型---LoRA简介;LoRA的优势;LoRA训练步骤;总结
人工智能·语言模型·自然语言处理·矩阵·llama
秀儿还能再秀6 小时前
神经网络(系统性学习三):多层感知机(MLP)
神经网络·学习笔记·mlp·多层感知机
ZHOU_WUYI8 小时前
3.langchain中的prompt模板 (few shot examples in chat models)
人工智能·langchain·prompt
如若1238 小时前
主要用于图像的颜色提取、替换以及区域修改
人工智能·opencv·计算机视觉
老艾的AI世界8 小时前
AI翻唱神器,一键用你喜欢的歌手翻唱他人的曲目(附下载链接)
人工智能·深度学习·神经网络·机器学习·ai·ai翻唱·ai唱歌·ai歌曲
DK221518 小时前
机器学习系列----关联分析
人工智能·机器学习
Robot2518 小时前
Figure 02迎重大升级!!人形机器人独角兽[Figure AI]商业化加速
人工智能·机器人·微信公众平台
浊酒南街9 小时前
Statsmodels之OLS回归
人工智能·数据挖掘·回归