0
本文作者: 恒亮 | 2017-02-06 15:46 |
雷锋网按:近日,深度学习大牛 Yoshua Bengio 在 Beneficial AI 大会上发表了一篇题为《创造人类水平AI》的演讲,分享了他对于极深网络(Very Deep NN)和 GAN 等前沿技术的一些看法和思考。Yoshua Bengio认为:极深网络在序列数据和高层抽象等领域具有巨大的发展前景;GAN虽然是前沿热点,但非常难以训练,因此开发者需要对其保持清醒的头脑。另外,在演讲的结尾,Yoshua Bengio还分享了他的一个最新研究方向,即利用行动(action)引导表征学习(representation learning)的方法来发现事物间的潜在关系。
以下为演讲原文和PPT,雷锋网编译。
今天我会在这里讨论一下深度学习和人工智能方面最近的一些最新发展,也会讲一下我个人关于深度学习和人工智能目前局限性的思考,同时分享一些我理解的创造媲美人类水平AI的努力方向。当然,我没办法告诉大家具体什么时候人工智能将超越人类,实际上我认为做这种预测是不理性的。但这并不妨碍我们一起利用今天一下午的时间对此做一番有意义的探讨。
感谢深度学习在过去几年的快速发展,让我们看到最近在学术领域出现了很多技术突破。其中首当其冲的是语音识别以及计算机视觉方面的长足进步。在这两个领域中,现在我们已经获得了经过训练的计算机系统以及媲美人类能力的参照指标。当然,计算机系统的能力依旧在很多很多方面无法与人类相比。但是这些足以向人们展示这两个领域已经取得的长足的进步。
最近在机器翻译领域也产生了令人吃惊的进展,我也会在演讲中提及这部分的一些例子。虽然它还没有演化成为工业级的产品,但人工神经网络方面的应用正在以惊人的速度带领我们朝着计算机推理能力、注意力和记忆能力的方向走的更加深入。我认为这对于未来来说是让人兴奋的,因为在过去几十年中,人工神经网络的应用能力普遍被认为会局限在模式识别领域,但现在我们真的在使用人工神经网络去解决过去十年人工智能在尝试解决的一些经典问题。
我也注意到在强化学习方面的巨大进步,比如像下围棋这样的情境。也许在场的各位还有人不太了解机器人和控制系统领域近来的发展,实际上,我认为这个领域的快速发展才刚刚开始。
还有另一个并非实际的应用领域,但会为许多工业应用打下基础的学术领域,这就是循环神经网络和极深神经网络。这两个领域也取得了让我们可以更好地处理序列数据甚至是处理抽象概念的技术进步。我在演讲的最后会好好地聊一下这两个领域。
在这里,我选择了一个机器翻译中注意力模型的应用作为例子。我们已经在这个课题上研究了几年。在深度学习支撑下的机器翻译应用中,一个过去很多年我们一直抱有的、非常基础的的想法是我们将要学习的其实是从一种特定语言的文本到语义的通用表达的映射,而后我们会将语义解码成为另外一种语言。这样的想法作为一个单独的公理是不足以成立的。这个想法的问题在于,当语句或者段落的长度不停增长的时候,这样的做法已经失去了它的合理性。试想一下你必须把一整个文档压缩成一个固定长度的向量,这是一种荒唐的做法,同时也不是我们人类做翻译时的做法。
当人类翻译一本书的时候,在翻译语句的过程中,翻译者会记录在原书中已经翻译到了哪个位置,这是注意力在翻译过程中的应用。人类的注意力中会有一个虚拟的指针,指向原文中目前已经翻译到了的位置。这样基于人类是如何进行翻译的观察,除了对机器翻译的发展产生了巨大的推动作用之外,对于推理能力、记忆能力和使用人工神经网络处理数据结构能力方面的进步也产生了积极的影响。
为了衡量这样的影响,我们可以简单看一下事情是如何演进的。当我们三年前刚刚开始研究机器翻译的时候,初期的结果是很惨淡的,跟最近的结果相比较是非常差的。我们慢慢地改进并且得到了一些进展,直到我们偶然间发现了人类虚拟的注意力模型这件事情,它对我们的研究起到了至关重要的作用。在它的帮助下,最终我们也达到了基于短语的机器翻译技术所能达到的翻译水平,也许在一些语言组合上我们甚至超越了之前的技术。但是我们仍旧抱有疑问:这样的技术能够在非常巨大的数据集合上得到很好的结果吗?
最近,谷歌公布的机器翻译技术已经发展到了令人振奋的水平。谷歌搜集了非常多的数据,远远超过任何人类个体在一生中能够学习的知识体量,并使用这样量级的数据训练了他们现在的机器翻译系统,这基本上已经是非常接近人类翻译能力的机器翻译系统了。一些关于PBMT(Phrase-based Machine Translation,即传统基于短语的机器翻译),GNMT(Google Neural Machine Translation,即谷歌基于神经网络的机器翻译)和人类翻译的对比数据显示,机器翻译和人类翻译能力之间的差距已经被明显缩小了。我不想对此做太多赘述,相关数据大家也可以很方便的在网上查到,这里我想强调的是:几年前我们期待的、在机器翻译领域的长足进步目前已经成为了现实。
现在,让我简短地讲一下为什么我相信深度学习会带来更多优秀的研究成果。在讲这个话题之前,让我们共同回溯一下,机器学习在前进的道路上,为了能够达到人类水平的人工智能都需要哪些基本要素。我总结的基本要素包括以下五个。
1. 你要明白:想要创造智能的机器,这个机器就必须具备非常非常多的知识。人工智能要回答的一个非常基本的问题是,如何把这么多的知识装进机器中。在机器学习的过程中,这些知识需要以数据的形式被机器所使用。这样,非常非常多的知识就意味着非常非常多的数据。无论学习的形式是监督学习,无监督学习还是强化学习,这一条都是机器学习的基本要素。
2. 要学习如此之多的知识并保存在机器中,我们需要一个非常灵活的模型,不能是像过去统计学和以前机器学习中普遍存在的、简单初级的模型。
3. 要使用非常多的数据去训练出强大而灵活的模型,我们就需要足够的计算能力。最近机器学习领域的成功有一部分要归功于我们有了GPU的帮助。我想未来几年学术界会和工业界有很多的合作,其中工业界会提供大笔的资金来创造专门用于运行人工神经网络的硬件系统。
4. 另外一个并没有引起许多人注意的,而且是目前人工神经网络的最主要的优点是,你可以很快的得到问题的答案,我们把这称之为计算形式的高效推理。并不是所有的机器学习模型都具备这样的特点。事实上,一般来说,如果想从数据得来的知识出发解决特定问题,你会需要指数级别的计算量来解答各种不同的中间问题。这里使用的方法是一种近似答案寻找系统,这样的系统在训练的时候就是以找到近似答案为目的的。
5. 除去上面提到的四点之外,决定深度学习能提供更多更好结果的最重要的要素是,深度学习结合了拥有能够战胜维度诅咒的先验假设(powerful priors that can defeat the curse of dimensionality),这些先验假设(assumption)对于我们想利用人工智能解决的问题来说也是合理而且有效的。你可以把这些先验假设当做先导条件,这些先导条件可以帮助我们在一定程度上脱离维度诅咒。我来尝试讲的更清楚一点。
深度学习关于世界的其中一个基本假设是组合性(compostionality)。人类使用组合性的假设来理解世界,而且将其使用在工程解决方案中、使用在语言理解中。我们可以通过将不同的信息碎片组合起来的方式理解和回答关于世界的问题。这种方法在深度人工神经网络中应用起来是十分自然的,它以两种方式呈现:即并行性和顺序性。
并行性背后的想法是分布式的描述,我们通过把不互斥的特征和属性组合起来的办法来表达我们的认知和想法。这是所谓特征学习背后的理论,我在下一页中会有更多的描述。在学习深度方面,低层次的特征将会被组合起来,而且不同层次的特征也会被组合起来。这样跨层次的特征组合是一种顺序性的组合。并行性和顺序性这两种方式都是非常有用的。
为了更好的理解分布式描述和为什么这样的方式可以为你节省指数级别的计算量,这里我介绍一个分析人物照片的例子。假设我们已经训练了一个人工神经网络去理解照片中抽象的特征和属性。当然这些特征不是预定义的,他们是被机器发现的。也许机器的一个计算单元会发现照片中的人物是否戴了眼镜,另一个单元会发现人物是男性还是女性,另外一个单元会发现人物是否是儿童,以此类推。这些特征不一定非得是语义上清晰的属性,但是大家可以先想象成这样。
假设你有100个特征,每一个特征是二元的,那你就会有1024种不同的特征组合需要机器来依据特征去分类。现实中可能不会有足够多的训练数据来覆盖所有可能出现的组合,神奇的地方在于我们可以从所有组合的一个子集中推导出新的组合。我们可以不用遍历所有可能的组合而做这样的推导背后的原因是我们可以在不考虑其他特征值的情况下学习每一个特征。
一个例子是,为了知道人物是否戴眼镜,你不需要知道人物是男是女或者人物是否是儿童,以及人物头发的颜色或者人物穿什么款式的裙子。这样的情况对很多特征来讲都是成立的,因为很多属性都是这样独立存在的。也就是说,例子或者说参数的增长是线性的(而不是传统统计学意义上指数级的增长),与属性的数量成正比。这样,训练所需的数据量就小了很多。
我认为,目前我们依旧距离人类水平的人工智能有很大的距离。
在新闻中可能出现了太多对于人工智能的宣传和炒作,我认为我们低估了一些我们正面对的非常困难的问题。其中一个例子是目前工业级人工智能的成功绝大多是都是纯粹的监督学习的成果。
另外一个问题是我们目前最先进的系统所使用的归纳方法其实还是非常简单的。我们目前的学习系统仍旧依赖于数据中非常浅显的提示,因此这些系统在非训练的情境下很难有好的效果。这同时也意味着这些系统可以很容易地上当受骗,例如只看物体的颜色和图片的背景,如果图片背景中有很多绿色,即使没有动物在图片中,系统仍旧会认为图片中的就是动物。
所以,我一直在强调的事情是更多地去思考如何让机器更好的学习和发现高层次的抽象概念。我也在自己的研究中力图推进这个方向。这样的训练可能要求我们添加多个时间尺度。这就和长时间跨度、依赖性学习的概念有了联系。
另一个技术上的问题是我们仍旧很依赖于旧的bakcprop,也即 smooth differential predictors。这样的技巧需要光滑可微的前导参数,虽然这也是目前的研究热点,但这并不是我们目前研究中所需要的。
我们需要在无监督学习中做的更好。人类在无监督学习中表现的非常好。比如说在父母没有给小孩子讲过牛顿定律和微分方程的时候,一个两岁的儿童就能够了解直观的物理原理。我们在深度无监督学习方面已经做了很多年的研究,但是目前我们有的方法都有一些局限性,在这里因为时间的关系我们就不展开讲了。我们最近在自动回归模型上取得了很多进展,但是我不认为这些模型会将我们带入一个更高的研究阶段,因为这些模型学习的并不是带有潜在变量的抽象表达。
我们最近在变分自编码器(VAE)和对抗生成网络(GAN)方向上也取得了一些成功,这都是研究的最前沿。但是它们很难被训练,而且它们学习和发现抽象概念的能力还不是很令人满意。但我在这里还是希望向你们展示一下最近的成果。
这是我们两年前在GAN上得到的一些结果。对于数字的学习结果是不错的,但是对于自然图片的学习结果还不是很好。接下来是一年前的结果,内容仍然局限在一个类型上。
这是现在的结果,这些并不是真正的火山图片,而是机器生成的火山图片。这个系统可以生成它所理解的1000个类型的图片。
这些图片看起来让人印象深刻,但是系统本身在某些方面仍旧很呆板。(下图为 Plug & Play 生成网络的图像)
那么,我们还需要什么呢?
我认为我们仍需要让计算机更自主地学习,无监督的学习,试着让机器发现一些潜在的因果关系。
另外一件我们觉得重要,但尚未成功的事情是基于模型的强化学习,强化学习和无监督学习结合在一起,这会让机器更好的处理一些全新的情境。想象一下自动驾驶汽车,这个情景下充满了训练中少见、危险而机器必须处理的情况。我们目前的方法还不能够很好处理这些情况。我们需要机器有能力去想象一些与训练实例差别很大的情景,因为对这些情景的处理通常都至关重要。
我们还需要更多的计算能力,我认为这在接下去的几年或者几十年中就会实现。
我们同时需要在多时间尺度的处理方面取得进展。
我认为接下来在理解语言方面会有进展,但如果我们不能在发现和表达高层次抽象概念上取得更大的进展,那我们在机器语义理解的发展上将进入一个瓶颈期。
有一件事情我想在这里指出的是,如果我们愿意,我们完全可以拥有一款被动的、可以非常好地理解我们世界的人工智能系统,但是着并不会对我们的世界产生重大的推动性影响。可是,一旦我们拥有了智能的机器,我们就不会只局限于使用它们去回答一些简单的问题,我们会希望它们能够主动地去完成一些事情。这样的希望就给我们提出了一个关于奖励机制的有趣问题。其中我个人非常关注的一点是,机器如何学会人类的价值观,我认为这才是训练真正“聪明”的AI的关键,即 wise AI。
最后我想提出的一个问题是:使用现实世界中的行动(action)来指导表征学习(representation learning)。这是一个我最近开始研究的新方向。这个研究想要解答的问题是什么才算是好的表征学习,以及如何搞清楚数据中各种解释因子(explanatory factors)之间的潜在关系。目前的想法是,如果我们在现实世界中存在着一些可以控制这些解释因子的代理(agent),而这些因子又与那些可以被控制的事情对应,那么我们就有机会利用这些因子对事物间的关系做基本的解释(underlying explanations)。
原演讲链接:https://youtu.be/ZHYXp3gJCaI,雷锋网编译
雷峰网版权文章,未经授权禁止转载。详情见转载须知。