多年坚持为深度学习泼冷水的纽约大学心理学教授马库斯老师(Gary Marcus),今天终于写了一篇长长的文章,将自己的对深度学习的看法全面、系统地阐述了一遍。
在他长达27页(含参考文献)的文章“深度学习的批判性评价”中,马库斯回顾了深度学习这5年来的复兴历程,更重要的是,指出了深度学习目前面临的十大挑战。
这篇论文Deep Learning: A Critical Appraisal发布在arXiv上
地址:https://arxiv.org/abs/1801.00631
马库斯身兼畅销书作家、人工智能领域创业者、纽约大学心理学和神经科学教授等多重身份,还在他的公司Geometric Intelligence被Uber收购后,在Uber担任过AI实验室的负责人。
他关于深度学习局限性的论述,可以追溯到2012年这波浪潮刚刚回归的时候。最近,他依然活跃,和LeCun辩论、在哈萨比斯讲AlphaZero时提出质疑,观点都很犀利。
量子位将马库斯最新论文中的要点梳理、介绍如下(跳过了深度学习科普部分):
深度学习的局限始于我们生活中的一个反差:我们所生活的世界,数据从来都不是无限的。而依赖于深度学习的系统,通常必须泛化到它们见过的特定数据范围之外,可能是词的新发音、陌生的图像,在这些地方,数据远称不上“无限”,形式证明保障高质量的能力更是局限。
我们可以认为泛化有两类,一类是已知样例之间的插值,另一类是越过训练样例边界的外推。
要让神经网络很好地泛化,通常必须有大量的数据,而且测试数据必须和训练数据相似,这样才能在旧答案之间插入新答案。在2012年Hinton带领学生们夺取ImageNet冠军的论文(Krizhevsky, Sutskever, & Hinton, 2012)中,训练一个6亿参数、65万节点的9层卷积神经网络,用了来自1000个不同类别的,大约100万个不同样例。
这样的蛮力在ImageNet那样的有限世界中很管用,所有刺激物都能被分到一个类别中。在语音识别那种稳定的世界中也不错,样例都能以一致的方式被映射到有限的语音类别上。但是,深度学习还是无法被视为人工智能的通用解决方案,这有很多原因。
现在的深度学习系统,面临着这10大挑战:
那些抽象的关系,人类依靠明确的定义,很容易就能学会。但深度学习不具备这种通过语言描述的清晰定义来学习抽象概念的能力,在有成千上万、上百万甚至几十亿训练样例的时候,才最好用。
在学习复杂规则这件事上,人类比深度学习系统高效得多。
Geoff Hinton也在最近的Capsule Networks论文中,表达了对深度学习系统依赖于大量标注数据这个问题的担忧。
要知道,“深度学习”中的“深”,指的是技术上、架构上的性质,也就是堆叠了很多隐藏层。这种“深”,并不是说它对抽象的概念有深刻的理解。
比如说DeepMind在用深度强化学习玩雅达利“打砖块”游戏的那项研究说,“在240分钟的训练后,(系统)发现在墙上打一条隧道是获取胜利的最有效方法。”但实际上,系统并不知道什么是隧道、什么是墙,它所学会的,只是特定场景下的一个特例。
这可以通过迁移测试来检验,也就是给深度强化学习系统提供一些和训练环境有细微差别的场景,看它们表现如何。对场景稍加改动,比如说调整球拍的高度、在屏幕中间加一道墙,DeepMind用来打雅达利游戏的升级版算法A3C就无法应对。
系统没有学到“墙”的概念,它只是在一小类充分训练的场景中,逼近了“打破墙”这个行为。深度学习算法抽象出的模式,也通常比它们看起来更加肤浅。
乔姆斯基不断地强调,语言有着层级结构,大的结构部件是由小部件递归构成的。但是,当前大多数基于深度学习的语言模型都将句子视为词的序列。在遇到陌生的句子结构时,循环神经网络(RNN)无法系统地展示、扩展句子的递归结构。
这种情况在其他需要复杂层级结构的领域也是一样,比如规划和电机控制。
而深度学习学到的各组特征之间的关联是平面的,没有层级关系,是一个核心问题。
当系统无法呈现“John promised Mary to leave”和“John promised to leave Mary”之间的细微差别,也就无法推断出谁要离开谁,或者接下来会发生什么。
在斯坦福问答数据集SQuAD上,如果问题的答案包含在题面文本里,现在的机器阅读阅读理解系统能够很好地回答出来,但如果文本中没有,系统表现就会差很多。也就是说,现在的系统还没有像人类那样的推理能力。
虽然这方面也有一些研究,但目前还没有深度学习系统能基于现实知识来像人类那样准确地进行推理。
过去几年来,神经网络的“黑箱”性质一直很受关注。但是这个透明性的问题,至今没有解决,如果要把深度学习用在金融交易、医学诊断等领域,这是一个潜在的不利因素。
很大程度上正是因为这种不同命,先验知识很难整合到深度学习系统中。
机器学习领域中有不少像Kaggle上那样的竞赛,这些竞赛通常要求参赛者在给定的数据集中取得最佳结果,问题需要的所有相关输入和输出文件都被整齐地打包好了。问题是,生活不是一场Kaggle竞赛,孩子们无法在一个字典中得到打包好的所有需要的数据,只能通过现实世界中零星的数据持续学习。
因为缺少先验知识,深度学习很难解决那些开放性问题,比如怎样修理一辆绳子缠住辐条的自行车?我应该主修数学还是神经科学?这些看似简单的问题,涉及到现实世界中大量风格迥异的知识,没有哪个数据集适用于它们。
这也说明,如果我们想让AI的认知灵活性达到人类水平,需要不同于深度学习的工具。
粗略的说,深度学习系统,学习的是输入和输出之间复杂的相关性,但是学习不到其间的因果关系。
一个深度学习系统可以很容易的学到:小孩的身高和词汇量是相互关联的。但并不掌握身高和词汇量之间的因果关系,其实我们很容易知道,长高并不见得增加词汇量,增加词汇量也不会让你长高。
因果关系在另外的AI方法中是核心因素,但深度学习这个方向上,很少有研究试图解决这个问题。
深度学习的这套逻辑,在高度稳定的环境下表现最佳,例如下棋这种博弈,其中的规则不会改变,但在政治和经济生活中,不变的只有改变。
如果你用深度学习去预测股价,很有可能重蹈Google用深度学习预测流感的覆辙。期初Google干得很好,但是完全没有预测到后来的流感高发季到来。
深度学习在一些特定领域表现出色,但也很容易被愚弄。
已经有很多这方面的研究了,只需要做一些简单的手脚,就能让同一副图片彻底搞蒙深度学习系统。有时候甚至不用动手脚,它们自己就能认错。
比如认错停车标志、乌龟变枪、沙丘变裸体等,你们可能都见过了。
最后一个问题,深度学习很难稳健的实现工程化。
很难保证机器学习系统在一个新的环境下有效工作。此前Leon Bottou还把机器学习与飞机建造进行过比较,他指出虽然飞机结构复杂,但可以通过简单的系统入手逐步构建出复杂系统。机器学习系统就无法做到这一步。
而Peter Norvig也曾表示,机器学习与经典的编程相比,仍然缺乏渐进性、透明性和可调式性,这让它在实现稳健性方面面临挑战。
https://arxiv.org/ftp/arxiv/papers/1801/1801.00631.pdf
在文章的最后,马库斯老师又提到了他2012年在《纽约客》写下的那篇略带悲壮的专栏文章《“深度学习”是人工智能领域的一次革命吗?》,欢迎回顾~
https://www.newyorker.com/news/news-desk/is-deep-learning-a-revolution-in-artificial-intelligence
这篇文章中提到,很可能“深度学习仅仅是构建更大智能机器的一部分”,尽管深度学习在语音识别、机器翻译、棋类游戏等特定领域已经出现大的进展,尽管基础设施、数据和可用算力数量的增长也让人印象深刻,但许多五年前提出的忧虑现在依然存在。
他还提到了越来越多的学者带着不同的视角面对这些问题,并开始强调类似的限制。以及早先就开始关注这些问题前辈们,比如Brenden Lake、Marco Baroni、Francois Chollet、Robin Jia、Percy Liang、Dileep George和Pieter Abbeel等人。
这些前辈中,最受关注的当属Geoff Hinton,他已经足够勇敢重新考虑自己的信仰。去年8月,Hinton在美国媒体Axios的采访中表示“深深怀疑”反向传播,并开始担心这种方法过于依赖标记数据集。同时,Hinton建议“可能必须创造全新的方法了”。
他说:“我期待这让Hinton兴奋的领域接下来会发生什么。”
他的置顶Twitter,也是对Hinton的赞同。
— 完 —