欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

让机器做梦?要实现无监督学习的关键

程序员文章站 2022-04-02 17:45:19
本文作者:朱不换“让机器会做梦,从某种程度上来说,是人工智能发展的一个关键技能”,Bengio在接受O'reilly的采访时说到。在这里,“做梦&rdquo...

本文作者:朱不换

“让机器会做梦,从某种程度上来说,是人工智能发展的一个关键技能”,Bengio在接受O'reilly的采访时说到。在这里,“做梦”代表的是想象的能力,也是监督学习和无监督学习的主要区分之一,如果只能通过监督学习的方法来学习,那就必须要通过真实经历,才能产生认知。在对真正的人工智能的探索中,无监督学习仍然是关键谜题之一。我们可以在一个最不可思议的地方,即机器所做的梦里,找到一种对我们朝着这一目标的进度的测量。

Yoshua Bengio 是蒙特利尔大学计算机科学与运筹学系教授,也是该系的机器学习实验室(MILA)主任,并担任加拿大统计学学习算法研究主席。他的研究目标是理解那些产生智能的学习过程的原则。

要点

自然语言处理(NLP)自出现以来已走过了一段很长的路。通过向量描述和定制的深度神经网络等技术,该领域已经向着真正的语言理解迈出了有意义的步伐。

深度学习所支持的语言模型与乔姆斯基学派的模型不符,而是源于从1980年代开始流行的联结主义思想。

在神经科学与机器学习的关系方面,二者总是互相激励,一方的进步为另一方带来新的启发。

在对真正的人工智能的探索中,无监督学习仍然是关键谜题之一。我们可以在一个最不可思议的地方——机器所做的梦里——找到一种对我们朝着这一目标的进度的测量。

Yoshua Bengio 是蒙特利尔大学计算机科学与运筹学系教授

该系的机器学习实验室(MILA)主任

加拿大统计学学习算法研究主席

【O'reilly】让我们从聊聊你的个人背景开始吧。

【Yoshua】我从1980年代起就研究神经网络。我于1991年在麦吉尔大学获得了博士学位,此后我在麻省理工学院跟从Michael Jordan做博士后研究。之后,我在贝尔实验室与Yann LeCun, Patrice Simard, Léon Bottou, Vladimir Vapnik等人一起工作。后来我又回到了蒙特利尔,并在这里度过了人生的大部分时光。

由于造化弄人,神经网络在1990年代遇冷,直到上一个十年才复兴。不过在那段时间里,我的实验室和其他几个团队仍在前进。而后在2005年或2006年前后,我们取得了突破。我们首次发现了能成功地训练神经网络的方法,而此前的尝试都未能成功。

从那时起,我的实验室便逐渐成长为一个拥有五到六位教授的研究机构,总共拥有65位研究员。在这些年间,除了促进无监督学习领域的发展之外,我们的团队还对自然语言、递归网络等不少领域作出了贡献。其中,递归网络是一种用来处理语言和其他领域中的序列的神经网络。

同时,我也对神经科学与深度学习之间的联系非常感兴趣。这种关系是双向的。一方面,19世纪50年代,人工智能最开始发端时,某些研究趋势是从人类心智研究来支撑的。不过,自从神经网络东山再起之后,情况就反转了,我们开始指望机器学习作为一种思路,发现对大脑学习过程的高阶理论解释。

Yoshua在自然语言处理研究上的贡献

【O'reilly】让我们接下来谈谈自然语言。这个领域是如何发展的?

【Yoshua】我在2000年的神经信息处理系统进展大会(NIPS)上发表了我的第一篇关于自然语言处理的重要文章。当时人们普遍认为,最高水平的语言处理方法也无法实现人工智能,直白地说,因为这些方法还太笨了。当时流行的基本技术是去数一下某个词后面跟着另一个词的情况出现过多少次,或者一个由三个词组成的序列出现过多少次——并由此来预测某个词的下一个词或者去翻译一个词或词组。

然而,这样一种方法缺乏关于意义的概念,不能运用于那些高度复杂的概念,也无法被正确泛化到未曾见过的词语。考虑到这一点,我便用神经网络来着手处理这一问题,我相信神经网络能够克服“维数灾难”,并提出了一组方法和论证 。从那时起,这些方法和论证便成为了对深度学习的理论分析的核心方法和论证。

