炼数成金 门户 商业智能 人工智能 查看内容

微软AI首席科学家邓力:图文并茂回顾十年AI路

2016-10-25 10:23| 发布者: 炼数成金_小数| 查看: 21821| 评论: 0|原作者: 邓力|来自: 微软研究院AI头条
摘要: 10月18日,微软人工智能首席科学家邓力在北京出席世界人工智能大会并发表演讲,回顾了最近十年AI的发展,包括难点和突破,提出了值得特别关注的动向,其中之一是美国白宫最近发布的人工智能报告,单独把deep learnin ...
网络 模型 神经网络 深度学习 人工智能 方法
10月18日,微软人工智能首席科学家邓力在北京出席世界人工智能大会并发表演讲,回顾了最近十年AI的发展,包括难点和突破,提出了值得特别关注的动向,其中之一是美国白宫最近发布的人工智能报告,单独把deep learning列了一个标题。

今天在这里向大家介绍微软的一些深度学习研究,也感谢组委会专门给我这个题目,叫我讲一下十年深度学习的历史。正像你们刚才听到(加拿大蒙特利尔大学)Yoshua Bengio教授讲的一样,微软在深度学习的开始阶段就做了非常大的启动。今天继续向大家介绍一下在这之后我们很多的进展,最后分享一下对未来的展望。

今天的观众有相当多的投资人士以及技术人士,从业界来的。所以我向大家介绍两礼拜前《财富》杂志的一篇文章,讲了深度学习一部分的历史。趁此机会也向大家介绍这篇杂志文章里面给的深度学习的定义。从技术的角度从科学的角度来讲,我想再补充一些材料,使得大家对深度学习跟人工智能的看法有一些更深入的了解。

这是《财富》杂志所讲的定义。
这个定义基本是准确的。比如说定义人工智能,它包括一大串的技术,包括逻辑推理技术,包括机器学习技术,在机器学习的技术又包括深度学习的技术,在这里面主要的一块是机器学习。机器学习所解决的问题,是要用数据跟统计的方法或者神经网络的方法来解决现实生活中的任务(tasks)。在机器学习里面最重要的一块是深度学习,它也包括一大串的技术加上应用。虽然在这个文章里面只讲语音应用和图像应用,实际上还有一大串自然语言处理的应用。在这个演讲里面,我把这些新的应用和新的技术向大家介绍一下。

刚才《财富》杂志的文章讲的深度学习还是从商业的方面来讲,大家能够看得懂。要是看Wikipedia,它讲的深度学习的定义比刚才的文章更深一点。我向大家介绍一下Wikipedia的定义。
深度学习有三个要点:第一,这是一般的定义,不单单是神经网络,它包括各种各样的其它方法。它的精髓——好几个不同层次的非线性变换。第二,因为有好多层次,就出来了一个非常重要的问题——怎么样来优化这个多层次的系统。在浅层学习的模型里面,这个优化问题不是那么严重,因为比较容易优化。可一旦有了深层之后,这个优化就成为一个非常难的问题。这也是其中很大的一个原因,导致深度神经网络在1980和1990年代没能产生很大的影响。当时数据不够,计算能力也不够,而且当时算法也不够。差不多十年之前端到端的优化学习问题开始得到了解决——并不是说理论上得到解决,我只是说在实际算法上得到了解决。

第三,这点更重要,尤其在语音识别和图像识别之外的更重要的认知领域的应用。在这种更高层次的应用情况下,深度学习更重要的是,因为它有不同层次的表达,它就能够把抽象的概念进行层次化的表征。在我下面讲的应用中我想特别是把第三个要点向大家描述得更深刻一点。头两个特性一般是大家在深度学习上看得比较清楚的,而且很多的文献讲得比较多。第三点的抽象性确实是深度学习的最重要的精华。

