Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

参与GeekAI 张倩

如果给猫披上象皮,神经网络将作何判断?

神经网络识别物体依赖的是形状还是其他表征?一直以来,人们普遍认为答案是前者,但本文中的研究者通过实验颠覆了这种「常识」。

看看下面的这幅图片,你看到了什么?

你可能会很轻易地分辨出上图中的猫。然而,最顶尖的深度学习算法却认为上图中的动物是一只大象!

本文将会讨论为什么人工神经网络会将人类看到的猫识别为大象。此外还将讨论「如何看待深度神经网络物体识别任务中的范式转换」,以及如何利用这种视角来改进神经网络。本文是基于最近提交给 ICLR 的论文——《ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness》撰写的。

神经网络会如何识别一只猫呢?一个人们普遍接受的答案是:通过检测它的形状。这种假设的证据来源于像 DeconvNet(《Visualizing and Understanding Convolutional Networks》)这样的可视化技术。这种技术表明,在不同的处理阶段(被称之为层),网络试图识别一张图像中越来越大的图案,从第一层中简单的边缘和轮廓到更复杂的形状(如汽车轮子),直到轻松识别出该对象(车)。


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

这种直观的解释已经成为了一种常识。现代的深度学习教科书(如 Ian Goodfellow 的经典著作《深度学习》),在解释深度学习如何工作时,明确提到了基于形状的可视化技术,其他的研究人员也是如此(例如,Nikolaus Kriegeskorte 在《Deep neural networks: a new framework for modelling biological vision and brain information processing》第九页中所述)。

网络习得了与每个类别相关联的各种形状的复杂知识。

高级单元似乎可以学习到自然图像中出现的形状的表征,如人脸、人体、动物、自然场景、建筑和汽车。

但是这种说法存在一个问题:一些包括 DeconvNet 在内的最重要的和广泛使用的可视化技术,最近被证明具有误导性(《A Theoretical Explanation for Perplexing Behaviors of Backpropagation-based Visualizations》):它们仅仅是重建图像的组成部分,而没有揭示神经网络在一张图像中寻找到的是什么—也就是说,那些漂亮的可以被人类解释的可视化结果与网络如何做出一个决策的关系并不大。

并没有很多证据能够支持这种形状假设。那么,我们是否需要修正一下对于「神经网络如何识别物体」这一问题的看法?

如果形状假设不是唯一的解释呢?除了形状,物体通常还有或多或少与众不同的颜色、大小和纹理等特征。所有这些因素都可以被神经网络用来识别目标。虽然颜色和大小通常不是特定对象类别所特有的,但如果我们观察小区域,几乎所有对象都有类似于纹理的元素(甚至是汽车,其侧面有轮胎,外壳是金属)。

事实上,我们知道神经网络刚好有一个令人惊奇的纹理表征功能(即使该网络从来没有被训练过)。例如,在风格迁移问题中,我们就可以很明显地看到这一点。在这种如此令人着迷的图像建模技术中,深度神经网络被用来从一幅图像中提取纹理信息(如绘画风格)。这种风格随后会被应用在第二幅图像上,让人们能够「画」一张与著名画家风格相同的画。你可以通过下面的链接自己尝试一下:https://deepart.io

左:任意图片。中:梵高的《星月夜》纹理图像。右:通过深度神经网络将梵高的《星月夜》风格应用于左图绘制出的图片。

尽管这里用到的神经网络只被训练用于物体识别,但它却能获得如此强大的图像纹理表征能力,这一事实表明,两者之间存在更深层次的联系。这是支撑我们所说的「纹理假设」的第一个证据:人工智能物体识别过程中最重要的因素不是形状,而是纹理。

神经网络是如何分类图像的呢?是基于形状(通常的假设)还是基于纹理?为了平息这一争论,本文作者做了一个简单的实验来探究哪种解释更合理。这个实验是基于如下所示的图像,图像中同一个物体的形状和纹理明显属于不同的类别:

带有大象的纹理的猫 | 带有钟表纹理的汽车 | 带有水瓶纹理的熊

以上三个示例的形状和纹理从属于不同的类别。作者用风格迁移技术创造了它们:如果输入的是一张大象皮肤的照片,而不是一幅画,那么上面提到的技术也可以用来创造一只带有大象纹理的猫的图像。

使用这些图像,现在可以通过观察深度神经网络的分类决策(并且和人类进行比较)来研究形状/纹理偏好。打个比方:在不能与某人交谈的情况下,我们想知道 TA 懂阿拉伯语还是汉语,那么该怎么做?一种可能的办法是拿一张纸,用阿拉伯语写「向左走」,在旁边用中文写「向右走」,然后观察这个人会向右走还是向左走。类似地,如果向神经网络输入一个形状和纹理冲突的图像(如猫的形状,象的皮肤),就可以弄清楚它在识别图像时利用的是形状还是纹理。

作者利用上述方法进行了 9 个实验,涉及大约 100 名人类观察者和许多被广泛使用的深度神经网络AlexNetVGG-16、GoogLeNet、ResNet-50、ResNet-152、DenseNet-121、SqueezeNet1_1),向他们展示了数百幅形状和纹理相冲突的图像。实验结果非常清楚:他们发现了支持纹理解释的明显证据!一只带有象皮纹理的猫被深度神经网络判断为大象,但对人类来说仍然是猫。带有时钟纹理的汽车被深度神经网络判断为时钟,带有水瓶表面纹理的熊被深度神经网络判断为水瓶。该实验说明:目前用于物体识别深度学习技术主要依赖纹理,而不是物体形状。