这个所谓的“维数灾难”涉及机器学习面临的一个基础性难题。当我们试图使用大量变量来预测某个东西的时候,这些变量的各种可能的组合方式的数量极大,而这使得问题的难度会呈指数级增加。例如,如果你考虑一个由三个词组成的序列,其中每个词都来自一个十万词的词库,那么一共有多少个可能的序列呢?一共有10,0000的3次方个序列。一个人一辈子也不可能把所有这些序列都数完。更糟糕的是,典型的短句子大约由十个左右的单词构成,而如果你考虑一个由十个词构成的序列,那么你将面临的数字是10,0000的10次方,一个大得不可思议的数字。

值得庆幸的是,我们可以用对词的代表(即所谓的词向量)来替代词,并学习这些词向量。每个词都被映射到一个向量,而这个向量自身是一组数字,这些数字分别对应于从词上自动学习到词的特征。学习系统同时利用这些特征来学习如何在给定前面的词的情况下去预测下一个词,或者学习如何产生一个译文句子。

可以把词向量设想为一个(以词为行,以特征为列的)巨大表格,其中每一个词向量都由数百个特征构成。机器读取这些特征并把它们输入到一个神经网络。这个神经网络有多个输出,它为词库中的每个词都产生一个输出,而除此之外它在其他方面都类似于传统网络。要正确地预测句子中的下一个词,或者要确定句子的正确译文,该神经网络可能需要产生100,000个输出。

这个方法很管用。刚开始时,我们在比较小的规模上测试这一方法。接下来的十年,研究者在“更大的数据集上训练越来越大的模型”这个方向取得了巨大的进步。这一技术已经取代了一些陈旧的自然语言处理方法,并一再战胜那些最高水平的测试标准。说得更大一点,我相信我们正处于自然语言处理领域的巨大转变之中,特别是在涉及语义的方面。换句话说,我们正在通向对自然语言的理解,尤其能体现出这一点的是,近期对递归网络的扩展已包含了推理的部分。

除了对自然语言处理的直接影响之外,该工作也涉及到人工智能领域的其他临近主题,例如机器如何回答问题和进行对话。此前,DeepMind 在《自然》杂志上发表了一篇论文,其主题与关于对话的深度学习紧密相关。他们的论文描述了一种击败了欧洲围棋冠军的深度强化学习系统。无论以何种标准,围棋都是一种非常难的游戏,这使得许多人预测要到几十年后电脑才能与职业围棋手对战。换个角度看,一个像围棋这样的游戏很像一场人类玩家与机器之间的对话。我很期待能看到这些研究将通向何方。

语言理论框架的问题

【O'reilly】深度学习与乔姆斯基的语言理论的相符程度如何?

【Yoshua】深度学习指向与乔姆斯基完全相反。深度学习几乎完全依赖通过数据进行的学习。当然,我们设计了神经网络的构架,但在大部分时候,它都依赖于数据、大量的数据。至于乔姆斯基,则是聚焦于固有语法和对逻辑的使用,而深度学习则关注意义。我们发现,语法只是像蛋糕上的糖霜一样的表层的东西。相反,真正重要的东西是我们的意图:我们对词的选择决定了我们要表达什么意义,而与词相联系的意义是可以被学习的。这些思想都与乔姆斯基学派的观点针锋相对。

【O'reilly】是否有其他语言学学派的观点与深度学习更吻合呢?

【Yoshua】1980年代的时候,一些心理学家、计算机科学家和语言学家发展出了认知心理学的联结主义路径。通过使用神经网络,这些研究者依靠来自神经科学的概念为人类如何思考、如何学习的问题带来了新的启发。实际上,反向传播算法和其他一些今天仍在使用的算法都可以回溯到当年的那些努力。

机器学习模式VS人类学习模式

【O'reilly】这是否意味着儿童早期语言发展或者人类心智的其他功能有可能在结构上与反向传播算法或其他这类算法相同?

【Yoshua】我们研究社区中的研究者们有时会从大自然与人类智能中寻找启发。举个例子,就拿课程学习(curriculum learning)这种方法来说吧。这种方法促进了深度学习,特别是在推理任务方面。相反,传统的机器学习把所有的实例都装进一个大袋子,并让机器以随机的顺序检测这些实例。人类可不是以这种方式来学习的。通常,在教师的指导下,一开始,我们学习比较容易的概念,随后才逐步学习处理那些越来越难和复杂的概念,整个过程都建立在我们早先的进展的基础之上。

