社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习败于“捷径”

AI科技评论 • 5 年前 • 695 次点击  

编译 | 蒋宝尚、陈大鑫

编辑 | 丛末

深度学习的未来在哪里?

这一话题已经有过了无数讨论,大部分讨论都承认当前的深度学习还不是真正的智能,必须转向理解、常识。

但是只看当前AI成功的案例,似乎还无法窥探理解。近日,来自多伦多大学和图宾根大学的研究人员合作了一篇文章《Shortcut Learning in Deep Neural Networks》,他们将当前深度学习的一些失败案例归因为:捷径,即深度学习在处理任务的时候往往会采用“捷径”策略,模型在训练的时侯往往会面临多个解决方案,而深度学习模型的选择往往并不是最有效的那个,而是最简单的那个。

虽然采用“捷径”策略在表面上是成功的,但是情况稍微改变一下,深度学习就会失败。这也是通常提到的模型泛化能力差。

除此之外,在论文中,作者还举了一些采用“捷径策略”的例子,试图从“捷径学习”中找到让AI模型转向“理解”的方向。

最后,基于论文内容,作者在网站The Gradient 发布了一篇文章,详细阐述了“捷径策略”对深度学习的影响,AI科技评论对其进行了不改变原意的编译,请欣赏。

人工智能会取代放射科医生么?

有研究人员训练了一个神经网络用来乳腺癌分类,其准确率达到了85%。随后,研究人员又综合了另外三个神经网络,这时,模型的准确率达到了惊人的99%,足以匹敌有多年经验的“老”放射科医师。

只不过,这里有个小反转:研究人员用的不是人工智能神经网络,而是“全自然”神经网络,更准确地说,研究人员训练了四只鸽子来诊断乳腺癌☺。

一群非常聪明的神经网络?

对于医学而言,我们从来没有将未来寄希望于鸽子身上,各大公司也从来没有投资几亿美元建造鸽子场。显然,与我们对深度神经网络的期望相比,我们对鸽子的期望有些相形见绌。

诚然,在许多方面,深度学习确实没有辜负“炒作”和希望,毕竟,它们在社会、行业和科学领域做出的贡献是不可否认的,新的AI突破仍然时不时的出现在“媒体头条”。但是,一些看似互不关联的失败案例,一直在缓慢而稳定地出现。

例如,深度学习虽然在物体识别方面取得了超人的表现,但是识别物体中的一些微小的变化(例如背景)有可能导致识别失败;深度学习可以为一张图片生成看似合理的标题,但是在它不“看”图片的情况下,生成的标题也非常合理;深度学习可以准确地识别人脸,但是对于某些少数群体的人脸,模型识别的错误率却比较高;深度学习可以根据简历做出招聘决定,但是算法的决定往往偏向于选择男性。

那么?如何看待AI超人的表现和令人震惊的失败之间的差距呢?其实,这些失败案例并不是独立的现象,它们在某种意义上是相互关联的:即深度学习在处理任务的时候往往会采用“捷径”策略。虽然采用策略表面上是成功的,但是情况稍微改变一下,深度学习就会失败。

更为准确一些,采用“捷径”的结果可能表现为:模型在标准的基准上表现良好,但是却无法转移到具有挑战性的任务中。这样的例子有很多,如下图所示:


1


什么是捷径?

总的来讲,“捷径”策略并不是什么新鲜东西,它有许多变体名字,例如covariate shift、反因果学习、数据集偏差、聪明汉斯效应等等。
注:聪明的汉斯是一匹懂得算术和各种惊奇技能的马,但是它其实并不是真的懂算术,而是靠着训练员与观察者无意识下给予的训练。
具体而言,在机器学习中,训练模型可能受到数据、模型架构、优化器和目标函数的约束。然而,这些约束所决定的“解决方案”往往不止一个。而用捷径策略所选择的正是那些在典型测试集上表现良好,但在其他情况下失败的解决方案。
举个例子,当在一个简单的恒星和月亮的数据集上进行模型训练时,一个标准的三层全连接的神经网络可以很容易对新的示例进行分类,当然,这些示例的数据集在概率上服从独立同分布。
但是,如果在与训练集具有不同概率分布的数据集上进行测试时,训练好的神经网络仍然用在训练集中学到的策略对星星进行分类。也即:星星总是显示在图像的右上方或在左下方,月亮总是在左上方或者右下方。
此捷径策略或许在训练集上可行,但是在测试集上却不存在。所以,这里暴露的问题是:在训练模型对星星进行分类时,位置和形状都是有效的识别方案,显然模型选择了使用位置,而不是物体的形状来进行分类。
上面这些例子虽然被归纳为对抗性示例、有偏见的机器学习、缺乏领域泛化等等,其实都可以理解为:捷径学习。
翻译到这儿,小编想到了清华大学高等研究院双聘教授沈向洋博士,他曾经在多次演讲中举到过的哈士奇的例子:用已经训练好的神经网络检测图片中的动物是狼还是哈士奇。在上面6张照片中,左下角的一张被识别错了。识别错的原因是:深度神经网络并非像我们理解的那样通过动物的外形来辨别的,而是在观察图像中有没有雪,如果有雪,那就是狼。当时沈博士举这个例子是想说明模型可解释性的重要性,与今天作者提到的“捷径”有异曲同工之意。
再例如,研究人员开发了一种机器学习分类器,能够从X光扫描图片中检测肺炎,此分类器在训练集上表现良好,但是在识别新医院的病例时,其性能却出人意料的低。究其原因,该分类器聪明地学会了“从医院的类型看肺炎”,如上图所示,通过识别医院的特定token,然后综合该医院的肺炎患病率,模型就能够有很高的预测准确率。显然,此分类器没有“理解”肺炎,而是选择了最简单的解决方案,只查看医院token的类型。

