图像分类再思考DNN似乎遵循一种令人困惑的简单策略来对图像分类

https://www.toutiao.com/a6695148561157325319/

 

作者:Wieland Brendel
编译:ronghuaiyang

导读

一直以来,对于深度神经网络图像分类,我们认为它提取的是图像的高阶特征,如物体的形状,但是真的是这样吗?好像并不是!

图像分类再思考DNN似乎遵循一种令人困惑的简单策略来对图像分类

CNNs非常擅长对经过干扰的图像进行分类,但人类却不行

在这篇文章中,我会向大家展示为什么最先进的深度神经网络对混乱的图像仍然能够很好地识别,以及这个现象是如何来帮助揭示DNNs似乎是用非常简单的策略来分类自然图像的。这个研究结果发表在ICLR 2019上,有很多相关的内容:首先,它们表明解决ImageNet比许多人想象的要简单得多。其次,研究结果使我们能够建立更加可解释和透明的图像分类pipelines。第三,他们解释了许多CNNs中观察到的现象,比如说CNNs的分类更加偏向纹理(见我们的其他论文ICLR 2019和相应的博客),CNNs对物体各个部分的空间顺序是忽略的。

bag-of-features模型的好处

在过去,在深度学习之前,自然图像中的物体识别曾经相当简单:定义一组关键的视觉特征(“word”),识别每个视觉特征出现在图像中的频率(“bag”),然后根据这些数字对图像进行分类。因此,这些模型被称为“bag-of-features”模型(BoF模型)。举例来说,假设我们只有两个视觉特征,一个人眼和一个羽毛,我们想将图像分类为“人”和“鸟”类。最简单的BoF模型的工作原理如下:对于图像中的每只眼睛,它将“人类”的证据增加+1。反之,对于图像中的每根羽毛,“鸟”的证据将增加+1。哪个类在整个图像中积累的证据最多,预测结果就是哪个。

简单的BoF模型的一个很好的属性是它的可解释性和透明的决策:我们可以检查对于一个给定的类,哪些图像特征是证据,证据的空间集成非常的简单(相比于深度神经网络中的深度非线性特征集成),所以可以直接的了解模型的决策是怎么做的。

在深度学习开始之前,传统的BoF模型已经非常流行,并且是最先进的,但是由于分类性能不佳,它们很快就失宠了。但是我们确定深层神经网络真的使用了一种和bof模型完全不同的决策策略吗?

深度可解释的bag-of-feature网络(BagNet)

为了验证这一点,我们将BoF模型的可解释性和透明性与DNNs的性能相结合。具体的策略是这样:

  • 把图像分割成小的q x q图像块
  • 把图像块通过一个DNN,获取每个图像块的类别证据(logits)。
  • 把所有图像块的证据加起来,得到一个图像级的决策。

图像分类再思考DNN似乎遵循一种令人困惑的简单策略来对图像分类

 

BagNets分类策略:对于每个patch,我们使用一个DNN提取类证据(logits),并对所有patch的类证据总数进行求和

为了以最简单和最有效的方式实现这一策略,我们采用一个标准的ResNet-50结构,并将大部分(但不是所有)3x3卷积替换为1x1卷积。在这种情况下,隐藏在最后一个卷积层中的单位只能“看到”图像的一小部分(即它们的感受野比图像的尺寸小得多)。这避免了图像的显式分区,并且在仍然实现所述策略的同时,尽可能接近标准的CNNs。我们将得到的模型架构称为BagNet-q,其中q表示顶层的感受野域大小(我们测试q = 9,17和33)。BagNet-q的运行时大约是ResNet-50的运行时的2.5倍。

图像分类再思考DNN似乎遵循一种令人困惑的简单策略来对图像分类

不同patch sizes的BagNets在ImageNet上的性能

即使对于非常小的patch尺寸,BagNets在ImageNet上的性能也令人印象深刻:大小为17 x 17像素的图像特征足以达到alexnet级别的性能,而大小为33 x 33像素的特征足以达到87%的top-5准确率左右。通过更仔细地放置3 x 3卷积和额外的超参数调优,可以获得更高的性能值。

这是我们的第一个主要结论:你可以只使用一组小图像的特征来解决ImageNet。物体形状或物体部件之间的关系等远程空间关系可以完全忽略,对于解决任务是不需要的。

BagNets的一大特点是决策透明。例如,我们现在可以查看哪些图像特征对给定类最具有预测性(参见下面)。例如,鲤鱼通常是用手指在绿色背景上识别的。为什么?因为在这类照片中,大多数都是渔夫像捧着奖杯一样举着鱼竿。当BagNet错误地将图像分类为鲤鱼的时候,通常是因为图像中某个地方的绿色背景上有一些手指。

