前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >百度徐伟:深度学习存在3大瓶颈,如何打造通用人工智能研究平台?

百度徐伟:深度学习存在3大瓶颈,如何打造通用人工智能研究平台?

作者头像
新智元
发布2018-03-27 15:13:29
9170
发布2018-03-27 15:13:29
举报
文章被收录于专栏:新智元新智元

【新智元导读】百度IDL实验室杰出科学家徐伟关于“通用人工智能研究”的演讲,关于通用人工智能,此前大多数讨论都集中在相信不相信,可不可以实现阶段。但是,徐伟在本次演讲中回答了此前甚少被人提及的“如何做”的问题。

3月2日,深度学习技术及应用国家工程实验室学术研讨会在京召开,百度深度学习实验室主任林元庆、百度深度学习实验室杰出科学家徐伟、北京航空航天大学教授王蕴红、清华大学计算机科学和技术系教授朱军、工业和信息化部电信研究院徐贵宝等实验室主要成员出席,并就首个国家级深度学习实验室的发展方向及研究重点进行讨论。

作为深度学习技术及应用国家工程实验室的技术带头人之一,徐伟就如何打造通用人工智能的研究平台进行主题演讲。他认为当天上午举行揭牌仪式的“深度学习技术及应用国家工程实验室”应超越深度学习,成为引领人工智能浪潮的先驱。

徐伟现场表示:“现在我们的机器和人还是有着非常大的差距,我们应该从一个非常简单的学习场景开始,让机器像儿童一样,通过在环境中的互动去学习感知、行动、语言这样一些基本的能力。”

以下为演讲全文:

今天上午张钹院士致我们的祝贺词里面说到,虽然说我们这个实验室叫做深度学习的实验室,但是他希望我们这个实验室不仅仅是深度学习,还希望我们能够超出深度学习,要做出引领人工智能浪潮发展的这么一个实验室。我在这里和大家分享的是我们对于以后人工智能发展的希望和我们现在做的一些工作。我特别要强调的是,我们现在考虑的是叫做通用人工智能的技术发展。

什么叫做通用人工智能?现在很多人工智能成功的应用都是在一些特定的领域上面的,比如人脸识别,或者是语音识别,我们开发出来的模型算法能够在那个特定的任务上做得非常好。但是这个和人类的智力能力有非常大的差别,人类的智力包括感知、决策、推理、规划和沟通的能力,一个通用的人工智能,我们希望它具备人类都具有多种多样的的智力能力。

在各种各样的能力里面,其中最核心的是学习的能力。因为我们知道,只要我们能够学,什么都能够做。这个学习能力包括几个方面:首先要有一个渐进学习的能力,渐进学习的意思就是说,它能够基于以前学习的基础,不断的学习新的东西,而且在学习新东西的时候,还不会把老的东西忘掉,这其实和我们现在的深度学习还是有非常大的差别的。

现在一个深度学习模型,如果拿到一个新的数据集上训练一遍,它会把原来在老数据集上训练的东西全部忘掉。

现在的深度学习缺乏交互学习能力

还有一种学习能力是自主学习,什么是自主学习呢?就是说我们需要这个机器能够自己去寻找具有价值的一些数据和状态。就像人类,在小的时候他会对很多东西感兴趣,这个东西他为什么感兴趣呢?比如说他玩一个东西,那个东西会为他带来很多学习的机会,小孩有一个本能,他就会多进行一些那样的行为。在这个过程当中,他就能够学习到环境的很多规律。

另外一种非常重要的学习方式叫做交互式学习,人类学习的时候,除了我们自己去观察这个世界,去总结这些规律以外,很大一方面的学习来源是在和人的交互中间得到的。因为人类在很长的发展过程中已经积累了大量的知识,而这些知识互相比较有效的传递都是通过语言来实现的。我们从小长到大,我们开始有父母教,到学校里面有老师教。现在我们的深度学习,实际上是非常缺乏这样一种学习的能力的。

我们整个通用人工智能所具备这样一些能力。其中一个最主要的原因就是,计算机技术经过大半个世纪不断的发展,已经有了非常强大的计算能力。随之而来的,因为有了这个强大的计算能力,我们的机器可以在比较可接受的范围内处理大量的数据。但是只有处理大量数据的能力还是不够的,我们同时需要有一个非常强大的模型技术才有可能从这些非常大量的数据里面把这些数据所蕴含的各种内在的规律提取出来。对于以前相对比较浅层的一些机器学习模型来说,当数据的规模达到一定程度以后,这个模型的增长就会变得非常缓慢。但是深度学习很重要的一个不同点就是,它可以随着数据量的增加而变化,我们可以非常容易地把深度学习的模型规模加大。这样的话,随着数据量不断的增大,模式的效果也可以一直保持一个持续的提升。

