论文阅读-为什么深度卷积神经网络对小目标的变换泛化效果很差?

论文地址: Why do deep convolutional networks generalize so poorly to small image transformations?

1. 摘要

  该论文发现,现代深度卷积神经网络在图像中的小目标发生平移后对其类别的判断会产生非常大的误差,这与人们设计深度卷积网络的初衷并不一致。论文还观察到,网络层数越深,这种错误越容易发生。论文认为这种错误的发生是由于现代卷积神经网络的架构设计没有遵从经典的采样定理以致泛化能力不能得到保证。并且通用的图像数据集中的统计误差使得CNN难以学习到其中的变换不变性(invariant to these transformations)。由此得出结论,CNNs的泛化能力不如人类。

2. 介绍

  任何机器学习算法成功的关键都是归纳性偏向[当学习器预测其未遇到过的输入的结果时,会做出一些假设,这些假设的集合就是归纳性偏向],归纳性偏向受到神经网络架构的影响。其中卷积和池化操作使得网络具有这种不变性。
  然而在应对对抗攻击时性能,网络十分脆弱,尽管有人认为这是因为这些对抗攻击产生了一些不自然的变换。但是对于一些自然的变换,CNNs表先仍不尽如人意。论文直接提出了“现代CNNs时如何在应对自然的图像变换时保持不变性?”的问题,最后实验发现,现代深度神经网络对于平移,旋转,缩放等变换并不具有不变性,且和下采样操作和数据集中的偏差有关系。

3. CNN的失败

  如下图所示,三种变换分别是平移,缩放和自然运动状态的微小差异,但是预测结果的变化却非常大。
在这里插入图片描述
  左下图是更加具体的实验,从ImageNet中选择了200张图片嵌入更大的图像中进行平移,每一行是一张图片对应不同的结果,颜色暗则表示分类不正确,颜色亮则表示分类正确。图中很多行都有明显的颜色变化,对应着平移使得类别的变化。右下图采用一个指标“jaggedness”[一个像素的平移后网络预测分类结果正确的次数],结果显示更深层的网络具有更大的“jaggedness”和更好的测试准确率,不变性不是很强。
在这里插入图片描述
  下图是不同尺寸的图像的实验,结果仍然是:
在这里插入图片描述

  • 现代深度卷积神经网络对平移变换非常敏感
  • 更加现代的网络“jaggedness“较大
  • 更加现代的网络对于变换后的物体的分类效果好

4. 原因:对采样定理的忽略

  针对3中的情形有这样两个问题:

  • 如果网络的所有层都是卷积的,那么特征图在原始图像变换的时候也应该变换
  • 如果用于分类的最后一哥特征是通过全局池化来得到的,那么这些特征也应该对平移保持不变性

  上两个直觉上是正确的,但是忽略了下采样操作的影响,即带步长的卷积和池化操作,这两个操作本来是用于提高不变性,同时减少参数,但是其效果非常的一般。论文还提到之前得出的一个结论:“在有卷积和下采样操作存在的系统中不能简单的期望图像的平移不变性带来变换系数的平移,除非这个平移是每个二次采样因子的倍数。”
  现代的CNN中通常包含很多池化层,它们的二次采样因子非常大,以InceptionResnetV2为例,这个模型的二次采样因子是45,它保证精确平移不变性的概率为 1 4 5 2 \frac{1}{45^2} 4521
  从计算的角度来看,设 r ( x ) r(x) r(x)是模型在图像 x x x处获得的特征信号,如果把图像平移 δ \delta δ后,模型获得的是同样的特征信号,我们称这个信号是卷积的。[包含输入图像进入滤波器提取信号等线性操作,不包括二次采样和其他非线性操作]
  观察到,如果 r ( x ) r(x) r(x)是卷积的,那么全局池化后得到的特征信号 r = ∑ x r ( x ) r=\sum_xr(x) r=xr(x)应该具有平移不变性。
  证明如下,如果 r ( x ) r(x) r(x)是图像在 x x x处的特征信号,而 r 2 ( x ) r_2(x) r2(x)是同意图像平移后的特征信号,那么 ∑ r ( x ) = ∑ r 2 ( x ) \sum r(x)=\sum r_2(x) r(x)=r2(x)成立,因为两者是平移前后的特征信号,是不变的。
  接着定义,对于带有二次采样因子 s s s的特征信号 r ( x ) r(x) r(x),如果对于任意的 x x x其在 x x x处的输出是采样网格的线性插值,即:
r ( x ) = ∑ i B s ( x − x i ) r ( x i ) r(x)=\sum_{i}B_s(x-x_i)r(x_i) r(x)=iBs(xxi)r(xi)
  则我们认为 r ( x ) r(x) r(x)是可位移的(shiftable)。其中, x i x_i xi是是二次采样因子s的采样网格上的信号, B s ( x ) B_s(x) Bs(x)是从采样中重建的 r ( x ) r(x) r(x)基函数。
  经典的Shannon-Nyquist定理有:当且仅当采样频率是 r ( x ) r(x) r(x)最高频率的两倍时, r ( x ) r(x) r(x)才可以位移。如果 r ( x ) r(x) r(x)可以位移,那么采样网格全局池化后得到的最终特征信号 r = ∑ i r ( x i ) r=\sum_ir(x_i) r=ir(xi)应该具有平移不变性
  证明如下,通过计算得知,采样网格上的全局池化就相当于所有x的全局池化:
∑ x r ( x ) = ∑ x ∑ i r ( x i ) B ( x − x i ) \sum_{x}r(x)=\sum_{x}\sum_{i}r(x_i)B(x-x_i) xr(x)=xir(xi)B(xxi)
= ∑ i r ( x i ) ∑ x B ( x − x i ) =\sum_{i}r(x_i)\sum_{x}B(x-x_i) =ir(xi)xB(xxi)
= K ∑ i r ( x i ) =K\sum_{i}r(x_i) =Kir(xi)
  其中 K = ∑ x B ( x − x i ) K=\sum_xB(x-x_i) K=xB(xxi)而且 k k k不依赖于 x i x_i xi。而现代的神经网络忽视了这个定理,导致其空间不变性难以保证

5. 为什么不能从数据中学习平移不变性

  上面论证了CNN在架构上无法保证平移不变性,而且观察得知,它只能从大量数据中学到部分不变性,论文认为是这些通用数据集中存在一定的摄影师偏差,使得神经网络无需学会正式的平移不变性。宏观来看,只要不是像素级别的编码,世界上就不存在两张完全一样的图像,所以神经网络是无法学到严格的平移不变性的,也不需要去学习。

欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值