了解CV和RoboMaster视觉组(五)CNN没有不变性?

本文深入探讨了深度学习模型,特别是卷积神经网络(CNN)在处理图像时的不变性特性,如旋转不变性、尺度不变性、光照和对比度不变性以及平移不变性。尽管CNN在某些方面表现出一定的不变性,但这些通常是通过数据增强和特定结构(如Spatial Transformer Networks)来实现的。作者分析了池化层和平移不变性之间的关系,并提出平移同变性是CNN学习物体特征的关键。文章还讨论了如何通过技术如抗锯齿和正确的padding策略来提高平移不变性。最后,指出CNN在特征层面上可能并不具备完全的平移不变性,但在最终的分类输出上仍然能表现良好。

--neozng1@hnu.edu.cn

5.5.3.4. ConvNet没有不变性!?

我们已经阐述过使用不变特征的好处,那么AlexNet在ImageNet竞赛上大杀四方的时候,是否就意味着DCNN已经拥有了我们所需要的一切invariant feature?让我们一一揭晓:

5.5.3.4.1. 旋转不变性

从直观上来说,CNN不具有旋转不变性,这是一个显而易见的结论,物体在旋转之后通过卷积核显然会得到不同的响应;之后更深层的卷积也会受到第一层输出的影响,因此最后生成的特征(比如softmax之前的一层,我们可以把最后一层的Fully connect+softmax当作分类器,前层都当作feature extractor)显然和旋转前不同。那么为什么我们的分类器和检测器仍然可以正确地完成分类、进行识别呢?这是因为我们的训练集中含有旋转过的数字,或我们使用了数据增强中的旋转操作。在《深度学习》(花书)中给出了一个数字识别的例子:

 中间的一排表示用于匹配不同模式的filter

​对于每一层的卷积操作,我们一般都拥有多组卷积核,而对于经过不同角度旋转的输入,对应不同通道的卷积核就能学习到这种旋转。如左上所示,左侧的卷积核对于向右倾斜45°的数字9会产生较大的响应,中间的则是对稍微向左侧倾斜的9有较大的响应;因此,在之后的最大池化操作中,这些响应都会被归结为”这里有一个9“而输出。那么这些不同的filter为什么会对不同的9有响应呢?那不就是训练出来的吗:我们的数据集中有不同转角的数字9,经过数轮反向传播之后不同通道不同组的卷积核自然而然就学习了某一种旋转模式

当然,”旋转不变性“也不一定是从卷积层学到的,很可能是在全连接阶段,拥有不同转角的输入在经过非线性映射后投影到了特征空间中相近的位置也是一种可能的解释。最有力的证明就是进行实验,对每一层的feature map进行可视化,画出heat map。感兴趣的同学可以阅读本章末的paper。

但是不管怎么说,神经网络最后的输出应该是相近的,只是在单个卷积核提取特征的时候,由于使用的是卷积操作因此并不具有roration invariant特性;那数据增强和filter组合技算不算赋予了CNN以旋转不变性呢?这就是一个智者见智仁者见仁的问题了。

虽然一般我们没有显式地对物体的旋转进行建模,但是数据增强的确让网络在最后学习到了旋转不变性(data aug和filter group的组合),倘若我们为网络增加一些先验知识,并且直接建模旋转这一变量,网络是否更容易应对旋转的情况?这就是Spatial Transformer。这里的transformer不是自注意力的那个,代表的是变换的“那个” transform。

 左侧为一般卷积,右侧为加入了ST模块之后的输出

​Spatial Transformer会通过反向传播学习一组仿射变换的参数(平移+旋转)用于将图像中关键的部分“摆正”,在变换的过程中可能会出现拉伸或压缩,原文选择了双线性插值的方法。同时ST还可以切除没有用的背景信息,这又有一点注意力机制的意味(实际上也确实是一种隐式的注意力)。不过,我们还是需要不同转角的输入以训练ST module,否则单单输入垂直的目标,网络仍然无法学会这种变换。

此外,在 5.2.5.2 介绍池化层的时候,提到了pooling会使得当前层提取的特征拥有一定的旋转不变性和平移不变性,能够应对轻微的变化。然而有时候pooling反而会破坏这种不变性,我们稍后会介绍其中的缘由。

5.5.3.4.2. 尺度不变性

和旋转不变性一样,神经网络不具备尺度不变性的原因相同,除非使用数据增强。从最早的spatial pyramid pooling到最新的PAN,我们可以FPN的发展轨迹略知一二:如果

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值