正因为如此,近年来在一些非常特定的人工智能任务上,我们看到机器的识别能力已经做得比人还好了。可能大家平时在使用手机或者电脑的时候,能够感受到的一个明显的进步。就是,像语音识别,已经从前几年非常不可用的一个状态,到现在语音识别可以成为很多人做语音输入、搜索的时候,可以觉得非常方便的一个交互手段。

在同样的数据上,如果让人来听的话,人的错误率大概接近10%。所以说我们看到,现在的机器在语音识别的应用上,特定的场合已经做得比人要好了。还有另外一个就是人脸识别,刚才元庆也做了很多介绍,人脸识别里面,这里我们讲的是它的一个特定任务,就是来判断两幅人脸图像是不是出自同一个人脸。这样一个特定的数据,我们在LFW这样一个公开数据上面,人类的识别率,判断错误率大概在0.8%左右。而现在我们机器的错误率已经降到大概才0.2%多,就是远远的超过了人的识别水平。

除了通常每个人都会做的这种识别任务上机器已经做得比人还好,在需要一些专业人士来做的一些识别任务上,现在机器也超过这些专业人士的水平。这是今年1月份的时候美国斯坦福大学的研究员在《自然》杂志上发表的一个工作结果。他们这个工作是通过图像来检测皮肤疾病。他用的是一个神经元网络,在十几万幅图皮肤疾病的数据集上进行训练以后,把机器和专业的医生来进行比较。这几幅图表示的是识别的召回和准确率,这里面蓝线是机器的召回和准确率的曲线,有20多个医生来参加这个对比,每一个红点是每一个医生的召回和准确率。我们看到,检测能力上,目前机器已经做得比大多数医生还要准确。

深度学习在百度的很多产品里面也得到了非常广泛的应用。一个是大家比较熟悉的百度的搜索,还有百度的广告推广,还有在百度的数据中心,百度做的病毒检测,还有百度地图里面交通流的一些预测,我们都成功的把深度学习用到这些具体的应用产品里面去,都取得了非常好的效果。

但是我们看到这些都是非常具体的一些特定的需要Intelligence的一些任务。但是我们是不是让我们的机器,一个个教会它不同的任务,就可以达到人的这样一个智力的能力呢?我认为不是这样的。人的智力的核心是要具备自己学习和自我创造的能力,像现在我们的机器在这方面还非常缺乏,比如说去年谷歌下围棋的AlphaGo,它下围棋非常好,但是我们如果把下棋的规则稍微改一下,比如把棋盘从正方向改成六边形,AlphaGo就不能再下了。而不像人,人可以通过自己的思考,自己的学习,在这个新的规则之下继续下棋。而AlphaGo可能还需要研究人员和工程师对它的代码进行修改,它才能够重新开始学习。像人类,我们对于人的学习程序实际上就只有一个,就是我们DNA的序列。不管人遇到一个什么样的学习任务,他都是用同样的一套代码来进行学习的。

除了刚才说机器和机器人还不能自我学习和自我创造以外,现在我们用深度学习来发展的这些技术还有一些比较重要的缺点和局限性,机器学习现在很难能够做到从少量的标注数据进行学习。 比如ImageNet比赛,他用的每一幅图,平均来说都有上千个样本来学习。而我们知道,对于人要学习识别一个新的物体,可能最多给他看一两眼大概就能够学会了。再比如说像机器翻译,在这么一个标准的数据集,叫做WMT14的标准数据集上,有3千多对英法对应的句子。如果要靠人来阅读这些数据的话可能要花几万个小时,但是如果是一个英语的说话者,可能只要花几百个小时,不到一千个小时就可以学会法语,并且知道怎么进行翻译了。

再有一个例子,这是一个单样本的识别任务。什么是单样本的识别?就是只给这个机器一个训练数据,然后再看它的识别效果。在这么一个任务上面,我们现在的深度学习模型还远远做不到像人这样的一个识别水平。怎么样才能够有效的利用少量的标注数据进行学习呢?其中非常重要的一点就是我们需要有非常好的特征表示。而非常好的特征表示是需要有大量的数据才能学习到的,大量的没有标注的数据,我们需要通过非监督的方式才能够有效的把里面的特征表示能够很好的学习出来。

如何做无监督学习:通过预测