下面是使用 ResNet-50 得到的一个典型的示例结果,ResNet-50 是一种常用的深度神经网络。图像下方显示出了前三位「猜测」(分类决策)百分比:

如图所示,神经网络根据纹理(而不是形状)对带有象皮纹理的猫进行分类。这一实验结果似乎与我们之前的常识大不相同,也与人类识别对象的方式存在着根本差异。

对此,我们能做些什么呢?我们能让人工智能物体识别更接近人类吗?我们能教它利用形状而不是纹理识别物体吗?

答案是肯定的。深度神经网络在学习物体分类时会利用任何有用的信息。在标准图像中,纹理揭示了很多关于物体特征的信息,因此可能根本不需要了解很多关于物体形状的信息。如果轮胎的轮廓和光滑的表面已经能够让网络识别出该物体,为什么还要不厌其烦地检查形状是否匹配呢?为了回答这个问题,作者设计了一种新的方法,使得神经网络重点关注形状而不是纹理,希望消除它们的纹理偏好。此处又使用了风格迁移技术,它可以将图像的原始纹理替换为任意不同的纹理(参见下图中的示例)。在生成的图像中,纹理不再提供信息,因此物体的形状是剩下的唯一有用信息。如果深度神经网络想要利用新的训练数据集学会对物体进行分类,它需要学习形状。

左:带有纹理和形状信息的常规图像 | 右:十个纹理不同但形状形同的物体示例。

在利用成千上万带有任意纹理的图像训练了深度神经网络之后,作者发现它确实学到了形状偏好,而不是纹理偏好!带有象皮纹理的猫现在被这个基于形状的新网络视为猫。此外还有一些意外收获:在识别标准图像和对图像中的物体进行定位的问题中,该网络突然获得了比经过正常训练的同类网络更好的性能;这说明了接近人类的、基于形状的表征是多么有用。然而,最令人惊讶的发现是,它学会了如何处理带噪声的图像(如现实世界中一层雨雪前景后面的物体),而该网络以前从未接触过这些带噪声的模式!这种基于形状的神经网络通过直接关注物体的形状而不是容易失真的纹理,成为了第一个接近一般人类水平的对噪声具有鲁棒性的深度神经网络

在人类视觉感知人工智能的十字路口,研究灵感可以同时来自这两个领域。作者利用人类视觉系统及其对形状的偏好来更好地理解深层神经网络,了解到它们主要使用纹理来对物体进行分类。这促使他们创建了一个在许多不同的任务上更鲁棒的网络,该网络性能更加接近人类。展望未来,如果这个网络能更准确地预测「人类观察物体时大脑神经元的运作方式」,这样的发现将可能非常有用,帮助我们能更好地理解人类的视觉感知能力。因此,在这个激动人心的时代,正如人工智能可以推动今天的视觉科学的发展,来自人类视觉系统的灵感也有可能会促进当今的人工智能技术的发展!

论文:ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness*

论文链接:https://arxiv.org/abs/1811.12231

摘要:通常,人们认为卷积神经网络是通过学习越来越复杂的形状表征来识别物体。最近的一些研究似乎说明了图像纹理具有更重要的作用。在本文中,作者通过使用带有「纹理-形状」冲突的图像对卷积神经网络和人类观察者进行评估,对两个相互矛盾的假设进行了定量测试。研究发现,在 ImageNet 上训练的卷积神经网络十分倾向于识别纹理而非形状,这与人类识别物体的方式存在本质区别,揭示了卷积神经网络完全不同于人类的分类策略。接着,作者说明了,在 ImageNet 上学习到基于纹理的表征的相同的标准架构(ResNet-50),在「Stylized-ImageNet」(ImageNet 的风格迁移版本)上进行训练时,能够学到基于形状的表征。在实验条件控制良好的心理物理实验室的环境下(9 个实验,共包含在 97 名被试上进行的 48,560 次心理物理试验),研究人员得到了更加接近人类行为的网络。而且还有一些意外收获,例如,基于形状的表征能够提升目标检测性能,对于广泛的图像失真问题有前所未有的鲁棒性,凸显了基于形状的表征的优势。

工程计算机视觉
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

VGG技术

2014年,牛津大学提出了另一种深度卷积网络VGG-Net,它相比于AlexNet有更小的卷积核和更深的层级。AlexNet前面几层用了11×11和5×5的卷积核以在图像上获取更大的感受野,而VGG采用更小的卷积核与更深的网络提升参数效率。VGG-Net 的泛化性能较好,常用于图像特征的抽取目标检测候选框生成等。VGG最大的问题就在于参数数量,VGG-19基本上是参数量最多的卷积网络架构。VGG-Net的参数主要出现在后面两个全连接层,每一层都有4096个神经元,可想而至这之间的参数会有多么庞大。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

GoogLeNet技术

同样在2014年,谷歌提出了 GoogLeNet(或Inception-v1)。该网络共有22层,且包含了非常高效的Inception模块,它同样没有如同VGG-Net那样大量使用全连接网络,因此参数量非常小。GoogLeNet最大的特点就是使用了Inception模块,它的目的是设计一种具有优良局部拓扑结构的网络,即对输入图像并行地执行多个卷积运算或池化操作,并将所有输出结果拼接为一个非常深的特征图。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

物体识别技术

计算机视觉领域的一个分支,研究物体的识别任务

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~