新智元报道

在这篇文章中,作者展示了为什么最先进的深度神经网络仍能很好地识别乱码图像,探究其中原因有助于揭示DNN使用让人意想不到的简单策略,对自然图像进行分类。

在ICLR 2019一篇论文指出上述发现能够:

  1. 解决ImageNet比许多人想象的要简单得多

  2. 使我们能够构建更具解释性和透明度的图像分类pipeline

  3. 解释了现代CNN中观察到的一些现象,例如对纹理的偏见以及忽略了对象部分的空间排序

复古bag-of-features模型


在深度学习出现之前,自然图像中的对象识别过程相当粗暴简单:定义一组关键视觉特征(“单词”),识别每个视觉特征在图像中的存在频率(“包”),然后根据这些数字对图像进行分类。 这些模型被称为“特征包”模型(BoF模型)。

举个例子,给定一个人眼和一个羽毛,我们想把图像分类为“人”和“鸟”两类。最简单的BoF模型工作流程是这样的:对于图像中的每只眼睛,它将“人类”的证据增加+1。反之亦然;对于图像中的每个羽毛,它将增加“鸟”的证据+1;无论什么类积累,图像中的大多数证据都是预测的。

这个最简单的BoF模型有一个很好的特性,是它的可解释性和透明的决策制定。我们可以准确地检查哪个图像特征携带了给定的类的证据,证据的空间整合是非常简单的(与深度神经网络中的深度非线性特征整合相比),很容易理解模型如何做出决定。

传统的BoF模型在深度学习开始之前一直非常先进、非常流行。但由于其分类性能过低,而很快失宠。可是,我们怎么确定深度神经网络有没有使用与BoF模型截然不同的决策策略呢?

一个很深却可解释的BoF网络(BagNet)

为了测试这一点,研究人员将BoF模型的可解释性和透明度与DNN的性能结合起来。

  • 将图像分割成小的q x q图像色块

  • 通过DNN传递补丁以获取每个补丁的类证据(logits)

  • 对所有补丁的证据求和,以达到图像级决策

BagNets的分类策略:对于每个补丁,我们使用DNN提取类证据(logits)并总结所有补丁的总类证据

为了以最简单和最有效的方式实现这一策略,我们采用标准的ResNet-50架构,用1x1卷积替换大多数(但不是全部)3x3卷积。

在这种情况下,最后一个卷积层中的隐藏单元每个只“看到”图像的一小部分(即它们的感受野远小于图像的大小)。

这就避免了对图像的显式分区,并且尽可能接近标准CNN,同时仍然实现概述的策略,我们称之为模型结构BagNet-q:其中q代表最顶层的感受域大小(我们测试q=9,17和33)。BagNet-q的运行时间大约是ResNet-50的运行时间的2.5倍。

在ImageNet上具有不同贴片尺寸的BagNets的性能。

即使对于非常小的贴片尺寸,BagNet上的BagNets性能也令人印象深刻:尺寸为17 x 17像素的图像特征足以达到AlexNet级别的性能,而尺寸为33 x 33像素的特征足以达到约87%的前5精度。通过更仔细地放置3 x 3卷积和额外的超参数调整,可以实现更高的性能值。

这是我们得到的第一个重要结果:只需使用一组小图的特性即可解决ImageNet问题。对象形状或对象部分之间的关系等远程空间关系可以完全忽略,并且不需要解决任务。

BagNets的一大特色是他们透明的决策。例如,我们现在可以查看哪个图像特征对于给定的类最具预测性。

图像功能具有最多的类证据。 我们展示了正确预测类(顶行)的功能和预测错误类(底行)的分散注意力的功能

上图中,最上面的手指图像被识别成tench(丁鱥guì,是淡水钓鱼的主要鱼种,也是鲈鱼等猎食性鱼类的饲料),因为这个类别中的大多数图像,都有一个渔民像举奖杯一样举起丁鱥。

同样,我们还得到一个精确定义的热图,显示图像的哪些部分促使神经网络做出某个决定。

来自BagNets的热图显示了确切的图像部分对决策的贡献。 热图不是近似的,而是显示每个图像部分的真实贡献。

ResNet-50与BagNets惊人相似

BagNets表明,基于本地图像特征和对象类别之间的弱统计相关性,可以在ImageNet上达到高精度。