怎么样做非监督学习呢?在学术界大家经常提到的一种做法,就是通过对未来的预测来进行非监督学习。我们知道,能够对未来做出预测实际上是智力一个非常核心的部分。物理学可以说是对一个简单系统比较精确的预测,而深度学习或者人的智力是对一个复杂系统近似的预测。如果我们能够对未来进行一个比较好的预测,那就说明我们这个模型能够抓住环境,以及变化的本质规律,从而能够提取出一些比较有用的信息出来,这样能够有效的把它用于少量的标注数据的学习。另外非标注的数据实际上是无穷无尽的,我们不可能全部都拿来使用。要能够有效的利用这些非标注的数据,我们还需要能够做到有选择的使用。什么叫做有选择的使用?比如说像人一样,他可以选择自己感兴趣的一些东西去做,比如像小孩子,他没有接触过的东西就想要去做一做。因为做了这些事情以后,可以帮助他,他可以获得更多的信息。在这个过程当中,比如说他玩一个他从来没有见过的玩具会觉得非常好玩。在这个过程当中,实际上他是学到很多东西的,我们需要机器具备这种自主的去寻找什么样的东西可以是值得学习的这样一种能力。

我们的人工智能技术另外一个比较重要的局限就是缺乏常识。自动驾驶是一个比较典型的例子,大家如果学过开车的话,大家知道,从开始学到能够熟练的开车,可能有几百公里的驾驶路程就可以做得比较好了。谷歌的无人车到目前为止应该已经开了几百万公里了。但是即使如此,他还是不能够完全做到不用人而实现完全自动的驾驶。为什么呢?其中最主要的一个原因就是,他不像人一样具备一些常识性的推理能力。这个导致的后果是 需要他的研究人员或者工程师,每一种可能遇到的各种各样的路况都要做特定的处理,他需要在他这几百万公里的数据里面,能够尽量的覆盖尽可能多的一些交通状况和路况。即使这样,他还是永远不能够保证是否遇到一些新的路况能够处理。对于人来说,人学习开车,实际上他主要学的就是控制方向盘或者是踩油门。具体比如说前面遇到某种路况是不是可以开过去,或者是不是应该把速度降下来,这些东西通过一些常识性的判断他就能够做到了。

我们怎么样才能够让机器具备这样一种常识性的推理能力呢?人工智能的鼻祖,图灵在很早的时候就提出了我们可以把机器放在人的真实世界里面,给它提供非常好的感知设备,教会它学习语言。在这个环境里面,像教小孩一样教它去学习。实际上这是一个非常有远见的想法,但是实际上这个肯定超出了时代的能力。因为首先我们还没有这样一些学习的技术能够让我们的机器在一个真实的物理世界里面去学习。即使到现在,可能也还是比较缺乏这样的技术。现在很多公司,包括百度在内,我们从一个虚拟环境里面开始入手,首先在一个虚拟的环境里面,让机器能够把相应的一些算法做得比较成熟以后,让这个机器能够在虚拟的环境里面学习到一些常识的东西。

说到对常识的学习,就把图像和自然语言处理结合到一块了。以前自然语言处理和图像识别是相对来说比较独立的,一个主要的问题是,自然语言处理是一个比较偏符号化的运算,很难把每一个符号,把那些词能够真正的和我们在真实世界里面能够看到的东西联系起来。我们做了这样一些工作:第一个就是看图说话,机器在看到这一幅图的时候,就给出对这幅图一个比较贴切的描述,说这是一辆火车沿着森林旁边的铁轨走过。第二个例子就引入了问答这么一个环节,可以通过问答这种方式,能够更直观的确认我们看看是不是机器真正理解了这个图像和理解了语言。第三个例子是通过对视频进行描述,在这个地方,机器看了视频以后就可以说,这是一条狗在盆里面玩。玩这个概念是一个非常宽泛的概念,如果只是通过纯粹的文字来说的话是非常难以精确描述的。像这样的一些比较模糊,或者比较常识性的一些概念,当我们有了这样的图像,通过把图像这样一种包含大量信息的数据结合在一块,就能够得到一个比较好的学习。

现在深度学习还有另外一个局限性:很多的成功应用还是基于标注好的一些标注数据来学习,每个样本还有它对应的标注。实际上对于人来说,很多的学习实际上完全不是这样的,我们不是说给你一堆标注数据,让你自己去想到底应该是什么样的规律。比如我们这个地方,如果要辨别这两只鸟,对于人来说,我们学习的过程就是,会根据以前人类的知识,总结出这只鸟的尾巴和那只鸟的尾巴长短会有些不一样,以前的经验还会总结出这两种鸟的头部会有一些不同的斑纹。人类在接受了这样语言的描述以后,就可以非常快的学习。进一步再看几个例子,就可以很快的学习了。现在机器还没有办法把人通过语言来传递的这种知识和标注数据能够有机的结合来进行学习。

我认为人工智能一个比较核心的学习能力就是需要能够通过语言来学习,因为语言是人类知识传承一个最重要的途径之一,人类过去积累的知识一个方面是通过我们口头的语言,还要通过书面的语言来传承。另外一方面,如果我们真的要有一个对人类有用的人工智能的系统,我们需要能够用语言对它提出我们的需求。相应的需要机器能够通过语言,把它所做的事情对人类做出反馈。

