一、目前所做研究:人工智能算法、大规模商业应用以及各类人工智能方法的整合
很多实际问题不是非黑即白的,而是有很多中间状态,我们在做一些比较大型的研究,将很多层神经网络(包括时空上联合的深层)与其他方法结合起来去应对这些不确定性。
机器之心:您能否介绍一下目前在微软研究院做的人工智能方面的研究,您在语音识别领域获得了巨大成功,除此之外还在做其他方面的研究吗?
邓力:总体来说,人工智能的各项研究我和我在研究院的团队都在做。首先,语音识别和语言模型我做了很多年,图像描述(Image Captioning)和有关多媒态近年来也在深入研究。 图像描述就是给出一个图像,机器可以写出语法标准的句子来描述它,而且相当准。我的一支团队去年用了一个类似于「图灵测试」的方法进行测试,结果有32%的情况大家分不出哪些是机器自动写的,谷歌同类系统的结果是31%,和我们差不多,人类是67%,这个技术在若干年后可能会达到人类水平。
微软研究院的「图像描述(Image Captioning)」,来源:邓力在 IEEE-ICASSP 演讲用的 PPT 和微软美国研究院 CVPR-2015 论文「From Captions to Visual Concepts and Back」。
其次,我们现在做算法方面的研究比较多,包括语音识别和自然语言理解算法、增强学习算法等,以及如何将增强学习和其他机器学习方法整合在一起;如何将生成性深度学习和无监督学习进行融合, 等等。
第三是涉及人工智能在商业方面大规模实际应用。我们在研究具体问题要用什么样的深度学习和人工智能方法来解决并怎样采用最有效的方式。
而最重要的研究方向,是如何将大数据、深度学习以及人工智能各种方法整合在一起,使得机器学习和人工智能更加有效,而且对数据的要求也不能大到现实应用场景提供不了的地步。
总之,不管是方法研究还是应用研究,我们都是在做一些比较大型的和前沿性的研究,比如如何将很多层神经网络与其他方法结合起来去应对解析性(explanability)以及应对各种不确定性(uncertinty),因为很多实际问题不是非黑即白的,而是有很多中间状态,如何将这种概念与神经网络结合起来,人工智能在这方面的研究还做的比较少。但现实世界中其实有很多的不稳定性和不确定性,如何在这种不确定的情况下做出最优决策?这就需要将深度学习其他方法整合在一起,然后才能做出适合真实世界的各类人工智能应用,包括语音、图像、自然语言、翻译,商业数据分析和 insight distillation 等。
机器之心:长短时记忆模型(LSTM)在研究中是否发挥了很大作用?
邓力:是的,我们是在使用这个方法,但我认为目前的长短时记忆模型还不够,它实际上还是个短时模型,用比较简单和非严谨的方法把「短时」(short term)慢慢加长,但加长一段时间之后通常不够有效,所以还需要其他更严谨的方法,包括记忆网络(Memory Network),神经图灵机(Neural Turing Machine)等。这些都是很有效的方法,我们目前也在研究比这些更进一步的方法。
机器之心:您平时会思考一些人工智能哲学方面的问题吗?比如说机器意识之类的。
邓力:我觉得机器意识离我们太远了。我与其想那些,还不如多花些时间在深度学习算法和架构研究上,刚刚提到的无监督深度学习就值得我花大量时间去研究了。
二、个人的人工智能研究历程以及与 Geoffrey Hinton 的合作
这是当时我和 Hinton 合作研究的一部分内容,把隐马尔科夫模型和深度神经网络结合起来,并取得了比较好的初步表现。
机器之心:您本科是学神经科学,后来是如何进入到人工智能领域的?能否介绍一下您和 Geoffrey Hinton 合作过程吗?
邓力:我在中科大本科学习神经科学和物理学,后来到美国研究听觉神经系统与其计算模型。1985 年底还在做博士论文的时候,我用物理模型和神经模型来做听觉模拟,但当时的神经网络算的太慢。当时我也尝试过把生物模型的特征提取出来丢到隐马尔科夫模型里,结果很不理想,因为它们不是成熟的能够相匹配的系统。后来我发现纯统计方法更有用,从 80 年代中末期到深度学习出来之前,我做了很多研究,包括计算人工神经网络。但到了 90 年中末之后贝叶斯统计模型更加流行。
1993-1994 年左右还在加拿大滑铁卢大学当教授的时候,我和我的一位博士生合作了一篇非常漂亮的论文,当把线性的项加到非线性的项之后,可以增强神经网络的记忆能力。并且我做了很多数学上比较严谨的分析为何记忆能力可以增强。那时电脑的计算能力不够,模型做的很简单,但这是一套完整的系统,但当把这个结果真正用在语音识别上时,却还是没有大大超过隐马尔科夫模型的方法。
那时,我为这个博士生论文答辩找的 External Examiner 就是 Geoffrey Hinton,他过来后看到我们的研究就说神经网络真是太难了。但这个博士生还是拿到了博士学位。因为这次的研究结果,我就很长之后不做神经网络研究了,开始完全转向贝叶斯统计方法和生成模型 (Generative Models)。
现在大家因为深度学习对 Hinton 和神经网络比较关注,但实际上他的很多方法也是基于生成模型,比如说深度信念网络(DBN),它并不像传统的神经网络,而是一种从上到下的生成模型。最顶上是两层双向(从上到下和从下到上)的生成模型,然后完全从上到下生成数据。最底层代表了数据向量 (data vectors)。
之后我在微软研究语音识别。在有效的深层神经网络学习方法发明之前,我用贝叶斯网络方法把隐马尔科夫模型(顶层)和 人类语音生成模型相结合并设计了很多层次。多层次是必须的,因为目的是要把重要的物理现象模拟出来。隐马尔科夫模型只是模拟了对大脑对声音的编码这个行为,但整个过程中还包括肌肉运动控制、口腔内声道运动等环节,最后通过声学转化才能变成语音,这就需要许多层,包括对噪音环境的模拟。但这种多层结构不见得就一定是神经网络,用深层生成模型能更自然地实现。
当时(2002-2006)我在微软领导一支小团队在这方面做了很多研究工作。那时相对比较有效的理论就是贝叶斯网络与相应的方法。但关键在于,如果层数很多,并且在动态过程中进行语音识别时,它的学习和推断过程很难驾驭。就是说,增加层数后带来的计算复杂度呈指数级增长。我们发明了很多方法来近似指数级增长的计算。近似之后结果还不错,但是比精心设计和调制的隐马尔科夫模型在准确率上没有非常大的进步,但计算量却大得非常多。
后来我就看到了 Hinton 2006 年关于深度信念网络的论文(注:《A fast learning algorithm for deep belief nets 》)。当时我就很奇怪,他的这个生成模型也是很多层,为何没有出现这些问题?2009 年,我请 Hinton 来微软讨论这个问题,就发现深度信念网络比较容易的原因是它不涉及动态。我们就把严谨的动态模型去掉,但把时域上的向量数加大来近似严谨的动态模型,最后的简化模型给出的结果还不错。但另外一个问题是,即使用了简化的动态模型,有很多层的深度生成学习仍然需要很大计算量。于是我们就想到了下一个巧妙的方法:把生成模型倒转方向 --- 在语音识别中我们有许多打好标签的数据,我们就可以使用自下而上的神经网络而不是自上而下的生成模型。 这实际上就成为深度神经网络与隐马尔科夫模型结合的雏形。最后的实验结果就让人满意了,而且学习的过程也更加可控。
邓力与 Geoffrey Hinton 合办的 NIPS Workshop 《Deep Learning for Speech Recognition and Related Applications》,首次将深度学习用于语音识别。图片来源:邓力演讲 PPT。
这是当时我和 Hinton 合作研究的一部分内容,把隐马尔科夫模型和深度神经网络结合起来,并取得了比较好的初步表现。但是所用的一系列近似产生了其他问题。比如,发音系统的运动是产生语音的一个因果机制(causal mechanism),但神经网络无法模拟这种关系。 所以这种深度神经网络失去了大部分的解析性。这在语音识别应用上问题不算太严重。但在我现在领导的很多其他更重要的应用上, 问题就严重得多。所以我们在做多方面很深入的研究来推进改善现有的深度学习方法。
这种方法整合和创新的思路同样可以用于无监督学习。我在这方面想了很多,与团队成员一起工作,经验也积累了不少。
机器之心: 您和 Hinton 合作了很长时间,他对您有什么启发吗?
邓力:他非常好,我从他身上学到了非常多东西。他对科学充满了激情,而且有着非常好的洞察力,特别对类脑算法的研究非常深入。记得上次同他讨论的整个小时谈的都是类脑算法。过去在和他合作的过程中我收获很大,也希望将来能有机会和他继续合作。
邓力和 Geoffrey Hinton,图片来源:微软研究院。
三、对人工智能研究现状和未来进展的看法
将来人工智能的成功一定是不同种类方法的整合,就像人一样,拥有各种思维方法的完整系统,应该很自然的把神经网络方法、贝叶斯理论方法, 符号式逻辑推理等其他理论方法整合在一起。
机器之心:从 NIPS 2015 来看,不同神经网络之间的模块化组合越来越多,您如何看待这种趋势?
邓力:现在人工智能之所以这么成功,就是因为模块化,可以把不同成功的工具和方法整合在一起。比如在复杂的神经网络里,以前大家没有为训练用的自动求导工具,要花大量时间做求导和程序开发及调试工作。有了这些模型组合和工具之后,您只需要训练输入数据,训练结果就出来了,训练也就完成了,省了很多工程量。所以这种趋势对以深度神经网络为主的人工智能快速发展非常有利。
机器之心:目前序列映射学习(sequence to sequence learning)的效果非常好,它在应用中还有哪些局限吗?
邓力:所谓 sequence to sequence,最早(一年半前)Google Brain 研究人员用在机器翻译时是基于用一个「thought vector」来对整个输入句子进行编码。 但是它的记忆(memory)不够好,后来加上了注意模型(attention model)来弥补记忆不足的问题,所以现在的机器翻译用了注意模型之后已经比之前序列映射学习有了很大提升。我觉得这个方法还不错,但是更好的方法是把记忆能力进一步提升。总之,sequence to sequence 是一个很好的方向,而更好的方向是 structure to structure。
机器之心:您认为在深度学习研究中还面临着哪些亟待解决的问题吗?比如 Yann LeCun 和 Yoshua Bengio 就一直强调说,需要在无监督学习方面取得突破。
邓力:我也在去年夏天就看到这个重要问题有解决的希望。目前我们团队花了很多精力在做有自己特色的无监督学习,但这方面的研究确实比较难做。目前在我们团队之外我看到大家的想法不少但还没有很大的思想突破,我所看到的资料里都没有实质性的进展。
把无监督学习做好是一个很大的挑战,而我们独特的的解决办法依赖于四种知识源泉。1)没有标签也不要紧,因为人类学习也不见得每次都有标签。在没有标签的情况下你就要利用知识,知识应该很容易并几乎不花钱得到,因为很多知识都是现成的,比如说标签的统计特性。现在的机器学习、语音识别和图像描述都可以使用这种统计特性,从取之不尽、用之不竭的互联网和其他大数据中抽取出语言序列的统计特性。这就是说,我们是把输出部分的结构挖掘出来并巧妙地利用它。2)把输入数据的统计结构模拟出来并加以利用。3)模拟并利用从输出(标签)到输入的关系,这个任务是传统神经网络很难做的了,只能依靠与深度生成模型(Deep Generative Modeling)。4)从输入到输出的关系,这个任务是目前神经网络非常擅长的。如果把四种知识源泉全部巧妙地用上,就有可能解决无监督学习问题。所以,要解决无监督学习问题,现有的深度神经网络方法是不够的。
深度无监督学习的要点,来源:邓力演讲 PPT。
机器之心:虽然目前深度学习越来越强大,但之前传统的线性方法和深度学习之间是否也应该是相互补充的关系?
邓力:相对简单的问题可以用线性方法,比较复杂的问题就要用深度学习非线性方法。但有时线性方法也会帮助帮助非线性深度学习方法。比如我开始给你讲的我同我的博士生 1994 年发表在《Neural Networks》上的论文——将线性项加入非线性项会提高原先非线性时间序列的时序记忆能力(temporal correlation structure)并给出严谨的数学分析。 又比如我的同事们近期所研究的 深度残差网络(deep residual networks) 多层结构,还有我和团队在 2011-2013 期间所研究的 deep stacking networks 与 deep kernel networks 都是通过线性方法和非线性方法结合在一起的。所以线性方法还是很有用的,应该成为深度学习的一部分。
机器之心:有研究者称目前的深度学习需要的数据量太大。纽约大学的 Gary Marcus 一直在批评深度学习,他认为应该像婴儿一样通过极少数案例就能完成学习。另外,根据 Brenden Lake 等人在《Science》发表的论文《Human-level concept learning through probabilistic program induction》,使用贝叶斯程序学习的方法让机器很快就能学会陌生字符,解决了特定任务下「one shot」学习的问题。深度学习是不是也应该和其他方法结合起来,来应对不同的数据量?
邓力:我同意,如果是少量数据的话,神经网络不见得是最好的。将来人工智能的成功一定是把不同方法的整合,就像人一样,人的不同的学习方法也很难明显的区分开来,这是一个完整的系统,应该很自然的把神经网络理论、贝叶斯方法等其他理论整合在一起,这样就和人类大脑有点像了。
人工智能未来研究的挑战,来源:邓力演讲 PPT。
这个实现之后,遇到大量数据就使用从下到上的神经网络方法,遇到少量数据就使用从上到下的生成模型,但最好的是将两个过程循环使用。就像人脑一样,白天是从下到上,看到东西听到声音产生感觉;晚上从上到下,做梦生成,不好的东西丢掉,好的东西储存进入记忆。人类不断重复这个醒与睡和睡与醒的过程,而我们的训练方法也应该这样,又有感知,又有生成。目前的深度神经网络还比较简单,信息主体上是从下到上,还无法做到以上那种循环。
我读过 Brenden Lake 等人在《Science》发表的这篇很强的论文。他们的实验显示,单单靠从下到上的神经网络是无法完成类脑的人工智能的。
机器之心:接下来人工智能的研究是否要从神经认知科学领域获得越来越多的灵感?
邓力:我是很赞成这个,但要非常小心。Gary Marcus 属于人工智能和认知科学流派中的符号主义,符号主义可以做推理,但比较难做学习。我和团队同一些大学教授合作,现在的很大一部分工作是如何将符号处理的推理跟深度神经网络整合在一起,使得符号处理可以用深度学习的方法来完成。这个研究课题就是从认知科学领域的核心问题启发出来的。
从整个人工智能体系的方法和认知科学来看,符号处理和推理属于一派(Symbolists);神经网络属于联接主义(Connectionists);第三个是基于统计学的贝叶斯方法(Bayesians);第四种是演化理论(Evolutionaries),但这个实在太慢了,离产业比较远。第五种叫做类比学习(Analogizer),但类比学习有自己的局限性,数据大了之后无法规模化,但是在某些情况下还是可以用。
我觉得到最后这些方法应该全部整合在一起,生成一个非常漂亮、统一的理论,不管遇到各种数据量、各种场合都可以处理。但是从研究来看,不可能五个一起做,我们是两三个整合一起。这个是基础研究,研究到一定程度如果好用,我们再把它应用。
机器之心:之前的自然语言处理、语音识别会基于规则、语法等语言学理论,现在的深度学习研究者是如何看待 Norm Chomsky 语言理论的?
邓力:我认为 Chomsky 语言学理论的一部分还是有用的。为什么呢?像刚才讲的那个贝叶斯程序学习的「one shot leanrning」实际上就和 Chomsky 的理论有点像。所以这个是不能丢掉的,尤其是要做无监督学习的话。当数据少甚至没数据或他们的标签的话,我们就需要知识库。当您想要把标签丢掉来做学习(这会节省巨大资源所以很有实用价值),这些知识库应该都要加进来。至于如何添加,也不是按照以前的方法,而是将其作为一种知识源加进去。我觉得完全丢掉这样一个如此重要的研究成果太可惜了,Chomsky 语言学确实有它的道理,但最大的局限性在于它不重视学习而把语言结构知识归于天赋(innate)。 因此,如果将 Chomsky 理论和深度学习进行整合的话会最好。
机器之心:DeepMind 创始人 Hassabis 曾表示,他们所研究的深度增强学习是要实现一种通用的解决方案,您在演讲中提到增强学习其实解决的是决策最优化的问题,那它将来的应用是不是非常广泛?
邓力:这两者是一致的。决策最优化的问题就是要解决采取什么样的方案才能取得长期的最佳利益。这是非常通用的。这个问题也可以看成用现有的观察数据(状态变量)来「推测」什么是现时的最佳行动。这里并没有在有监督学习中提供的「标签」信号, 而且需要做有监督学习中不需要的探索(exploration)。
以前的增强学习在实际应用上无法很好的工作,是因为状态空间 (state space) 很大,只能做一些小规模的基础研究,太大的状态空间会带来更多的指数型增长的参数,就无法进行学习。而近期由 DeepMind 带来的深度增强学习的突破在于把很大的状态空间用深度神经网络表达出来,而不是像传统方法一样把几乎无限大的所有空间模拟出来。比如 DeepMind 研究的 Atari 游戏,状态空间极端的大。在 DeepMind 引入深度神经网络之前,传统的增强学习方法无法处理。以前也有过用线性方法将状态空间成一个低维向量,但这样太粗浅。深度增强学习把这种机制变成可生成,而且很大,在这种情况下就可以用深度神经网络计算出来的向量把很大空间上的信息吸收进来,而且我们有了很强的学习方法。因此,现在增强学习的成功就是深度学习成功的强有力的证明。
讲到决策最优化和深度增强学习, 我的团队现在还有一个研究就是基于自然语言的人机对话。以前的对话方法很难做成,但我认为深度增强学习会使得人机对话研究有所突破。
四、给人工智能从业者的建议
如果你想要做很实际的应用,就要看准现在已经很成功的方法;如果你想去推动这个领域的发展,做一些非常前沿的研究,那在机器学习和人工智能的基本功方面就要有深厚积累。
机器之心:您在人工智能和语音识别领域有着丰富的研究经验,取得了令人瞩目的成绩,微软研究院也非常注重人工智能基础研究,希望推动行业发展。在人工智能研究方面,您能否给国内的研究者提供一些建议?
邓力:据我所知,国内有很多公司和研究机构在这方面已经做的很好了,比如科大讯飞、百度、思必驰和出门问问等在语音方面就做的非常好。
微软有着比较好的研究条件,而且作为一家大公司想做比较前沿的技术研究,以影响整个科技发展的潮流。我所主持的工作一大部分是在做这方面研究,就是多次提到的把不同种类的人工智能方法整合起来并从中开拓创新领域。所以从这个角度来讲,我感觉这方面的基础研究一定要做好,这样才能够影响人工智能的发展,甚至是科技的发展。国内在这方面好像缺少了一点。
机器之心:他们之所以缺少这些东西,是因为没有像微软、谷歌这么好的硬件条件?还是说在研究的文化和理念上有一些缺失?
邓力:我觉得更多的在于理念上可能不太一样,但现在中国显然比以前好多了,因为有很多从国外回来的研究人员,他们将这种理念带回了国内,所以中国在这方面的观念正在改变。
13 年前有本书叫《成长——微软小子的教育》。 当时李开复安排我跟作者凌志军会谈,志军问了我一模一样的问题,我的回答是中美之间在教育和思想方式有很大区别。我现在已经改变了这一点,从教育上讲,中国确实不比美国差。中科大、清华北大这些学生的成绩非常好。我当时从科大毕业去美国读研究院,我的导师认为我本科毕业时掌握的知识是美国硕士才可以学到的。但我觉得可能还是缺乏一些灵感和想象力。
我举个例子,这个例子好像在凌志军的书上也出现过。在一次 IEEE-ICASSP 会议上,国内一位语音专家问我,为什么你们北美教授写的论文都是很新的东西?那是 20 年前,每次会议的论文集都特别厚,我们的方法是在开会时记录一些重要的东西,然后经过思考去做一些新的东西,而这位中国教授则是把这 1000 多页的资料带回国,每天打太极拳打累了就看几页,一年 365 天刚好看完。当时我就想,难怪在科研上很难创新,把时间都花在了去年的研究成果上。这可能和中国的文化有关系——一定要把现有的东西学习透,然后才去做创新。但有时不需要这样,你要把不重要的东西丢掉,把核心信息提取出来,这样才能更好的创新。不然你连发现哪些是前沿研究的时间都没有。我现在通过媒体获取信息也是这样,不重要的东西要立刻忽略掉。所以判断力很重要。
做科学研究一定要找到最正确的方法。比如刚才提到的无监督学习的重要性,我很早就知道无监督学习很重要,但找到解决的办法是很困难的。你要不断尝试,从失败中吸取教训,在这个过程中一定要看准大的目标,把一些没用的过滤掉。
机器之心:现在有越来越多的人工智能工具开源,而国内的公司又比较注重商业,缺乏做底层创新或基础研究的文化。那开源是否会助长「拿来主义」,使他们把更多的精力放在商业应用上,而更加忽视了基础研究?
邓力:我的意思正好相反。开源并不是说你拿来之后就可以直接用,有开源工具是会使你创新更快。之前我要设计一些算法,我都不敢把神经网络架构和算法设计的太复杂,因为实习学生的实习时间通常就 3 个月,架构和算法太复杂就可能会在有限期内完成不了指定的项目。而现在我就敢把神经网络架构和算法做的很复杂了,因为有了这些开源工具,我们把几个模块搭好,学生就不用一个个去推导了,可以直接获取结果。所以,并不是大家都依赖开源而不去思考新的东西,而是开源以后会让你更有胆量去做更复杂的模型。再拿无监督学习举例,开源大大加快了我带领团队的研究速度。所以,开源确确实实对深度学习的进展起了一个非常大的推动作用。越多开源越好,因为开源的主要好处是大家集体贡献,形成一种良好的生态圈, 并同时推动更快速地实验检验人工智能方法的有效性。
机器之心:微软在人工智能技术应用上也做到非常出色,包括实时翻译、图像识别等工具,在人工智能技术应用方面,您有没有一些心得或者建议给到国内的人工智能公司?
邓力:实际上我们微软在人工智能技术应用上的很多重大进展尚未对外公布。至于心得或者建议, 我想说的是做人工智能研究和应用的技能有几个层次。最底层的技能就是把各种方法弄懂,知道它们各自的局限性。第二层的技能就是把各种工具用熟练,看到问题后马上匹配相应工具,这样就可以把模型做大,解决更难的问题。第三层技能是,要知道在具体领域中哪些方法可以用,哪些方法不可以用。比如说,过去几年内我做了大约20 方面的深度学习和人工智能应用,然后一边看应用一边看数据,理解数据的性质,理解数据多还是少,是否有标签,标签是否干净可靠,要弄清楚这些因素如何影响深度学习方法的有效性,这是需要长时间积累的。因为目前深度学习还没有一个非常漂亮的理论,所以还无法非常明确的解释什么情况下可以得到什么结果。所以我认为,如果想要做很实际的应用,就要看准现在已经很成功的方法;如果你想去推动这个领域的发展,做一些非常前沿的研究,那在机器学习和人工智能的基本功方面就要有深厚积累,只有这样你才能知道不同方法的优势和局限。
机器之心:去年发生了一个事情,机器在解释图片时把一对黑人夫妇标记成了大猩猩,这种问题对于我们做后续研究会带来哪些启示吗?
邓力:我觉得这个问题暴露出了人工智能的一些缺点,这就像 AlphaGo 输掉一局一样,你经历过这些错误之后就学会了这种方法的局限性, 然后开拓新方法新理论。以后公司对此要格外小心,并且我们要从这类错误中吸取教训,这样人工智能就会更少的犯这种错误,这种反复会使人工智能有新的提升和突破。其实这种政治性的错误还是很容易避免的---只要把一些敏感词除掉。
机器之心:您在日常研究和学习过程中,有哪些获取信息和阅读的技巧和方法吗?
邓力:我主要是在 Facebook、Google+ 上关注一些优秀的研究者,包括 Yann LeCun、Geoffrey Hinton 和 Yoshua Bengio 等,然后设置一些信息推送。NIPS,ICML,JMLR,arXiv 上都有很新很好的工作进展,偶尔 Science 和 Nature 也会有。 另外,也会通过微信阅读一些中文内容,希望有更多的机会读机器之心的相关中文内容。
致 谢
采访稿完成后,邓力研究员在百忙之中拿出了几个小时的时间,非常严谨的对涉及人工智能理论和技术细节的内容做了确认和补充,以保证读者获取更加准确和翔实的知识。在此,对邓力研究员表示由衷感谢!同时,也感谢阿尔法公社邀请机器之心参加此次会议,并积极促成了本次专访。