如果这就够了,为什么像ResNet-50这样的标准深网会学到任何根本不同的东西? 如果丰富的本地图像特征足以解决任务,那为什么ResNet-50还需要了解复杂的大尺度关系(如对象的形状)?

为了验证现代DNN遵循与简单的特征包网络类似的策略的假设,我们在BagNets的以下“签名”上测试不同的ResNets,DenseNets和VGG:

  • 决策对图像特征的空间改组是不变的(只能在VGG模型上测试)

  • 不同图像部分的修改应该是独立的(就其对总类证据的影响而言)

  • 标准CNN和BagNets产生的错误应该类似

  • 标准CNN和BagNets应对类似功能敏感

在所有四个实验中,我们发现CNN和BagNets之间的行为非常相似。 例如,在上一个实验中,我们展示了BagNets最敏感的那些图像部分(例如,如果你遮挡那些部分)与CNN最敏感的那些基本相同。

实际上,BagNets的热图(灵敏度的空间图)比由DeepLift(直接为DenseNet-169计算热图)等归因方法生成的热图,更好地预测了DenseNet-169的灵敏度。

当然,DNN并不完全类似于特征包模型,但确实显示出一些偏差。特别是,我们发现网络越深入,功能越来越大,远程依赖性也越来越大。

因此,更深层的神经网络确实改进了更简单的特征包模型,但我认为核心分类策略并没有真正改变。

解释CNN几个奇怪的现象

将CNN的决策视为一种BoF策略,可以解释有关CNN的几个奇怪的观察。首先,它将解释为什么CNN具有如此强烈的纹理偏差;其次,它可以解释为什么CNN对图像部分的混乱如此不敏感;甚至可以解释一般的对抗性贴纸和对抗性扰动的存在,比如人们在图像中的任何地方放置误导信号,并且无论这些信号是否适合图像的其余部分,CNN仍然可以可靠地接收信号。

我们的成果显示,CNN利用自然图像中存在的许多弱统计规律进行分类,并且不会像人类一样跳向图像部分的对象级整合。其他任务和感官方式也是如此。

我们必须认真思考如何构建架构、任务和学习方法,以抵消这种弱统计相关性的趋势。一种方式,是将CNN的归纳偏差从小的局部特征改善为更全局的特征;另一种方式,是删除、或替换网络不应该依赖的那些特征。

然而,最大的问题之一当然是图像分类本身的任务:如果局部图像特征足以解决任务,也就不需要去学习自然界的真实“物理学”,这样我们就必须重构任务,推着模型去学习对象的物理本质。

这样就很可能需要跳出纯粹只通过观察学习,获得输入和输出特征之间相关性的方式,以便允许模型提取因果依赖性。

总结

总之,我们的结果表明CNN可能遵循极其简单的分类策略。科学家认为这个发现可能在2019继续成为关注的焦点,凸显了我们对深度神经网络的内部运作了解甚少。

缺乏理解使我们无法从根本上发展出更好的模型和架构,来缩小人与机器之间的差距。深化我们的理解,将使我们能够找到弥合这一差距的方法。

这将带来异常丰厚的回报:当我们试图将CNN偏向物体的更多物理特性时,我们突然达到了接近人类的噪声稳健性。

我们继续期待在2019年,在这一领域上会出现更多令人兴奋的结果,获得真正了解了真实世界中,物理和因果性质的卷积神经网络。

推荐阅读

不会多机并行爬取数据的看这里!

抖音爬虫 | 手把手教你下载指定的Douyin视频

资源 | 正则表达式的功法大全

春节假期十大AI事件,看看你都错过了啥

GitHub不为人知的小秘密…让你的工作更高效

毕业论文无从下手?一文帮你理清头绪

Python可视化神器——pyecharts的超详细使用指南!

