JasonZhangOO 2018-01-04
昨天,纽约大学教授、Uber AI实验室前任主管Gary Marcus抨击当前的深度学习过于肤浅的文章在国内流传甚广。
但跟Marcus同为纽约大学教授的Yann LeCun却不以为然,就在刚才,他转发了前美国人工智能协会主席Thomas G. Dietterich反驳Gary Marcus的推文,以表达观点。
Dietterich对Marcus长文深感失望。对于Marcus所提的深度学习十大难题,Dietterich连发十条推文来进行反驳,AI科技大本营第一时间摘录并翻译如下:
“对于Gary Marcus的文章表示失望。他不光很少提及深度学习业已实现的成果(比如自然语言翻译),还经常贬低深度学习的其他成就(比如他说拥有上千类别的ImageNet数据集很小,他的用词是“非常有限”)。1/”
“深度学习可以同时学习表征和映射。深度机器翻译读取源语句后,会在内存中学习它的表征,而后来生成输出语句。它比过往的人工智能方法所能产生的任何效果都好。2/”
“Marcus抱怨深度学习无法进行推理,但目前无论哪种人工智能也都做不了推理。从X到Y的推理过程,实质上更像是从X和Y的表示中找到使其看起来相同的插值。对于逻辑推理来说,这比起联结主义的方法更真实。3/”
“相比先前的任何学习方法,深度学习可以把表征学得更好。但我同意,这还只是学习更高层的抽象的很小一步,后者将使Marcus所要的各种“推理”成为可能。4/”
“对于最近解体表征方面的学习进展,我感到非常兴奋,特别是ICLR 2017上的beta-VAE,还有Achille和Soatto关于压缩与极小解缠的理论。5/”
“我对元学习方法也很有兴趣,它反映出来的是深度学习所学到的低层表征。可能这里的方法将有可能学到更为高层的抽象。6/”
“我相信,学到正确的抽象将是解决Marcus所提问题的关键,无论是对数据的无限需求、生成模型的脆弱性,还是无法推理、欠缺迁移能力。7/”
“深度学习本质上是一种新的编程形式,即“可微分编程”,且该领域正在以这种新的形式来创造一种可复用结构。我们已有的结构包括:卷积、池化、LSTM、GAN、VAE、记忆单元、路由单元,等等。8/”
“但是,没人认为我们已经形成一个完整的结构。还没有人能知道“可微分编程”的界限在哪里。但我们正在取得快速的进步,同时我们的理论知识也在不断提升。9/”
“当然,我们还需要更多的理论与更好的工程能力,但目前最重要的是,有太多太多很有前景的实验构想还需要我们去推进。完/”
关于Gary Marcus所批判的深度学习十大难题,AI科技大本营摘编如下:
1. 目前,深度学习依然需要非常多的数据
人类稍作尝试,就能学会抽象的关系,但机器做不到。它必须经过成千上万的训练,才能学会。
所以,在学习复杂规则这件事上,人类比深度学习系统高效得多。
AI大神Geoff Hinton最近也在其Capsule Networks论文中,表达了对深度学习系统一直依赖于大量标注数据这个问题的担忧。
2. 目前,深度学习还很肤浅,并没有足够的迁移能力
需要指出的是,“深度学习”中的“深”,指的是在技术上、架构上,有很多隐藏层。这个“深”,并不是指它对抽象的概念的理解有多深。
比如,DeepMind用深度强化学习玩“打砖块”游戏,其“在训练240分钟后,(系统)发现,在墙上打一条隧道对于获胜最为有效。”但这个深度学习系统,并不知道什么是隧道、什么是墙,它所学会的,只是特定场景下的一个特定动作。
不信,来测试一下:对场景稍加改动,比如说调整球拍的高度、在屏幕中间加一道墙,DeepMind用来打砖块的升级版算法就无法应对了。
因为系统并没有学到“墙”的概念,它只是在一小类充分训练的场景中,逼近了“打破墙”这个行为。深度学习算法抽象出的模式,往往是很肤浅的。
3. 目前,深度学习还不能以自然方式来处理层级结构
Marcus不断地强调,在语言层级结构中,大的结构部件是由小部件递归构成的。
但是,当前大多数基于深度学习的语言模型,都将句子视为词的序列。在遇到陌生的句子结构时,循环神经网络(RNN)无法系统地展示句子的递归结构。
而深度学习习得的特征之间的关联是平面的,并没有层级关系。
4. 迄今为止深度学习还无法进行开放式推理
当系统无法呈现“John promised Mary to leave”和“John promised to leave Mary”之间的细微差别,机器也就无法推断出谁要离开谁,或者接下来会发生什么。
在斯坦福问答数据集SQuAD上,如果问题的答案包含在文本里,那么机器的阅读理解系统就能够很好地回答。但如果文本中没有,系统表现就会差很多。
没办法,机器还没有像人类那样的推理能力。
5. 目前,深度学习还不够透明
神经网络的“黑箱”性质一直是过去几年人们讨论的重点。这个问题,对于深度学习在金融交易、医学诊断上,却是致命的。
6. 深度学习还未与先验知识结合
先验知识很难整合到深度学习系统中。
比如Kaggle竞赛,通常要求参赛者在给定的数据集获取最佳结果,参赛者争取在给定的数据集上,获取特定任务的最佳结果。
任意给定问题所需的信息都被整齐地封装好,其中包含相关的输入和输出文件。但问题是,生活不是Kaggle竞赛,孩子们无法在一个字典中获取打包好的所有数据,只能在现实世界中零星的持续学习。
深度学习在语音识别这种有很多标记的问题上非常有效,但却很难解决开放性问题:比如,如何把卡在自行车链条上的绳子挑出来?我专业该选数学还是神经科学?训练集不会告诉我们。这些看似简单的问题,涉及到现实世界中大量的知识,没有办法提供给机器相应的数据集。
因此,想让AI的认知能力达到人类水平,还需要其他工具。
7、目前,深度学习还不能区分因果和相关关系
深度学习系统,学的是输入和输出之间相关性,但是学习不到事物原本的因果关系。
比如,一个深度学习系统可以很容易的发现:小孩的身高和词汇量相互关联。但系统并不掌握身高和词汇量之间的因果关系。但人很容易知道,长高并不见得增加词汇量,增加词汇量也不会让你长高。
8、深度学习假定世界大体稳定,但实际上并不是这样
深度学习的逻辑,在高度稳定的环境下表现最佳,例如下棋,其中的规则不会改变。但在政治和经济生活中,规则不是恒定的,因此效果就不好了。
如果你用深度学习去预测股价,很有可能会重蹈Google用深度学习预测流感的覆辙。最开始,Google能预测流行病学数据,但最后完全没有预测到2013年的流感高发季。
9、目前,深度学习只是一种近似,答案并不完全可信
虽然深度学习在一些特定领域表现出色,但仍然很容易被愚弄。
有时候,只需要动一些简单的手脚,甚至不动手脚,就能让同一副图片彻底搞晕深度学习系统。
10、目前,深度学习很难在工程中使用
机器学习在某些有限的环境中工作,相对容易。但总是处在全新的数据环境中,就难实现工程化了。
此前Leon Bottou把机器学习与飞机引擎进行过比较,他指出虽然飞机结构复杂,但可以通过简单的系统入手逐步构建出复杂系统。机器学习系统就无法做到这一步。
而谷歌Peter Norvig也曾表示,机器学习与传统编程相比,仍然缺乏渐进性、透明性和可调式性,所以,要实现深度学习的稳健,还需要面临方方面面的挑战。