图像分类再思考DNN似乎遵循一种令人困惑的简单策略来对图像分类

 

最多类别证据的图像特征。我们展示了正确预测类的特征(顶部行)和错误预测类的分散注意力的特征(底部行)。

类似地,我们还得到了一个精确定义的热图,它显示了图像的哪些部分对某个决策起了作用。

图像分类再思考DNN似乎遵循一种令人困惑的简单策略来对图像分类

 

来自BagNets的热图精确地显示了哪些图像部分导致了这个决定。热图不是估计出来的,但显示了每个图像部分的真实贡献。

ResNet-50和BagNets出人意料的相似

BagNets表明,基于局部图像特征与目标类别之间微弱的统计相关性,可以在ImageNet上获得较高的精度。如果这就足够了,为什么像ResNet-50这样的标准深度网络会学到一些完全不同的东西呢?如果局部图像特征的丰富性足以解决任务,为什么ResNet-50要学习复杂的大尺度的关系,比如物体的形状?

为了验证现代DNNs遵循类似于简单bag-of-feature网络策略的假设,我们测试了不同的resnet、densenet和VGGs对以下BagNets的“签名”:

  • 对于图像特征的空间变换,决策是不变的(只能在VGG模型上测试)。
  • 不同图像部分的修改应该是独立的(就它们对总类证据的影响而言)。
  • 标准CNNs和BagNets的错误应类似。
  • 标准CNNs和BagNets应该对相似的特征敏感。

在所有四个实验中,我们发现CNNs和BagNets的行为惊人地相似。举个例子,在最后一个实验中,我们证明了那些BagNets最敏感的图像部分(例如,如果你遮挡了那些部分)基本上和CNNs最敏感的图像部分是一样的。事实上,BagNets的热图(敏感空间图)比DeepLift等归因方法生成的热图(直接为DenseNet-169计算热图)更能预测DenseNet-169的敏感性。当然,DNNs并不完全类似于BagNets模型,但确实存在一些偏差。特别是,我们发现随着网络的深入,特征的大小和长期依赖性都在增加。因此,与简单的BagNets模型相比,更深的神经网络确实有所改进,但我认为核心分类策略并没有真正改变。

不仅仅是bag-of-features分类

将CNNs的决策看作是一种bag-of-feature策略,可以解释关于CNNs的一些奇怪的观察结果。首先,它可以解释为什么CNNs有如此强的纹理偏向。其次,它可以解释为什么CNNs对图像部分的打乱如此不敏感。它甚至可以解释对抗样本的存在:人们可以在图像的任何地方放置误导信号,CNN仍然能够可靠地接收到该信号,不管这些信号是否适合图像的其他部分。

在我们工作的核心部分,我们表明,CNNs使用自然图像中存在的许多微弱的统计规律进行分类,而不是像人类那样,直接跳到图像各个部分的物体级别的集成来进行分类。其他任务和感知模式也可能是如此。

我们必须认真思考如何构建我们的架构、任务和学习方法来抵消这种统计相关性较弱的趋势。一个角度是改善CNNs从局部小特征向全局特征的归纳偏差。另一个角度是删除或替换网络不应该依赖的特征,这正是我们在另一个ICLR 2019 publication中使用风格转换预处理去除物体的自然纹理所做的工作。

然而,最大的问题之一当然是图像分类本身的任务:如果局部图像特征足以解决这个任务,就没有动力去学习自然界真正的“物理”。我们将不得不重组任务本身,以促使模型学习物体的物理本质。为了让模型能够提取因果依赖关系,这很可能必须超越单纯观察学习输入和输出特征之间的相关性。

综上所述,我们的研究结果表明,CNNs可能遵循一种极其简单的分类策略。这样的发现在2019年仍有可能实现,这一事实突显出,我们对深度神经网络的内部工作机制知之甚少。由于缺乏理解,我们无法从根本上开发更好的模型和架构,从而缩小人类和机器感知之间的差距。加深我们的理解将使我们找到弥补这一差距的方法。这可能非常有效:当我们试图使CNNs偏向于物体的更多物理属性时,我们突然达到了和人类相似的噪声鲁棒性。我期待在我们走向CNNs的道路上有更多令人兴奋的结果,真正了解我们世界的物理和因果性质。

英文原文:https://medium.com/bethgelab/neural-networks-seem-to-follow-a-puzzlingly-simple-strategy-to-classify-images-f4229317261f