关于深度学习十年的历史,我从《财富》杂志的文章抽取了一张表。理论上开创性的工作,神经网络的研究,可以追溯到好几十年前。我只讲讲近期的历史。1990年代第二次人工智能浪潮,主要也是由神经网络突破引起的,当时的突破只是在概念上的突破,神经网络的一些算法成为非常主流的算法,一直延伸到现在。但是应用上的大规模突破只是到最近Yoshua Bengio教授讲的前五年之前才开始。
这是一篇非常重要的文章,多伦多大学差不多20年前发表的文章“wake sleep”算法。
怎么让神经网络做非监督的学习?1990年代中,第二次神经网络热潮往下降,一直做不起来。大家往深层次的模式来想,那时候这种方法也没有成功,但对我有了非常大的启发。当时我在加拿大任教做时程上的深层次的神经网络研究,在1994年写了这篇文章。我当时做语音识别做了相当长的时间,一直比不上统计概率的模型。我跟研究生和同事写的这篇文章,做了非常强的分析,跟Yoshua Bengio一篇文章有点类似,当然,随着你的网络层次变得非常深,学习的困难就变得越来越大。当时用到语音识别上面没成功。但给我们很大的启发,关于到底要往哪个方向走。这是20年前的事情。在这之后,因为大家都认识到神经网络成功的机会不是很大,更重要的原因是当时统计的模型发展得非常快,另外还有机器学习的模型在那时候实际应用的效果远远超过神经网络,于是神经网络就慢慢像刚才Yoshua Bengio教授讲的那样削弱了。
之后不久我从大学来到微软公司,当时我的一个团队做了深层的动态的贝叶斯网络,相对比较容易解释。但是有一大串的问题。十年前在深度贝叶斯网络问题现在已慢慢得到解决。深层次模型的最早的一个突破,还得归功于Geoffrey Hinton的一篇文章《A Fast Learning Algorithm For Deep Belief Nets》。这篇文章确实成为深度学习的开始之一:现在大部分的深度学习模型是一层一层网络不断从下往上,而这篇文章正好相反,不是往上,更注重从上到下生成数据,有点像“做梦”,你做梦的时候可以产生一些梦想。做的“梦”产生一些数据,你在醒的时候就可以把你所看到的东西抽象出来、总结出来,成为你感知的对象。经过反复的上下反复的过程,就可以产生一种非常巧妙的模型,而且对这种模型来说这篇文章介绍了非常巧妙的学习方法。

我当时看到这个方法就在想这和我的深贝叶斯语音识别模型会有什么关系,能不能结合起来。因为没看很懂,就请他到我们的西雅图共事一段时间。2009年底搞了一个NIPS讲习会,将深度学习各种不同的方法在语音识别上的应用总结一下,那时已经有初步的结果出来,但结果不是特别好。所有的深度学习在语音识别上面都是聚集在非常小的数量上面,大概100万的数据量,非常局限。当时大规模的神经网络威力还没显示出来,这之后我们在微软花了大概一年多的时间发明了一些很有效的方法,使得深度神经网络加上隐马尔可夫模型,这三个不同的技术整合到一起就成为这组架构。这种神经网络同时跟其它的机器学习、人工智能方法联合在一起,很快就让深度神经网络在工业界上面的语音识别产生巨大的影响。这有点像AlphaGo,大概有三种不同的方法联合在一起,再次表明,能把不同的人工智能和机器学习方法同深度学习方法整合到一起确实是非常重要的。

当时我们在学术界(我所在的微软研究院,也算学术界、工业界的一个混合单位)合写了一篇文章,三年多前发表的,成为深度学习在语音识别方面的经典工作。80%的内容和方法在这个文章当中写到的,现在工业界还一直在用。文章讲了深度神经网络对语音识别产生的影响,以及怎么把不同的机器学习方法包括深度神经网络的方法整合起来,使得大规模的语音识别得到进展。
当我们微软公司把深度学习用到语音识别取得大规模成功的时候,微软研究院创始人Rick Rashid 2012年在天津举行的一次学术会议上当场演示实时语音翻译技术,第一次向世界宣布深度神经网络是一个非常强大的技术。他用深度学习做语音识别演示,几乎没什么错误,因为他非常配合,帮我们采集了非常多的speaker-dependent的数据。大规模的场合演示语音识别几乎没任何错误。另外,用机器翻译的方法,把识别出的英文文字翻译成中文,再用语音合成的方法产生中文语音。他用英文讲,他的中文声音就出来了,而且中文合成的声音跟自己的声色非常相像,当时产生很大的影响。

之后我们写了很多论文,2010年到2012年写了不少,识别自然语音的错误率在1993年是几乎每个字都会错掉。那时候,美国的DARPA(Defense Advanced Research Projects Agency,美国国防部先进研究项目局,主要致力于美国国防高新技术的研究、开发和应用)第一次做这方面的研究,那时数据没采集那么多,1993年之后,DARPA每次投资语音识别的研究,基本上1/4到1/3的资源都是用来采集有标注的数据,之后语音的大数据就有了。这也是为什么深度学习在语音识别上是第一个成功的例子。

2012-2014年这两年,微软花了很多的精力,特别是我们的同事和位于北京的微软亚洲研究院的同事合作,把Rick在天津用深度学习做的演示完全产品化,大家用Skype Translator就可以直接使用实时语音翻译技术。之前有媒体朋友用唐诗来试我们的系统,结果很有意思,每个字都翻译得很对,但是整个句子翻起来诗意就没了。语音识别字对字是好的,但是它不能够真正达到人的智慧,还没到有诗意的那个程度。

下面再讲一下最近两年之内深度学习的进展。首先是语音识别的错误率继续下降,最近几年的进展更使得去年ImageNet图像识别的错误率降到低于人类的水平,这是微软亚洲研究院今年年初做的,还有看图说话也有很大的进展。

最近一两年的AlphaGo,文章是在2016年发表,工作大部分是在2015年做的,最后产生较大的影响是在AlphaGo今年3月份打败世界围棋冠军,这里面很大的一个因素就是把神经网络和增强学习结合起来生成Deep Reinforcement Learning,用来加速Monte Carlo tree search,三者结合得到非常显著的成果。