简单到出人意料的CNN图像分类策略相关推荐

  1. 【深度学习】CNN图像分类:从LeNet5到EfficientNet

    深度学习 Author:louwill From:深度学习笔记 在对卷积的含义有了一定的理解之后,我们便可以对CNN在最简单的计算机视觉任务图像分类中的经典网络进行探索.CNN在近几年的发展历程中,从 ...

  2. 经典卷积神经网络(CNN)图像分类算法详解

    本文原创,转载请引用 https://blog.csdn.net/dan_teng/article/details/87192430 CNN图像分类网络 一点废话:CNN网络主要特点是使用卷积层,这其 ...

  3. Pytorch和CNN图像分类

    Pytorch和CNN图像分类 PyTorch是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序.它主要由Facebookd的人工智能小组开发,不仅能够实现强大的GPU加速, ...

  4. 如何使用CNN进行物体识别和分类_可能我们之前都想错了:CNN的图像分类策略其实出奇的简单呢!...

    [新智元导读]ICLR 2019一篇论文指出:DNN解决ImageNet时的策略似乎比我们想象的要简单得多.这个发现使我们能够构建更具解释性和透明度的图像分类管道,同时也解释了现代CNN中观察到的一些 ...

  5. 【深度学习】基础知识--CNN:图像分类(上)

    作者信息: 华校专,曾任阿里巴巴资深算法工程师.智易科技首席算法研究员,现任腾讯高级研究员,<Python 大战机器学习>的作者. 编者按: 算法工程师必备系列更新啦!继上次推出了算法工程 ...

  6. python cnn图像分类_关于CNN图像分类的一份综合设计指南

    摘要: 本文是一篇关于使用CNN完成图像分类的综合设计指南,涵盖了一些模型设计.模型优化以及数据处理经验,是一份适合图像分类方向研究者参考的综合设计指南. 对于计算机视觉任务而言,图像分类是其中的主要 ...

  7. 关于CNN图像分类的一份综合设计指南

    摘要: 本文是一篇关于使用CNN完成图像分类的综合设计指南,涵盖了一些模型设计.模型优化以及数据处理经验,是一份适合图像分类方向研究者参考的综合设计指南. 对于计算机视觉任务而言,图像分类是其中的主要 ...

  8. 不懂得如何优化CNN图像分类模型?这有一份综合设计指南请供查阅

    对于计算机视觉任务而言,图像分类是其中的主要任务之一,比如图像识别.目标检测等,这些任务都涉及到图像分类.而卷积神经网络(CNN)是计算机视觉任务中应用最为广泛且最为成功的网络之一.大多数深度学习研究 ...

  9. kafka 同步提交 异步_腾讯游戏工程师分享:简单理解 Kafka 的消息可靠性策略

    作者:hymanzhang,腾讯 IEG 运营开发工程师 背景 部门的开发同学最近在开发一个活动的过程中,需要关注大量的应用后台逻辑,捕捉各种事件的触发.在设计时打算采用 kafka 消息队列进行业务 ...

最新文章

  1. adc0808温度换算公式_adc0808模数转换电路图及程序
  2. 2008R2文件服务器迁移到2012R2
  3. hibernate实现增删改查的各种方法
  4. 007_JMS中的持久订阅
  5. 征集对Oracle的问题
  6. 数据结构(六)查找---多路查找树(2-3-4树)
  7. [Unity] AnimationEvent 因 Animator Controller 中 Transition 设置问题而不触发的快速解决办法:重新拖入 Animator 创建新 State
  8. SQL Sever sa密码丢失
  9. SAP License:SAP集成(后面为粘贴)
  10. 新生儿操作系统操作手册
  11. putty远程登录linux无ssh,收集的linux远程ssh连接putty失败解决办法!
  12. 数据结构 二叉树的建立,遍历
  13. 华为某员工发飙:深圳房东又涨三百房租,感觉混不下去了
  14. 线上只执行一次的脚本编写注意事项
  15. ip,netstat命令案例
  16. wps linux 64 下载,WPS For Linux 10.1.0.6757社区版发布下载
  17. 数据结构(C语言)——电话号码查询系统实现
  18. 实现微信小程序版本管理
  19. 企业工资管理系统论文
  20. 什么是抗攻击服务器?抗攻击服务器是如何防御攻击的?

热门文章

  1. 带你揭秘学习编程的7大优势!你get到了吗?!
  2. python爬虫——图片
  3. 【calendar日历组件】elementul的日历组件点击拿到对应的日期或者触发某些事件
  4. JPA 中对象 set 属性时自动保存
  5. Emacs Stardict
  6. 金蝶EAS打开报更新失败 java.io.FileNotFoundException
  7. 如何在 fibos 上创建快照和使用快照启动节点
  8. 【包管理器】vcpkg
  9. 立体仓库堆垛机控制系统安全操作规程
  10. vuex本地储存方案