特定领域的智力能力,不是通用人工智能研究最重要的东西

我们需要一个什么样的研究环境才能够做这样一个通用人工智能的研究呢?有几个方面。首先是我们需要有非常充足的计算资源,只有有了非常大量的计算资源,我们才能够有可能去实现一些比较复杂的模型,并且能够在我们可接受的时间范围内,合理的范围内去对那些模型进行实验。除了这个充足的计算资源以外,还有一个非常重要的就是非常易用的软件环境。我们可以想像得到,通用人工智能这样的一些技术研发会涉及到非常复杂的一些模型和技术,我们需要有非常方便好用的软件开发的环境,才能够让我们的研究者非常高速有效的,不断的尝试一些新的模型和算法。在此基础上,我们还需要人工智能各个不同学科方向的紧密结合,才能够把通用人工智能这个研究的终极目标做出一些实际性的进步。

在这里讲一下在计算资源上我们这个实验室会有什么样的一些优势。百度有一个非常强大的计算中心,非常大的规模。最重要的是,在计算能力和能量使用效益上都有非常领先的水平。另外百度还和一些厂商联合开发了一些对于深度学习定制的一些硬件设备,我们叫做GPU-Box,可以把大量的GPU显卡非常高密度的放在一块,通过非常高速的PCI-e连接起来,能够进行非常大规模的深度学习的训练和运算。

除了这样的计算资源,我们还有深度学习平台PaddlePaddle。PaddlePaddle是百度自主研发的一个深度学习的一个训练和计算的环境。首先最主要的一些特点就是它能够支持各种不同类型的数据,因为百度有非常丰富的做各种不同的应用,比如像图像、语音、文本,各种不同类型的数据。另外一个特点,就是能够有效的利用我们大规模的计算资源进行分布式训练。还有另外一个特点就是,因为我们需要能够对不同的应用非常灵活的设计出各种不同的模型,所以说非常有效和方便的能够利用PaddlePaddle设计出一些不同的深度学习模型,比如说卷积网络、循环神经网络等等。

深度学习应该只是我们的通用人工智能研究的其中一个部分,刚才我讲到,我们机器需要有这么一个环境,需要在这个环境里面学习。所以也在开发让我们的Agent能够学习的环境,这是一个二维的环境,一个主要的特点,我们在这个环境里面会引入很多的语言交互,还有一些虚拟的教师,能够在这个环境里面引导我们的机器去学习。我们先从比较基础的,从一个二维的环境开始,同时也会发展3D的一些环境,3D的环境可能会基于现有的一些游戏引擎来进行开发。

除了软件平台以外,我们还需要有非常多的人工智能学科的紧密结合。其中包括很多方面,包括Machine Learning、Reinforcement Learning,NLP,包括Computer Vision等等,我们在Planning,Hierarchical Action方面等等,这是我们目前工作的一些大概的感觉。

给大家看一看我们是在一个二维环境里面,黑色的小人头是我们的机器,我们会有一个虚拟的老师在这个环境当中和机器进行交互。比如说他就会告诉说,这个环境里面都有一些什么东西,会通过提问来检测这个机器是否学会了这个教师说的内容。这个教师会通过语言来进行反馈,也会通过语言及奖惩的方式进行反馈。我们的教师会教会机器去Follow一些Command,比如说这个地方让机器走到某一个地方去,如果它走错了,会给一个惩罚,如果他走错了就给一个惩罚,如果他走对了,就给一个奖励。一开始的时候,这个机器完全不具备任何的语言能力,它是逐渐的和虚拟的教师交互的过程当中,会逐渐的学会这些语言是什么意思,这个语言在这个环境里面和感知是怎么样对应的关系,和他的行动是怎么样对应的关系,都是在这个交互的过程当中逐渐学会的。整个机器的输入就是看到的这么一幅图,输出的就是通过语言和行动。

要做通用人工智能这样一个复杂的系统,我们最终要关注的是它的学习能力。一些人类所具备的特定领域的智力能力,不是通用人工智能的研究最重要的东西。对于像机器学习能力来说,现在我们的机器和人还是有非常大的差距的。所以说我们应该从一个非常简单的学习场景开始,把机器放到一个环境里面去,让它像人类的幼儿一样,通过在环境中的互动去学习感知、行动、语言这样一些基本的能力。同时还要把这个语言作为整个学习系统一个非常核心的部分,这样他就可以通过语言快速的从人这里学到一些人类所具备的一些知识。

这就是我对通用人工智能以及我们以后怎么样发展的一些思考,希望接下来能够有更多的时间和大家更深入的交流,谢谢!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
语音识别
腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档