从最优化的角度来看,训练一个神经网络是困难的。尽管如此,通过从小处着手并逐渐地增加难度的层级,我们可以解决一些此前被认为是太困难而无法学习的任务。

深度学习框架的演化过程

【O'reilly】你的工作包括关于深度学习构架的相关研究。你可以谈谈这些构架是如何随着时间演化的吗?

【Yoshua】我们从1980年代到21世纪的第一个十年都在使用同一种非线性构架,但我们不一定非要使用这种构架。

过去,我们依赖双曲正切函数,它是一种平缓递增的曲线,对小数值和大数值的变化不敏感,但却会对中间数值做出反应。在我们的工作中,我们发现了另一种隐藏在平凡外表之下的非线性,即整流函数(rectifier),它让我们能够训练更深度的网络。这一模型从人脑那里获得了启发,因为与双曲正切函数相比,人脑更符合整流函数的模式。有趣的是,这种模型为什么会有效,其原因仍然有待澄清。在机器学习领域,理论常常产生于实验之后。

机器学习的远方

【O'reilly】未来有哪些其他的挑战是你想谈谈的呢?

【Yoshua】除了理解自然语言之外,我们也在关注推理本身。对符号、数据结构和图象进行处理,这曾经是(无学习的)人工智能的经典领域,但在过去几年中,神经网络重新导向了这类尝试。我们已经看到一些模型,它们能够处理堆栈和图象等数据结构,用内存来储存和提取对象,通过一连串的步骤进行工作。这些模型在支持对话和其他需要综合不同证据的任务时也有一定的潜力。

除了推理之外,我也对无监督学习很感兴趣。在很大程度上,机器学习的进步是由对大规模数据集进行训练所带来的利益所驱动的,这些数据集带有数以百万计的标记实例,而对这些标记实例的解释是由人来完成的。这样的方法无法规模化:在现实中我们不可能为每一件东西做标记并一丝不苟地向电脑解释所有的细节。而且,人类在学习大多数东西的时候也根本不是这样学的。

当然,作为有思考能力的动物,我们人类既向我们的环境和人类同伴提供反馈,也依赖来自他们的反溃但如果与一个典型的标记数据集相比较的话,这些反馈的数量是十分稀少的。简单说来,就是一个孩子在世界中观察他的环境,不断努力地理解环境以及事物背后的原因。在他追求知识的过程中,他试验并提出问题,从而持续地对他为环境所建立的内在模型进行修正。

若要机器以类似的方式学习,我们需要在无监督学习方面取得更多进步。目前,这一探索中最令人振奋的领域是图像生成。考察一个机器的无监督学习能力的一种方式是:向它展现许多图像,比方说汽车的图像,并要求它“想象”出一个新的汽车模型——人们已经证明这种方法适用于汽车、脸庞和其他种类的图像。不过,与计算机绘图(computer graphics)所能达到的水平相比,这些生成的图像的视觉质量仍相当糟糕。

如果当我们要求计算机生成一幅崭新但像样的图像的时候,它能产生一个合理的、并非复制品的输出,这就将意味着它对这些对象的理解已经达到了很深的水平。也就是说,在某种意义上,这台计算机已经发展出了一种对这些对象的深层解释的理解。

会做梦的机器人

【O'reilly】你刚才说你会要求计算机“做梦”。在某种意义上,或许可以问,是不是像Philip K.Dick说的那样,机器人也会梦见电子羊呢?

【Yoshua】是的。我们的机器已经在做梦了,不过是以一种模糊的方式。我们通过“想象”这种工具来设想那些我们并未实际经历的东西,而机器人的梦仍不如人类的梦和想象那样活泼和富于内容。我能够想象,开车时因为转向错误而与迎面来车相撞的后果,谢天谢地我并不需要实际经历这些就能认识到这样做的危险。如果只能通过监督学习的方法来学习,那就必须真实经历这些场景以及这些场景的无穷无尽的置换排列。我们在无监督学习方面的研究目标是,帮助机器在它关于世界的现有知识的前提下推理和预测将来可能发生什么。这代表了人工智能的一种关键技能。

正是这样的方法在驱动着科学的前进。那就是,从给定的观察中辨认出因果解释的方法论路径。换句话说,我们致力于让计算机能像小科学家或小孩子一样做研究。或许需要几十年才能达到这种真正自主的无监督学习,不过我们已经在这条探索之路上了。