一、概述
早上起来看到一篇Medium的文章很有意思,先在这里大致记录下结论,回头再补论文。(吐槽下,Medium的文章好像墙的特别厉害,真是日了🐶了)
首先本文是ICLR 2019一篇新论文的作者 Wieland Brendel 对其新论文思路的介绍。本文提出的主要观点是,这么多年来用于分类的CNN尽管有长足发展,但无论是VGG也好,ResNet也好,其分类的策略本质上和bag-of-features并无二致。也就是说,以下图为代表的“卷积神经网络的逐层特征融合”的说法,可能(至少在高层特征上)只是人们的一厢情愿。CNN只是根据图像中关键的局部特征出现的次数来实现分类,而并不会考虑特征间的 long range spatial relationship,也就是说现代的CNN架构并不能真正实现学习局部特征到学习全局特征的跳跃。用文中的话说就是:
Fig. 1. 传统的观点是认为CNN具有类似人眼一般对世界的认识——从底层特征逐级融合形成高层特征(图片出自花书)"BagNets show that one can reach high accuracy on ImageNet just based on the weak statistical correlations between local image features and the object category"
大概就是说神经网络学习到一张图像中的局部特征和其标签类别之间的某种弱的统计关联,通过这种弱关联即可获取很高的分类准确率。这个结果导致了一个问题:神经网络根本没有去学习对象级的图像组件的集成,如人类("object-level integration of image parts like humans")。由此可以得到一个结论:神经网络并没有学习到自然世界的物理和因果本质(physical and causal nature of the world)。
二、实验及分析
为了将CNN以bag-of-features的形式表达出来,作者设计了一系列实验。其策略如下:
- 将图像分成q x q 的子块
- 将这些子块送入神经网络,得到每个子块的evidences(logits)。
-
将所有子块同一类别的evidences相加,根据最终的evidences得到image-level decision。
Fig. 2. Strategy
不过作者实现的时候并不是直接根据上面的策略去操作,而是利用一个等效但是更简洁的方法——BagNets。
2.1 BagNets
文章主体实验部分是通过定义一个局部特征学习器——BagNet来实现的,该网络结合了bag-of-features的可解释性和CNN的提取特征能力。那么如何确保神经网络只学习图像的局部特征,而不学习全局特征?答案就是控制分类所用特征(最后一层卷积输出)对应的感受野(receptive field)大小。
通用的分类CNN一般都会随卷积块的堆叠逐步将感受野提高到覆盖整个输入图像的尺寸大小,进而学习图像不同区域的"long range dependency"。而根据下图中感受野的计算公式可知,影响感受野大小的因素包括卷积核尺寸,卷机步长,pad等。
Fig. 3. 感受野的计算与可视化
作者在文中使用一种非常简单的setting:通过将ResNet50中指定数目卷积的strides设为1,来控制最终feature map的感受野大小。通过这种设定,作者得到了三种不同感受野大小的BagNet:BagNet-q,q=9, 17, 33。均远小于ImageNet输入图像的尺寸,用作者的话说就是:
In this case the hidden units in the last convolution layer only "see" a small part of the image.(i.e. their receptive field is much smaller than the size of the image)
- 注意这里作者只放了Top-5准确率,不知道论文里有没有放Top-1准确率的对比。
大家可以思考下BagNets和Fig. 2中作者的策略是不是等价的。
2.2 可视化分类器的判断依据
由于BagNets的一大好处就是强解释性,作者可视化了一些图像的分类结果及其依据的关键特征:
Fig. 5. 关键特征可视化。每个类别的第一行代表正确分类样本;第二类代表属于其他类别但错分为该类别的样本
这个图展现了一些非常有趣的结果:以丁鲷(tench)这一类别为例,网络学习到的判别模式其实是近似绿色背景中的手指头。为什么呢?这是由于该类别的大多数图像都是一个渔夫抱着一只丁鲷,即他们与“战利品”的合影。在大多数BagNets误判为丁鲷的样本中,往往也会出现类似的模式:一些手指出现在近似绿色的背景中。这一结论就说明网络至少在很多类别的判断中,仅仅依据某些特定的局部pattern。
网友评论