论文地址: 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,它保证精确平移不变性的概率为1452\frac{1}{45^2}4521​。
  从计算的角度来看,设r(x)r(x)r(x)是模型在图像xxx处获得的特征信号,如果把图像平移δ\deltaδ后,模型获得的是同样的特征信号,我们称这个信号是卷积的。[包含输入图像进入滤波器提取信号等线性操作,不包括二次采样和其他非线性操作]
  观察到,如果r(x)r(x)r(x)是卷积的,那么全局池化后得到的特征信号r=∑xr(x)r=\sum_xr(x)r=∑x​r(x)应该具有平移不变性。
  证明如下,如果r(x)r(x)r(x)是图像在xxx处的特征信号,而r2(x)r_2(x)r2​(x)是同意图像平移后的特征信号,那么∑r(x)=∑r2(x)\sum r(x)=\sum r_2(x)∑r(x)=∑r2​(x)成立,因为两者是平移前后的特征信号,是不变的。
  接着定义,对于带有二次采样因子sss的特征信号r(x)r(x)r(x),如果对于任意的xxx其在xxx处的输出是采样网格的线性插值,即:
r(x)=∑iBs(x−xi)r(xi)r(x)=\sum_{i}B_s(x-x_i)r(x_i)r(x)=i∑​Bs​(x−xi​)r(xi​)
  则我们认为r(x)r(x)r(x)是可位移的(shiftable)。其中,xix_ixi​是是二次采样因子s的采样网格上的信号,Bs(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=∑ir(xi)r=\sum_ir(x_i)r=∑i​r(xi​)应该具有平移不变性
  证明如下,通过计算得知,采样网格上的全局池化就相当于所有x的全局池化:
∑xr(x)=∑x∑ir(xi)B(x−xi)\sum_{x}r(x)=\sum_{x}\sum_{i}r(x_i)B(x-x_i) x∑​r(x)=x∑​i∑​r(xi​)B(x−xi​)
=∑ir(xi)∑xB(x−xi)=\sum_{i}r(x_i)\sum_{x}B(x-x_i)=i∑​r(xi​)x∑​B(x−xi​)
=K∑ir(xi)=K\sum_{i}r(x_i)=Ki∑​r(xi​)
  其中K=∑xB(x−xi)K=\sum_xB(x-x_i)K=∑x​B(x−xi​)而且kkk不依赖于xix_ixi​。而现代的神经网络忽视了这个定理,导致其空间不变性难以保证

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

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

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

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

  1. 论文阅读——《基于卷积神经网络的车行环境多类障碍物检测与识别》

    近期学习了卷积神经网络相关的知识,在课余时间阅读了一篇有关障碍物检测的硕士生论文,不过就阅读的过程而言,感觉硕士论文有些冗杂,容易让读者抓不到重点,而且篇幅较多,耗费时间有些长,以后阅读论文可以直接从 ...

  2. 深度卷积神经网络中的patch

    转载:https://blog.csdn.net/wills798/article/details/97974617 在阅读基于深度卷积神经网络的图像识别.分类或检测的文献时经常看到"pat ...

  3. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](2)

    [论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...

  4. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](1)

    [论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...

  5. (论文阅读)基于融合深度卷积神经网络的人脸识别方法研究-褚玉晓

    一.基于融合深度卷积神经网络人脸识别方法设计 1.PCA算法提取人脸特征 主要成分分析法(Principal Component Analysis,PCA) 第一步,计算人脸图像的平均值并执行归一化的 ...

  6. 【博士论文】深度卷积神经网络架构设计及优化问题研究

    来源:专知 本文为论文介绍,建议阅读5分钟 近年来,深度卷积神经网络在计算机视觉领域取得了革命性的进展,并被广泛地应用到图像分类.物体检测.实例分割等经典的计算机视觉问题当中. 来自南京理工大学的李翔 ...

  7. [病虫害识别|博士论文]面向农作物叶片病害鲁棒性识别的深度卷积神经网络研究

    文章目录 创新点: 文章中的方法 国内外现状 手工设计特征 基于深度特征学习的农作物病害识别研究 基于高阶残差的卷积神经网络的农作物病害识别 结构图: 对比方法 基于高阶残差和参数共享反馈的卷积神经网 ...

  8. 论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类

    Recognition and Classification of Broiler Droppings Based on Deep Convolutional Neural Network 基于深度卷 ...

  9. 可视化卷积神经网络的过滤器_万字长文:深度卷积神经网络特征可视化技术(CAM)最新综述...

    ↑ 点击蓝字 关注极市平台作者丨皮特潘@知乎来源丨https://zhuanlan.zhihu.com/p/269702192编辑丨极市平台 极市导读 本文通过引用七篇论文来论述CAM技术,对CAM的 ...

  10. 深度卷积神经网络_深度卷积神经网络中的降采样

    加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...

最新文章

  1. SpringBoot实现过滤器、拦截器与切片
  2. redhat nginx php mysql_redhat7+nginx+mysql+php
  3. java list数据的更新,java – ObservableList不更新ArrayList
  4. 开源客户关系管理系统vTigerCRM 5.2正式版发布
  5. 公司培训文档-JavaScript[对象.属性]集锦
  6. 重建AD域控制器的DNS服务器
  7. 【Pandas】CSV文件读取时手动指定头部
  8. android kk界面旋转流程_【技术浅析】基于Android的五轴联动数控系统设计
  9. 牛逼!B 站 up 主开源视频字幕自动翻译神器!
  10. Python神经网络模型和预测
  11. Redis下载及安装(windows版)
  12. 有多少程序员干到35岁,那么其他人去干什么了?
  13. 什么是ARM开发板及其硬件特性介绍
  14. 如何用手机来拍证件照
  15. [转帖]粤语语系分类
  16. 苹果双卡双待买哪款合适_iPhone 12/苹果12哪款最值得买?
  17. 闲来没事学Dart(七)函数
  18. ESP8266-Arduino编程实例-BMP280气压传感器驱动
  19. 智能车机械结构设计与踩雷
  20. 李开复万字长文科普人工智能:AI是什么 将带我们去哪儿?

热门文章

  1. 两种获取python版本的方法
  2. 4 个拥有绝佳命令行界面的终端程序
  3. C++ 编译发现 error C2146: syntax error : missing ';' before identifier 'm_ctrlserver'
  4. 结队编程与日程管理系统维护改善
  5. Oracle-数据库
  6. 深度学习之江湖~那些大神们
  7. javascript中 try catch finally 的使用
  8. 真正认识 realloc 的工作方式(转载)
  9. 机房收费系统之流程分析
  10. Mail: JMail, System.Net.Mail, System.Web.Mail