人工智能对话机器人也取得成果。以下内容也是我从《财富》杂志文章中截取出来的。






现在很多公司都在发展客服机器人,而且还有很多其它的应用。这种应用在20年前大家都有了,我在大学当教授的时候就有很多类似的项目。AT&T当时帮助客户怎么付帐,那是一个很成功的例子,其它的影响并不是很大。去年到今年差不多两年之内,大家看到AlphaGo的成功,而且看到深度学习在语音识别和图像识别上面的成功,都感觉到时间已经到了,这个重要的应用时代已经到了,我不想展开太多,大家看文章可以看到更多的例子。

还有一个很大的应用:深度学习。大家看这篇文章后就可以感觉到深度学习现在从原来感知上面的人工智能,语音识别和图像识别已经进入到真正商业应用的领域里面。从研究的角度来讲,自然语言处理就是在一年之内得到飞速的进展。我昨天早上刚从烟台“中国计算语言学大会”回来,机器翻译已经完全采用深度学习的方法,它的性能、较精确度大大超过20多年发展起来的基于统计的学习方法。IBM 20年前第一次把统计学习的方法用到机器翻译,当深度学习在语音识别成功之后,2011年、2012年深度学习就开始用到机器翻译上面。深度学习在阅读理解、问答等等应用上的复杂性要比其它那些应用到语音识别的深度学习方法大得多,主要因为模型不太一样,有新的alignment问题。一直到去年大家开始看到深度学习发展出一些非常巧妙的方法,已经战胜了传统20年发展的方法,当然它的错误率的降低和语音识别比起来还是没那么显著,但是它的历史也就两三年时间。现在整个机器翻译的领域已经完全转向深度学习,这个信息特别在中国自然语言处理方面比美国更显著。

前两天烟台的“中国计算语言学大会”有许多演讲,每个题目都跟深度学习相关——深度学习跟机器翻译、深度学习跟问答、深度学习跟语法分析、深度学习跟情感分析,等等。我对中国的人工智能的希望是非常之大的。现在有哪些新的技术?有sequence到sequence的学习,有注意力模型,一个礼拜之前在《Nature》上面刚发表了DNC方法,做研究的话可以往这边看。

未来展望,关于人工智能应用,在四五天前美国白宫出了个报告,听(俄勒冈大学)Thomas Dietterich教授讲,他也参与了这个报告的一些写作,美国白宫政府发出这个报告,跟中国推广的人工智能方向是相符的。深度学习作为一个非常大的标题列出来,这一点,今天早上跟Thomas Dietterich谈了一下,他承认对于很多做传统的人工智能的专家来讲确实是出乎意料的。
关于Automated Science,把所有的物理科学材料用机器看一遍能不能得出牛顿定律?像以前伽利略用望远镜看到星星的运动,经过科学的研究,总结出来一些星球运行的定理,牛顿根据这些材料总结出牛顿定理,能不能用人工智能做出来?这是很多人想的问题。

从研究和技术方面来讲,为了让大家看到将来的趋向或者将来有影响的研究和技术,我们要先看现在的深度学习和AI的方法有些什么样的局限性?要把局限性看懂以后,你们就可以知道用什么方法来克服它们。很大的一个局限性是,现在几乎所有成功的方法都需要有非常大量的数据,这种数据一定要输入输出全部匹配好,不匹配好的话,没有任何方法能够做得非常成功。下面还有一大串的局限,比如黑箱(black box),很多研究在破这个黑箱,走出现有神经网络的框架,要能够把以前大家所做的深度贝叶斯的方法加上一大串其它的方法整合到一起,就有望解决黑箱的问题。黑箱问题对我很重要,虽然有的研究人员觉得黑箱问题不是那么重要。同样重要的一点是,神经网络现在非常难把知识自动扩大,就像小孩长大,他的知识会一步步扩大,但现在的人工智能对这个能力几乎还没往这方面想。我跟很多研究人员交流,关于怎么才能把基于神经计算的深度学习跟符号逻辑连在一起,你把逻辑关系搞清楚就能解释所有的东西。

下面用一张图解释最近的想法和工作,怎么才能把逻辑推理、70年代的人工智能跟现在的深度学习、自动学习能力非常强的神经网络结合到一起。现在这里有两个结构,下面一个是输入句子的句法树状结构。上面的树状结构是语义结构。用人工智能的传统方法来做,要写很多规则,但是要用神经网络方法来做的话就可以学习。用于统一两者的一个方法是建立一个等价关系,图状结构可以进入到神经网络,学习完了之后反向回到新的图状结构,能够把树状结构(或者图状结构)还原出来,这过程中的推理逻辑就可以自动等价与在神经网络上面实现。


谢谢大家!

欢迎加入本站公开兴趣群
商业智能与数据分析群
兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754
1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

  GMT+8, 2017-10-18 06:18 , Processed in 0.154952 second(s), 24 queries .