2


捷径学习超越深度学习

通常这样的失败被归为机器学习算法不可信的例子。然而,生物学学习者也有同样的境遇:在牛津大学的一个实验室里,研究人员观察到老鼠能够在复杂的迷宫中找到出路。研究人员非常惊讶,因为老鼠的视网膜非常简单,只有一些“粗糙”的色觉功能。于是,研究人员进行了深度调查,结果发现老鼠欺骗了研究人员:老鼠们在实验中根本不使用视觉系统,而是使用气味识别,即简单地通过闻迷宫墙壁上彩色涂料的气味进行分辨。一旦气味被控制住,老鼠显著的辨色能力就消失了。
我们从这个实验得到的结论是:动物在面对实验任务的时候,采用的并不是人类以为的那种方式。而这种“反人类直觉”的方式正是人类难以想象的地方。
其实,对于动物这种“反人类”的方式还是在研究人员的考虑范围内的,因为在上述实验中,小鼠和人类在视觉神经方面的不同,人类早已预料到。
但是在算法层面,人类往往界定人类的性能为算法上限。也就是说,即使人工神经网络的神经元与生物神经元尽管不同,如果DNN成功地识别出物体,那么就可以很自然地假设它们能像人类一样感觉到物体形状。
因此,在将“物体识别”和“语言理解”这样的高级能力归于机器之前,要非常谨慎。因为它们还有一种解释:捷径。

3


捷径学习改变我们衡量进步的方式

从历史的角度看,一些机器学习的研究主要由基准测试驱动,而基准测试是通过在任务和数据集的固定组合上对算法进行评估,目的是使算法具有可比性。这种基准推动的模式在很短的时间内使机器学习领域取得了巨大的进步。
但这并非没有缺点,这种模式虽然为研究人员创造了强大的激励,使他们更专注于开发新的算法,改进现有的基准,但是在激励他们“理解”当前的算法或基准方面尚有欠缺。这种对理解的忽视也是为什么“捷径学习”是深度学习中普遍存在的问题的原因之一。
让我们看一个比较著名的例子:ImageNet挑战赛。此挑战赛于2009年创建,由于它的多样性和大规模,ImageNet为当前的深度学习革命铺平了道路。ImageNet数据集和大规模视觉识别挑战赛的贡献证明了具有学习权值的深度神经网络是唯一适合处理这种复杂性的方法(与当时流行的使用手工特征进行图像分析的方法不同)。在那段时间,ImageNet成为了进步的推动力,模型在ImageNet基准上的表现也成为了计算机视觉领域进步的代名词
直到最近几年,当越来越多的DNN失败案例出现时,这种情况才开始慢慢改变。所有这些失败案例背后的一个主要原因是,尽管ImageNet数据集包含很大的规模和种类,但它并不需要真正意义上的目标识别。
因为在许多情况下,目标的背景,纹理或其他对人类不太明显的“捷径”可以很好地被识别。所以如果当识别背景效果比识别场景中的主要目标更容易时,神经网络通常会学习利用背景用于分类。这种行为往往导致模型泛化能力太差。
例如下图,在左侧有几个人类希望模型能够泛化的目标。对人类而言,无论是手绘黑白的5还是彩色照片上的门牌号5,5都是5。同样,姿势、纹理或背景的轻微变形或变化也不会影响到人类对图像中主要目标的预测。相比之下,神经网络却很容易被愚弄。
但是这并不意味着神经网络完全不能泛化:事实上它们可以很好地泛化,尽管泛化的方向对人类几乎没有意义。下图右侧显示了一些示例,从某种程度上可理解→扰乱图像只保留其纹理→完全不知所云。
导致捷径学习和模型泛化失败的关键问题是我们对任务的感知与它实际激励模型学习的东西之间的差异。那么我们该如何减轻这一问题,并提供对捷径学习的其他见解呢?
首先要认识到目前大多数基准测试有一个主要缺点:那就是在训练中,模型只对服从独立同分布的图像数据进行测试(i.i.d测试)。但是这种类型的测试往往导致模型有很弱的泛化能力,然而我们想要的是与人类的直觉大体一致的强大的泛化能力。
为了对泛化能力进行测试,我们需要良好的分布外(out-of-distribution )测试(即o.o.d.测试),这些测试具有明确的分布转移、明确的预期解决方案,并能揭示模型学习的“捷径”。
但是测试并不止于此:随着模型越来越好,它们将学会利用更微妙的捷径,因此我们设想o.o.d.基准也将随着时间的推移朝着越来越强大的测试方向发展。这种类型的“滚动基准”可以确保我们在模型开发过程中不会忘记最初的目标,而是不断地重新集中精力解决我们实际关心的潜在问题,同时增加我们对模型pipeline和捷径学习之间相互作用的理解。

