论文地址:https://arxiv.org/pdf/1808.08750.pdf
项目地址:https://github.com/rgeirhos/generalisation-humans-DNNs
摘要
我们通过 12 种不同类型的图像劣化(image degradation)方法,比较了人类与当前的卷积式深度神经网络(DNN)在目标识别上的稳健性。首先,对比三种著名的 DNN(ResNet-152、VGG-19、GoogLeNet),我们发现不管对图像进行怎样的操作,几乎所有情况下人类视觉系统都更为稳健。我们还观察到,当信号越来越弱时,人类和 DNN 之间的分类误差模式之间的差异会逐渐增大。其次,我们的研究表明直接在畸变图像上训练的 DNN 在其所训练的同种畸变类型上的表现总是优于人类,但在其它畸变类型上测试时,DNN 却表现出了非常差的泛化能力。比如,在椒盐噪声上训练的模型并不能稳健地应对均匀白噪声,反之亦然。因此,训练和测试之间噪声分布的变化是深度学习视觉系统所面临的一大关键难题,这一难题可通过终身机器学习方法而系统地解决。我们的新数据集包含 8.3 万个精心度量的人类心理物理学试验,能根据人类视觉系统设置的图像劣化提供对终身稳健性的有用参考。
1 引言
1.1 作为人类目标识别模型的深度神经网络
人类在日常生活中进行的视觉识别速度很快,似乎也毫不费力,而且很大程度无关视角和物体的方向 [Biederman (1987)]。在单次注视过程中完成的主要由中心凹进行的快速识别被称为「核心目标识别(core object recognition)」[DiCarlo et al. (2012)]。比如,在查看「标准的」图像时,我们能够在不到 200 毫秒的单次注视内可靠地辨别出视野中心的目标。[DiCarlo et al. (2012); Potter (1976); Thorpe et al. (1996)]。由于目标识别速度很快,所以研究者常认为核心目标识别主要是通过前馈处理实现的,尽管反馈连接在灵长类大脑中无处不在。灵长类大脑中的目标识别据信是通过腹侧视觉通路实现的,这是一个由区域 V1-V2-V4-IT 组成的分层结构,来自视网膜的信息会首先传递至 V1 的皮层 [Goodale and Milner (1992)]。
就在几年前,动物视觉系统还是已知的唯一能够进行种类广泛的视觉目标识别的视觉系统。但这种情况已然改变,在数百万张有标注图像上训练之后的脑启发式深度神经网络已经在自然场景图像中的物体分类上达到了人类水平 [Krizhevsky et al. (2012)]。DNN 现在可用于各种类型的任务,并且创造了新的当前最佳,甚至在一些几年前还被认为需要数十年时间才能通过算法解决的任务上取得了超越人类的表现 [He et al. (2015); Silver et al. (2016)]。因为 DNN 和人类能达到相近的准确度,所以已有一些工作开始研究 DNN 和人类视觉的相似和不同之处。一方面,由于大脑本身的复杂性和神经元的多样性,所以 DNN 的网络单元得到了很大的简化 [Douglas and Martin (1991)]。另一方面,一个模型的能力往往并不取决于对原有系统的复现,而在于模型取得原系统的重要方面并将其从实现的细节中抽象出来的能力 [如 Box (1976); Kriegeskorte (2015)]。
人类视觉系统最显著的性质之一是稳健的泛化能力。即使输入分布发生很大的变化(比如不同的光照条件和天气类型),人类视觉系统也能轻松应对。比如,即使在一个物体前面有雨滴或雪花,人类对物体的识别也基本不会出错。尽管人类在一生中肯定会遇到很多这样的变化情况(对于 DNN,即是我们所说的「训练时间」),但似乎人类的泛化方式非常普适,并不局限于之前看过的同种分布。否则我们将无法理解存在某些全新之处的场景,之前未见过的噪声也会让我们束手无策。即使一个人的头上还从未被撒过彩片碎纸,但他仍然可以毫无压力地辨认出花车巡游中的目标。很自然,这样通用稳健的机制并不只是动物视觉系统所需的,要让人工视觉系统具备超出其训练时间所用分布的「眼界」,从而处理各种各样的视觉任务,也将需要类似的机制。用于自动驾驶的深度学习可能就是其中一个突出案例:即使系统在训练时间从没见过彩片碎纸雨,在花车巡游时也需要有稳健的分类表现。因此,从机器学习角度看,因为终身机器学习所需的泛化能力并不依赖于在测试时间使用独立同分布(i.i.d.)样本的标准假设,所以对一般噪声的稳健性可用作终身机器学习的高度相关的案例 [Chen and Liu (2016)]。
1.2 泛化能力比较
DNN 的泛化效果一般很好:首先,DNN 能够在训练分布上学习到足够一般的特征,能在独立同分布的测试分布上得到很高的准确度;尽管 DNN 也有足够的能力完全记忆训练数据 [Zhang et al. (2016)],。有很多研究致力于理解这一现象 [如 Kawaguchi et al. (2017); Neyshabur et al. (2017); Shwartz-Ziv and Tishby (2017)]。其次,在一个任务上学习到特征往往只会迁移到有所相关的任务上,比如从分类任务迁移到显著性预测任务 [Kümmerer et al. (2016)]、情绪识别任务 [Ng et al. (2015)]、医学成像任务 [Greenspan et al. (2016)] 以及其它很多迁移学习任务 [Donahue et al. (2014)]。但是,在用于新任务之前,迁移学习仍然需要大量训练。这里,我们采用第三种设定:终身机器学习角度的泛化 [Thrun (1996)]。即当一个视觉学习系统在学习过处理一种特定类型的图像劣化后,在处理新类型的图像劣化时效果如何?作为一种目标识别稳健性的度量方法,我们可以测试分类器或视觉系统能够忍受输入分布的变化达到一定程度的能力,即在一定程度上不同于训练分布的测试分布上评估时的识别表现是否够好(即在接近真实的情况下测试,而非在独立同分布上测试)。使用这种方法,我们可以衡量 DNN 和人类观察者应对由参数化图像处理所造成的原始图像逐渐畸变的能力。
首先,我们将评估在 ImageNet 上训练的表现最好的 DNN,即 GoogLeNet [Szegedy et al. (2015)]、 VGG-19 [Simonyan and Zisserman (2015)] 和 ResNet-152 [He et al. (2016)],并会在 12 种不同的图像畸变上比较这些 DNN 与人类的表现,看各自在之前未见过的畸变上的泛化能力如何。图 2 展示了这些畸变类型,包含加性噪声或相位噪声等。
在第二组实验中,我们会直接在畸变图像上训练网络,看它们在一般意义上处理有噪声输入的效果究竟如何,以及在畸变图像上进行多少训练就能以数据增强的形式助力对其它畸变形式的处理。研究者已对人类在目标识别任务上的行为进行了很多心理物理学研究,这些任务包括在不同颜色(灰度和彩色)或对比度以及添加了不同量的可见噪声的图像上测量准确度。研究表明,这种方法确实有助于对人类视觉系统的探索,能揭示出有关其中内部计算和机制的信息 [Nachmias and Sansbury (1974); Pelli and Farell (1999); Wichmann (1999); Henning et al. (2002); Carandini and Heeger (2012); Carandini et al. (1997); Delorme et al. (2000)]。因此,类似的实验也许同样能让我们了解 DNN 的工作方式,尤其是还能通过与人类行为的高质量测量结果来进行比较。
特别需要指出,我们实验中的人类数据是从受控的实验环境中获得的(而没有使用 Amazon Mechanical Turk 等服务,因为这些服务无法让我们充分地控制展示时间、显示器校准、视角和参与者在实验中的注意力)。我们精心测量得到的行为数据集共包含 12 个实验的 82880 次心理物理学试验,这些数据以及相关材料和代码都已公开:https://github.com/rgeirhos/generalisation-humans-DNNs
2 方法
这一节将报告所用的范式、流程、图像处理方法、观察者和 DNN 的核心元素;这里的信息足以让读者了解相关实验和结果。更深入的解读请参阅补充材料,其中有更详细的细节,可帮助研究者重现我们的实验。
2.1 范式、流程和 16-class-ImageNet
为了本研究,我们开发了一种实验范式,旨在使用一种强制选择的图像分类任务来尽可能公平地比较人类观察者和 DNN。实现公平的心理物理学比较面临着一些难题:首先,很多表现优良的 DNN 是在 ILSRVR 2012 数据库 [Russakovsky et al. (2015)] 上训练的,这个数据库有 1000 种细粒度的类别(比如,超过 100 种狗)。如果让人类说出这些目标的名称,他们基本上很自然地会使用大类的名称(比如会说这是「狗」,而不是说是「德国牧羊犬」)。因此,我们使用 WordNet 的层次结构 [Miller (1995)] 开发了一种映射方法,将 16 种大类类别(比如狗、车或椅子)映射到了它们对应的 ImageNet 类别。我们将这个数据集称为 16-class-ImageNet,因为它将 ImageNet 的一个子集分组成了 16 个大类,即:飞机、两轮车、船舶、小车、椅子、狗、键盘、烤箱、熊、鸟、瓶子、猫、钟表、象、刀具、卡车)。然后,在每次试验中都会有一张图像显示在计算机屏幕上,观察者必须通过点击这 16 个类别中的 1 个来选出正确的类别。对于预训练的 DNN,则是计算映射到特定大类的所有 softmax 值的总和。然后,具有最高总和的大类被用作该网络的最终决定。
另一个难题是实际上标准的 DNN 在推理时间仅会使用前馈式计算,而循环连接在人脑中无处不在 [Lamme et al. (1998); Sporns and Zwi (2004)]。为了防止这种差异在我们的实验比较中成为混淆结果的主要原因,给人类观察者的呈现时间被限制在了 200ms。在展示完一张图像之后,还会呈现 200ms 的 1/f 噪声掩模——在心理物理学上,已知这种方法能够尽可能地最小化大脑中的反馈影响。
2.2 观察者和预训练的深度神经网络
来自人类观察者的数据与三个预训练的 DNN 的分类表现进行了比较,即 GoogLeNet、 VGG-19 和 ResNet-152。对于我们进行的 12 个实验中的每一个,都有 5 或 6 个观察者参与(只有彩色图像的实验除外,该实验仅有三位观察者参与,因为已有很多研究执行过类似的实验 [Delorme et al. (2000); Kubilius et al. (2016); Wichmann et al. (2006)]。观察者的视力或矫正后视力处于正常水平。
2.3 图像处理方法
我们在一个控制良好的心理物理学实验室环境中进行了总共 12 个实验。在每个实验中,都会在大量图像上施加(可能是参数化的)图像畸变,这样信号强度的范围就从「没有畸变/全信号」到「有畸变/(更)弱信号」不等。然后我们测量了分类准确度随信号强度的变化情况。我们使用的图像处理方法中有三种是二分式的(彩色与灰度、真色与反色、原始与均衡化的功率谱);一种处理方式有 4 个不同层级(旋转 0、90、180、270 度);还有一种方式有 7 个层级(0、30……180 度的相位噪声);其它畸变方法则各有 8 个不同层级。这些方法为:均匀噪声(受表示像素层面加性均匀噪声的边界的「width」参数控制)、对比度下降(对比度从 100% 到 1% 不等)以及三种来自 Eidolon 工具箱的三种不同的处理方法 [Koenderink et al. (2017)]。这三个 Eidolon 实验都对应于一种参数化图像处理的不同版本,「reach」参数控制了畸变的强度。此外,对于在畸变上训练的实验,我们也评估了在具有椒盐噪声的刺激上的表现(受参数 p 控制,该参数表示将一个像素设置成黑或白色的概率;p∈[0,10,20,35,50,65,80,95]%)。
更多有关不同图像处理方法的信息请参阅补充材料,其中也包含各种不同处理方法和畸变等级的图例。图 2 则展示了每种畸变的一个图例。整体而言,我们选择使用的图像处理方法能够代表很多不同类型的可能畸变。
2.4 在畸变图像上训练
除了在畸变图像上评估标准的预训练的 DNN(结果见图 3),我们还直接在畸变图像上训练了神经网络(图 4)。这些网络是在 16-class-ImageNet 上训练的,这是标准 ImageNet 数据集的一个子集,详见 2.1 节。这将未受扰动的训练集规模减小到了大约原来的五分之一。为了校正每个类别的高度不平衡的样本数量,我们使用了一个与对应类别的样本数量成正比的权重给损失函数中的每个样本加权。这些实验中训练的所有网络都使用了类似 ResNet 的架构,与标准 ResNet-50 的不同之处仅有输出神经元的数量——从 1000 降至了 16,以对应数据集的 16 个大类。权重使用了一个截断的正态分布进行初始化,均值为零,标准差为,其中 n 是一层中输出神经元的数量。
在从头开始训练时,我们使用图像处理方法的不同组合在训练过程中执行了数据增强。当在多种类型的图像处理上训练网络时(图 4 中的 B1-B9 和 C1-C2 模型),图像处理的类型(包括未畸变图像,即标准的彩色图像)是均匀选取的,而且我们每次仅应用一种处理(即网络永远不会看到同时应用了多种图像处理方法的单张图像,但注意某些图像处理方法本质上已经包含了其它处理方法:比如均匀噪声,总是在进行灰度转换并将对比度降至 30% 后添加的)。对于一个给定的图像处理方法,扰动量是根据测试时间所用的等级均匀选取的(参见图 3)。
训练过程的其它方面都遵循在 ImageNet 上训练 ResNet 的标准训练流程:我们使用了动量为 0.997 的 SGD,批大小为 64,初始学习率为 0.025。在 30、60、80 和 90 epoch 后(当训练 100 epoch 时)或 60、120、160、180 epoch 后(当训练 200 epoch 时),学习率乘以 0.1。我们使用了 TensorFlow 1.6.0 [Abadi et al. (2016)] 进行训练。在训练实验中,除了 Eidolon 刺激(因为这些刺激的生成对 ImageNet 训练而言的计算速度实在太慢)之外,所有的图像处理方法都有超过两个层级。为了进行比较,我们额外添加了彩色与灰度和椒盐噪声的对比(因为椒盐噪声方面没有人类的数据,但均匀噪声和椒盐噪声之间不正式的比较说明人类的表现是相近的,参见图 1(c))。
3 人类和预训练后的 DNN 对图像畸变的泛化能力
为了评估信号更弱时的泛化能力,我们测试了 12 种不同的图像劣化方法。然后将这些不同信号强度的图像呈现给实验室环境中的人类观察者以及预训练的 DNN(ResNet-152、GoogLeNet 和 VGG-19)进行分类。图 3 给出了可视化的结果比较。
虽然在仅有相对较小的与颜色相关的畸变时(比如灰度转换或反色)人类和 DNN 的性能接近,但我们发现人类观察者对其它所有畸变都更稳健:在低对比度、功率均衡和相位噪声图像上有少许优势,在均匀噪声、低通、高通、旋转和三种 Eidolon 实验上优势更大。此外,由响应分布熵衡量的误差模式存在很大的差异(这表明存在对特定类别的偏差)。当信号越来越弱时,人类参与者的响应在 16 个类别上或多或少是均等分布的,而三个 DNN 都表现出了对特定类别的偏差。这些偏差并不能完全通过先验类别概率解释,而且因具体畸变而各不相同。比如,对于有很强均匀噪声的图像,ResNet-152 几乎只能预测瓶子类别(与基本真值类别无关),而对于有严重相位噪声的图像则只能预测狗或鸟类别。人们可能会想到一些降低 DNN 和人类的响应分布熵之间的差异的简单技巧。一种可能的方法是增大 softmax 温度参数并假设模型的决定是从这个 softmax 分布采样的,而不是取自 argmax。但是,以这种方式增大响应 DNN 分布熵会极大降低分类准确度,因此需要一定的权衡(参见补充材料图 8)。
这些结果与之前报告的 DNN 中对颜色信息的处理与人类类似的发现一致 [Flachot and Gegenfurtner (2018)],但 DNN 识别的准确度会因噪声和模糊等图像劣化而显著下降 [Vasiljevic et al. (2016); Dodge and Karam (2016, 2017a, 2017b); Zhou et al. (2017)]。整体而言,在各种图像畸变情况下,DNN 在泛化到更弱信号上的表现比人类更差。尽管人类的视觉系统随进化过程和生命周期已经遇到了大量畸变,但我们显然没遇到过我们的测试中很多确切的图像处理方式。因此,我们的人类数据表明原则上高水平的泛化能力是可能的。我们发现,人类与 DNN 的泛化能力差异的可能原因有很多:在当前所使用的网络架构方面是否存在局限性(正如 Dodge and Karam (2016) 假设的那样),使得 DNN 无法匹敌人脑中错综复杂的计算?训练数据是否存在问题(Zhou et al. (2017) 就这样认为)?还是说当今的训练方法/优化方法不足以实现稳健和通用的目标识别?为了理解我们发现的差异之处,我们进行了另一批实验——直接在畸变图像上训练网络。
4 直接在畸变图像上训练 DNN
我们为每种畸变直接在 16-class-ImageNet 图像(有可能进行了图像处理)上从头开始训练一个网络。图 4(A1-A9)展示了训练的结果。我们发现,这些特定的网络在其所训练的图像处理类型上总是优于人类观察者的表现(即图中对角线上的优良结果)。这表明,当前所用的架构(比如 ResNet-50)和训练方法(标准的优化器和训练过程)足以「解决」独立同分布的训练/测试条件下的畸变。我们不仅能解决 Dodge and Karam (2017a) 观察到的人类与 DNN 表现的差异问题(他们在畸变上对网络进行了精细调节,但得到的 DNN 未达到人类水平),而且能在这方面超越人类的水平。尽管人类视觉系统的结构肯定更为复杂 [Kietzmann et al. (2017)],但看起来对处理这类图像处理问题来说似乎并不是必需的。
但是,正如之前指出的那样,稳健的泛化能力的关键不是解决事先已知的特定问题。因此,我们测试了在特定畸变类型上训练的网络在另一些畸变上的表现。图 4 A1-A9 中非对角线上的数据即为实验结果。整体而言,我们发现,在一些案例中,在特定畸变上训练能稍微提升在其它畸变上的表现,但也有一些案例给出了相反的结果(比较对象是在彩色图像上训练的纯 ResNet-50,即图中的 A1)。所有网络在椒盐噪声以及均匀噪声上的表现都接近随机乱选,即使是在各自相应的其它噪声模型上直接训练的网络也是如此。因为这两种类型的噪声在人眼看来其实差别并不大(如图 1(c) 所示),所以这一结果可能还是颇让人惊讶。因此,在一种畸变类型上训练的网络并不总是能实现在其它畸变上的表现提升。
因为只在单一一种畸变上训练似乎不足以为 DNN 带来强大的泛化能力,所以我们还在另外两种设置上训练了同样的架构(ResNet-50)。图 4 中 B1-B9 模型展示了在一种特定的畸变与均匀噪声的组合上训练后的结果(来自每种图像处理方法的训练数据各 50%)。选择均匀噪声的原因是这似乎是对所有网络而言最困难的畸变,因此将这种特定畸变纳入训练数据可能是有益的。此外,我们还在除去了一种畸变(除去了均匀噪声或椒盐噪声)之外的所有畸变上训练了模型 C1 和 C2。
我们发现,相比于模型 A1-A9,模型 B1-B9 的目标识别表现有所提升——不管是它们实际训练的畸变上(图 4 中的对角线上的红框),还是在其它未在训练数据中出现的畸变上。但是,这一提升的原因很大程度上可能是模型 B1-B9 训练了 200 epoch,而不是像 A1-A9 那样训练了 100 epoch,因为模型 B9(在均匀噪声上训练和测试,200 epoch)的表现也由于模型 A9(在均匀噪声上训练和测试,100 epoch)。因此,当存在严重畸变时,训练更长时间可能更有用,但将其它畸变集成到训练过程中却似乎并不具有普适的益处。此外,我们还发现,即使对于单个模型来说,在其所训练的所有 8 种畸变上都达到较高的准确度也是可能(模型 C1 和 C2),但是对于剩下的两种畸变(均匀噪声或椒盐噪声),目标识别准确度却仅有 11%-14%;比起在同一畸变上训练得到的专用网络(准确度超过 70%),这一准确度离随机乱选要近得多。
总的来说,这些发现表明仅使用畸变来进行数据增强可能不足以克服我们发现的泛化问题。问题也许应该变一变了——不再是「为什么 DNN 的泛化能力这么好(在独立同分布条件下)?」[Zhang et al. (2016)],而变成「为什么 DNN 的泛化能力这么糟(在非独立同分布条件下)?」目前被视为人类目标识别的计算模型的 DNN 将如何解决这一难题?还有待未来研究。这个激动人心的领域处于认知科学/视觉感知和深度学习领域的交叉点,会从这两个领域同时汲取灵感和新思想:计算机视觉的域适应子领域(参阅 Patel et al. (2015) 的综述)正在研究不受输入分布变化所影响的稳健型机器推理方法,同时人类视觉研究领域也正在积累证据证明局部增益控制机制的优势。这些标准化过程似乎对动物和人类的稳健视觉的很多方面而言都至关重要 [Carandini and Heeger (2012)],也能预测人类视觉数据 [Berardino et al. (2017); Schütt and Wichmann (2017)],并以证明可用于计算机视觉 [Jarrett et al. (2009); Ren et al. (2016)]。神经标准化过程与 DNN 的泛化能力之间是否存在关联?这将是值得未来研究一个有趣方向。
5 总结
我们基于 12 种不同的图像畸变,对人类和 DNN 的目标识别稳健性进行了行为比较。我们发现,与人类观察者相比,在 ImageNet 上训练的三种知名 DNN(ResNet-152、GoogLeNet 和 VGG-19)的表现会随着图像畸变所造成的信噪比的减小而迅速降低。此外,我们还发现当信号越来越弱时,人类与 DNN 的分类误差模式的差别会逐渐增大。我们在良好控制的实验室条件下进行了 82880 次心理物理学试验,结果表明人类与当前 DNN 处理目标信息的方式仍存在显著区别。在我们的设置中,这些区别无法通过在畸变图像上进行训练(即数据增强)而克服:尽管 DNN 能完美应对其所训练过的特定畸变,但对于它们之前未曾见过的畸变类型,它们仍然束手无策。因为潜在畸变的类型基本上是无穷无尽的(不管是理论上还是实际应用中都是如此),所以不可能在所有畸变上都训练一遍。当超出常规的独立同分布假设时(通常是不现实的),DNN 就会遇到泛化问题。我们相信,不管是为了创造稳健的机器推理,还是为了更好地理解人类目标识别,解决这一泛化问题都至关重要。我们希望我们的发现以及我们精心测量并免费公开的行为数据能为 DNN 稳健性的提升提供一个有用的新基准,并能激励神经科学家找到大脑中负责这一出色的稳健性机制。