为什么深度学习会把猫认成大象?

来源:图普科技

在下面这张图像中,你看到了什么动物?

识别出上图这一只猫,对你来说,应该是没有任何问题的。但一个顶尖的深度学习算法看到的是:一头大象!

这篇文章解释了为什么人工神经网络看到的是大象而人类看到的是猫。此外,也谈到了我们如何在深度神经网络中思考目标识别的范式转变——以及我们如何利用这一视角来推动神经网络的发展。这是以我们最新的论文为基础的。

神经网络如何识别猫?一个被广泛接受的答案是:通过检测它的形状。这个假说的根据来自可视化技术,例如:DeconvNet(示例如下),这表明在不同的处理阶段(称为层),神经网络力图在图像中识别越来越大的图案,从第一层简单的边缘和轮廓到更复杂的形状,如汽车轮胎,直到该物体,例如车,可以很容易被识别出。

神经网络识别出的不同形状:从早期处理阶段(第一、二层)的小图案到更复杂的形状(汽车轮胎,第三层)直到最后的物体(汽车,第五层)。

这一直观解释已经成为常识。现代深度学习的教科书,如Ian Goodfellow经典的《深度学习》,在解释深度学习如何工作时,明确提到了基于形状的可视化技术。其他有影响力的研究人员,如Nikolaus Kriegeskorte也明确提到了这一点。

“神经网络获取与每个类别相关联的各种形状的复杂知识……高级装置可以学习自然图像中出现的形状表示,比如人脸、人体、动物、自然场景、建筑和汽车。”

但是有一个问题:一些最重要和广泛使用的可视化技术,包括DeconvNet,最近被证明是在误导:它们没有揭示神经网络在一个图像寻找什么,而是仅仅重建了图像的部分——也就是说,那些与人类协作的可视化技术与神经网络如何作出判断没有多大关系。

这几乎无法证明形状假说。我们是否需要改变我们思考神经网络如何识别物体的方式?

如果形状假说不是唯一的解释呢?除了形状,物体通常还或多或少有与众不同的颜色、大小和纹理。所有这些因素都可以被神经网络利用,以识别目标。虽然颜色和大小通常不是特定物体类别所特有的,但如果我们观察小区域,几乎所有物体都有类似于纹理的元素——例如,汽车的轮胎轮廓或金属涂层。

事实上,我们知道神经网络碰巧有一个惊人的纹理表示——未经训练也可获得。例如,在考虑风格转换时,这一点变得很明显。在这一令人着迷的图像建模技术中,使用深度神经网络从一张图像中提取纹理信息,如绘画风格。然后将这种风格应用于第二张图像,使人们能够“画”出一张著名画家风格的照片。(你可以在这里自己试试!)

神经网络虽然只被训练用于目标识别,但却能获得如此强大的图像纹理表示。这一事实表明,两者之间存在更深层次的联系。这是我们所说的纹理假说的第一个证据:人工智能目标识别最重要的方面在于纹理,而在于物体形状。

神经网络如何进行图像分类:基于形状(通常假设)或纹理?为了解决这个争论,我做了一个简单的实验来证明哪种解释更合理。这个实验是基于这样一些图像,形状和纹理都是明显不同的物体类别:

在这三张示例图像中,纹理和形状不再来自同一类别。我们用风格转换创造出它们:如果输入的是一张大象皮肤的照片,而不是一幅画,那么用梵高风格的照片“画”出一张图像的技术也可以用来画出一只大象纹理的猫。

利用这些图像,我们现在可以通过观察深度神经网络(和人类进行比较)的分类决策来研究形状或纹理偏差。打个比方:我们想知道某人说的是阿拉伯语还是汉语,但是不允许我们和他们交谈。我们能做什么?一种方法是拿一张纸,用阿拉伯文写“向左走”,然后在旁边用中文写“向右走”,接着观察这个人会向右走还是向左走。类似地,如果我们向深度神经网络展示一张形状与纹理冲突的图像,我们可以通过观察它是利用形状还是纹理来识别物体,以找出它说的是哪个“语言” (即,它认为大象纹理的猫是一只猫还是一只大象)。

这正是我们所做的。我们进行了一系列9个实验,涉及近100名人类观察者和许多广泛使用的深度神经网络(AlexNet、VGG-16、GoogLeNet、ResNet-50、ResNet-152、DenseNet-121、SqueezeNet1_1),向它们展示了数百幅形状和纹理冲突的图像。结果不容置疑:我们发现了支持纹理解释的显著证据!对深度神经网络来说,拥有象皮的猫是大象,对人类来说,仍然是猫。对深度神经网络来说,时钟纹理的汽车是时钟,就像带有瓶子表面特征的熊被识别为瓶子一样。目前用于目标识别的深度学习技术主要依赖纹理,而不是物体形状。

下面是ResNet-50的一个示例结果,ResNet-50是一种常用的深度神经网络。它显示了下图前三个“猜测”(分类决策)的百分比:

如图所示,拥有象皮的猫是根据它的纹理被分类为大象,而不是根据它的形状被分类为猫。目前的人工智能目标识别似乎与我们之前设想的有很大的不同,并且与人类识别物体的方式有根本的不同。

我们能做些什么吗?我们能让人工智能的目标识别更像人类吗?我们能教它根据形状而不是纹理进行识别吗?

答案是肯定的。深度神经网络在学习物体分类时,会利用任何有用的信息。在标准图像中,纹理揭示了很多关于物体身份的信息,因此可能根本不需要了解很多关于物体形状的信息。如果轮胎的轮廓和光滑的表面已经暴露了物体的身份,为什么还要检查形状是否也匹配呢?这就是为什么我们设计了一种新的方法来教神经网络专注于形状而不是纹理,以期消除它们的纹理偏差。同样使用风格转换,可以将图像的原始纹理替换为任意不同的纹理(参见下图中的示例)。在生成的图像中,纹理不再提供信息,因此物体形状是剩下的唯一有用信息。如果深度神经网络想要从这个新的训练数据集中对物体进行分类,它现在需要学习形状。

在训练深度神经网络识别成千上万张任意纹理的图像后,我们发现它实际上获得了形状偏差,而不是对纹理的偏好!拥有象皮的猫现在被这个基于形状的新神经网络视为猫。此外,还有一些突发的好处。在识别标准图像和定位图像中的目标方面,该神经网络突然表现得比经过常规训练的同类神经网络更好;强调类人的、基于形状的表示是多么有用!然而,最令我们惊喜的发现是,它学会了处理嘈杂的图像(在现实世界中,可能是雨或雪层后面的物体)——以前从未见过这些噪音模式!这种基于形状的神经网络通过简单地关注物体形状而不是关注容易变形的纹理,是第一个接近一般人类水平噪声鲁棒性的深度神经网络。

在人类视觉感知和人工智能视觉感知的十字路口上,灵感可以来自这两个领域。我们利用人类视觉系统及其对形状的偏好来更好地理解深度神经网络,了解到它们主要根据纹理来对物体进行分类。这促成了一个神经网络的建立,这个神经网络在许多不同的任务上,表现出了更接近于鲁棒和类人的性能。展望未来,如果这个神经网络能够更准确地预测当我们观察物体时,大脑中的神经元如何“点燃”,它就能够更好地理解人类视觉感知——因此,在这个真正激动人心的时代,来自人类视觉的灵感有可能改善当今人工智能技术,就像人工智能有能力推动今天的视觉科学一样!

微信公众号微信公众号