4


如何超越捷径,抵达理解之路?

科学旨在理解。虽然深度学习作为一门工程学科在过去几年里取得了巨大的进步,但作为一门科学学科,深度学习在理解机器如何从数据中提取模式的原理和局限性方面仍然落后。
如何减少捷径学习,从而达到更深入的理解呢?这不仅与机器学习的当前应用领域相关,而且未来可能会有更多与其他学科交叉融合的机会,比如对经济学而言,如何设计管理激励措施才能不会因为奖励无意中的“捷径”行为而危及长期成功?或对法律而言又该如何创造没有“漏洞”捷径机会的法律呢?
然而不幸的是,我们很可能永远无法完全解决捷径学习问题。模型的决策总是建立在信息简化的基础上,因此泛化的失败是可以预料的:通过捷径学习的失败是常态,而不是例外。
为了增加我们对捷径学习的理解,甚至减少这种情况,我们提出以下五点建议:
(1)连接点:捷径学习无处不在
捷径学习无论是对于生物,还是对于人工神经网络来说,似乎都是学习系统中普遍存在的一个特征。许多深度学习的问题都是通过捷径学习联系在一起的,例如模型利用数据集的捷径机会,有可能只选择几个预测特征,而没有仔细考虑所有可用的证据,从而导致意外的泛化失败。但是受影响区域之间的“连接点”可能会促进成功,这些成功可以在不同的应用领域产生非常有价值的影响。
(2)仔细解释结果
在机器学习中发现“捷径”的时候,往往会发现一个看似复杂的数据集存在一个简单的解决方案。所以,在将 "物体识别 "或 "语言理解 "等高级能力归于机器之前,我们需要非常谨慎,因为这背后可能往往有一个简单得多的解释。
(3)测试o.o.d.泛化
与当前大多数基准测试一样,在独立同分布测试数据上评估模型性能是不足以区分预期和非预期(捷径)解决方案,因此,分布外数据集泛化测试将需要成为“惯例”而不是例外。
(4)理解解决方案容易学习的原因
DNN总是学习最简单的解决方案,但是如果要了解哪些解决方案是比较容易的,就需要分清结构(架构)、经验(训练数据)、目标(损失函数)和学习(优化)的影响,以及我们该如何对这些因素之间相互作用进行透彻理解。
(5)询问任务是否应该首先被解决
捷径的存在意味着不管任务是否得到充分证实,DNN通常都会找到解决方案。例如,人们可能会试图找到一条捷径,从敏感的人口统计学(例如肤色或种族)或从性别来评估信用评分。这些歧视和偏见是值得关注的,因为当机器学习应用于定义不清晰或有害的任务时,它可能会强化不正确的假设和有问题的关系。捷径可以让这些有问题的任务看上去完全可以被解决。然而,DNNs以高性能处理任务或基准的能力永远无法证明任务的存在或潜在假设的合理性。因此,在评估一项任务是否可以解决时,我们首先需要问到:它是否应该被解决?如果它真的应该被解决,是否又应该用AI来解决?
捷径学习解释了当前机器学习模型和人类智力之间一些最具显著性的差异,但具有讽刺意味的是,正是这种对“作弊”的偏好让神经网络看起来几乎和人类一样:谁从来没有通过记忆考试内容来偷工减料,而不是花时间在真正理解上?谁从来没有试图在一项法规中寻找漏洞,而不是坚持法律的精神?也许到最后神经网络和懒惰的人类没什么区别......
本文观点基于以下论文:
《Shortcut Learning in Deep Neural Networks》
https://arxiv.org/pdf/2004.07780.pdf
Via:https://thegradient.pub/shortcuts-neural-networks-love-to-cheat/

 
招 聘

AI 科技评论希望能够招聘 科技编辑/记者
办公地点:北京/深圳
职务:以跟踪学术热点、人物专访为主
工作内容:
1、关注学术领域热点事件,并及时跟踪报道;
2、采访人工智能领域学者或研发人员;
3、参加各种人工智能学术会议,并做会议内容报道。
要求:
1、热爱人工智能学术研究内容,擅长与学者或企业工程人员打交道;
2、有一定的理工科背景,对人工智能技术有所了解者更佳;
3、英语能力强(工作内容涉及大量英文资料);
4、学习能力强,对人工智能前沿技术有一定的了解,并能够逐渐形成自己的观点。

感兴趣者,可将简历发送到邮箱:jiangbaoshang@yanxishe.com
击"阅读原文",直达“KDD交流小组”了解更多会议信息。
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/71830