谷歌如何使用人工智能来改进谷歌翻译等许多谷歌服务?《纽约时报》杂志今日发布了一篇重磅长篇《The Great A.I. Awakening》全面解读谷歌利用机器学习重塑自身的战略。机器之心编译时进行了适当的删减。
序言:你即你所读
十一月一个周五的晚上,东京大学著名人机交互教授 Jun Rekimoto(暦本純一)正在准备演讲,他开始留意到社交媒体上出现了一些奇特的博文。谷歌公司颇受欢迎的机器翻译服务已经突然有了大幅提升。Jun Rekimoto 开始亲自测试这一服务。结果让他惊讶不已。他在一篇博文中写下了一些发现。他比较了两个版本的《伟大的盖茨比》(一个 1957 年 Takashi Nozaki 的版本,一个是 Haruki Murakami 近期的修订版本)中的几个句子,选择了谷歌翻译能够翻译的句子。他后来对我解释道,Haruki Murakami 的翻译非常优美,但显然是 Murakami 风格的。谷歌翻译后的日文尽管有点小小的不自然,但是,读起来感觉更加易懂(transparent)。
接着,博文的第二部分从另一个方向(日文到英文)检查了谷歌翻译。他把自己翻译的海明威《乞力马扎罗的雪》的开头输入进去,让谷歌翻译成英文。结果发现翻译的准确度难以置信。
Rekimoto 将自己的发现放在了 Twitter 上,几个小时后,数以千计的人也贴出了自己的实验结果。一些翻译结果很赞,另一些的翻译结果颇有喜剧效果。每个人都好奇:谷歌翻译是怎么变得如此惊艳的?
谷歌公司的人工智能研究机构谷歌大脑(Google Brain)成立于五年前。成立原则是:通过试错熟悉周围世界的人工「神经网络」或许会发展出类似人类的灵活能力。这个概念不是新东西。不过,其大部分历史,在绝大多数计算机科学家看来,有些狼藉甚至神秘。
尽管如此,2011 年以来,谷歌大脑已经证实深度学习方法可以解决传统手段无法解决的难题。语音识别之前并不理想,直到谷歌大脑更新了这一技术;机器学习的应用在谷歌移动平台安卓上的表现堪比人类。同样,图像识别也是硕果累累。不到一年前,谷歌大脑首次开始充满热情地更新整个产品线。
翻译工具声名鹊起的那一年是 2006 年,打那时起,它就成为谷歌最可靠也最受欢迎的资产;月用户量达 5 亿多人,每天需要进行 1400 亿词的翻译。它不仅自成一体,也是谷歌邮件、浏览器以及其他产品的一部分,是该公司数字业务中浑然天成的一部分。Pichai 解释说,不仅仅是难民危机,公司也估计翻译的地理政治重要性:他身后的屏幕上出现了一幅图表,一个陡峭的曲线表明最近阿拉伯语和德语之间的翻译需求翻了五番。谷歌翻译团队一直在稳定地为产品添加新的语言和功能,不过,过去四年的质量提升已经明显放缓。
直到今天,翻译工具引进了人工智能技术。首轮尝鲜的语言包括英语、西班牙语、法语、葡萄牙语、德语、中文、日语、韩语和土耳其语。接下来还有上百种语言——大概每个月处理八种,直至明年年底。翻译工具的焕然一新仅花了九个月的时间。人工智能系统一夜之间取得的成果相当于旧的技术一辈子成果的总和。
谷歌决定以人工智能为中心的策略也反映出整个业界范围内的机器学习热。过去四年中,特别是谷歌、Facebook、苹果、亚马逊、微软和百度这六家公司已经启动了人工智能人才争夺战,特别是争夺大学里的人才。公司许诺的资源和自由已经让顶尖学术机构的人才越来越少。硅谷谁人不知 Mark Zuckerberg 用电话、视频聊天等糖衣炮弹亲自督导公司最想要的研究生。诱人的七位数年薪并非罕见。参加这一领域最重要的学术会议的人员已经翻了四倍。利害攸关的不仅是渐进创新,还要控制住能够代表未来全新计算平台的东西:无处不在的人工智能。
Part 1:学习的机器
1. 大脑的诞生
虽然 Jeff Dean 的职称是高级研究员(senior fellow),但却是谷歌大脑实际上的负责人。作为医疗人类学家与公共健康流行病学专家的儿子,Dean 在世界多个地方长大——明尼苏达州、夏威夷、波士顿、阿肯色州、日内瓦、乌干达、索马里、亚特兰大。
在高中和大学的时候,他写的软件被世界卫生组组所使用。从 1999 年开始,他就加入了谷歌,从此他几乎插手了谷歌的每一个重大业务中的核心软件系统。谷歌公司文化的一个可爱伪影就是 Jeff Dean Facts,模仿「罗礼士的真相」写下:Jeff Dean 的 PIN 是 pi 的后四位;在贝尔发明电话之后,他看到有一通 Jeff Dean 的未接电话;在系统最大等级是 10 的时候,Jeff Dean 提升到了 11 级(这一个确实是真的)。
2011 年的一天,Dean 走进谷歌的休息区碰见了吴恩达。当时吴恩达还是斯坦福大学计算机科学教授,也是谷歌的顾问。吴恩达告诉了 Dean 关于 Project Marvin 的事,这个项目是吴恩达最近帮助建立的实验「神经网络」的一次内部尝试。Dean 自己也在 1990 年在明尼苏达大学上学时做过简单版本的神经网络。如今,研究神经网络的学术人员 5 年来又开始发展,从屈指可数的几个增长到了几十位。吴恩达告诉 Dean 由谷歌神秘部门 X 实验室正在做的 Project Marvin 已经取得了一些惊人成果。
Dean 对此非常感兴趣,愿意在此项目上付出「20%」的工作时间,也就是期望每个谷歌员工在自己核心工作之外的项目上付出的工作时间。不久之后,他建议吴恩达让另一个有神经科学背景的 Greg Corrado 加入进来。在春末,吴恩达最好的毕业生之一 Quoc Le 也加入了进来,成为了第一个实习生。然后,一些谷歌工程师喜欢称 Project Marvin 为谷歌大脑。
因为人工智能一词是 1956 年才被首次提出,一批研究员一直以来在思考创造人工智能的最佳途径,写出很大的、综合的程序,能同时展示逻辑推理与世界上足够知识的规则。
例如,如果你想要从英语翻译到日语,你要把英语的所有语法规则编程到计算机,然后是牛津英语词典中的所有定义。接下来你还要把日语的语法规则与单词编程,只有所有的语句用源语言输入之后才能让它把语句翻译成目标语言。这种观念通常被称为符号人工智能,因为它对认知的定义是基于符号逻辑的。
但这种老旧的方法主要有两个问题。第一个就是这样做非常耗费人工时间。第二个就是这种方法只能处理规则和定义都非常清晰的问题,比如数学问题和国际象棋。对于翻译来说,这种方法完全失效,因为词语不仅只有词典上定义,而且语言的使用中常常有很多特殊用法,尽管有很多语法规则。
一份 1961 年的文摘强调人工智能研究的前提:如果你可以编程让计算机模拟高级的认知任务如数学和象棋,那么你终将找到让计算机实现模拟意识的途径。
这个系统所能做到的事情是有限的。20 世纪 80 年代,卡内基梅隆大学的一位机器人方面的研究员指出,让计算机去做那些成人能够做到的事情很容易,但是让它们去做那些 1 岁孩童做的事情几乎是不可能的,像是拿着一颗球,或者是辨别车辆等。在 20 世纪 90 年代前,计算机象棋方面取得了一些进展,但我们离强人工智能还很远。
谷歌大脑是首个投资人工智能所能呈现的可能的重大商业机构。Dean、Corrado 和吴恩达用兼职时间工作,协作实验,但他们很快就取得了进展。他们从近期的理论基础以及上世纪 80 年代、90 年代的思路中获取设计灵感,并利用公司无与伦比的数据资源和大量计算基础设施,在大量的银行标记数据(例如,准确录音的语音文档)上构建网络,结果计算机的回应和真实情况实现了很好的匹配。
Dean 相当保留地说,「进化中动物发育出眼睛是一大进步。」当时,我们像往常一样坐在一间带有白板的会议室,他在白板上密密麻麻写上谷歌大脑的时间轴,以及与近期神经网络的历史拐点的关系。
「现在计算机有了眼睛,我们可以围绕现有的能力建造眼睛从而理解不同的难题。」
他们建造的这些能力看起来很简单,但影响很大。
图:Geoffrey Hinton
2. 想像不到的实习生
Dean 说,在谷歌大脑诞生的一两年左右,该部门在开发一岁儿童智能水平的机器上取得非常好的结果。其语音识别团队将他们的旧系统和神经网络结合了起来,实现了近 20 年来最好的提升。他们的系统的物体识别能力也提升了一个数量级。这并不是因为谷歌在这一年突然想出了什么突破性的方法,而是谷歌开始向其中投入更为显著的资源和人才。
作为当时一些概念的提出者和优化者,Geoffrey Hinton 在谷歌大脑成立的第二年加入谷歌大脑,和吴恩达共事(吴恩达现在在百度领导着 1300 人的人工智能团队)。当时,Hinton 只想离开其在多伦多大学的岗位 3 个月,所以因为一些合同上的原因他的身份是实习生。在「实习」培训期间,Hinton 还问了「什么是 LDAP(一种用户登录方法)?」这样的问题。那里有很多 25 岁左右的聪明学生一起培训,他们只是对深度学习有所耳闻而已,他们会问:「这个老头子是谁?为什么他在这里实习?」
Hinton 说:「在午餐时间,有人大叫:『Hinton 教授,我上过你的课!你在这里做什么?』自那以后,一切都变好了。」
几个月后,Hinton 带着两个学生在 ImageNet 图像识别竞赛上展现出了真正激动人心的成果。谷歌很快就接触了 Hinton,要给他和他的学生工作邀请。他们接受了。Hinton 说:「我认为他们对我们的知识产权感兴趣,结果发现他们感兴趣的是我们。」
Hinton 来自一个老式的英国家庭,希望在天文学或流体动力学领域做出一些小的贡献。他有一位伟大的曾曾外祖父乔治·布尔——计算机基础的布尔逻辑的提出者,还有一位曾曾祖父是著名外科医生,他的父亲是一位有冒险精神的昆虫学家,他的叔叔是洛斯阿拉莫斯国家实验室研究员……他在剑桥和爱丁堡上学,然后在卡内基梅隆任教,最后落脚多伦多大学,并在那里度过了他的半生时间(他的研究工作得到了加拿大政府的大力支持)。我在当地的谷歌办公室拜访了他,他会说一些奇怪的话,比如说:「计算机会比美国人先理解讽刺。」
自 60 年代末 Hinton 在剑桥的本科阶段以来,他就一直在研究神经网络,被视为这个领域的先驱。但在那个时候,当他谈论机器学习时,人们看他就好像在谈论托勒密球或水蛭。那时候神经网络被当作是未经证实的愚蠢想法。造成这种看法的主要原因是当时一个被炒作过度的项目:Perceptron(感知器)——康奈尔大学心理学家 Frank Rosenblatt 在 50 年代末开发的一个人工神经网络。该研究的资助者美国海军预期其「能走路、说话、看见、书写、复制自己和意识到自己的存在」。结果没让任何人满意。
美国的人工智能元老 Marvin Minsky 也在他 1954 年普林斯顿的论文里研究过神经网络,但自那以后,他渐渐地就对 Rosenblatt 对神经范式的夸张说法感到厌倦了(他们当时也在竞争美国国防部的资金)。后来,Minsky 和他的 MIT 同事出版了一本书,证明有一些非常基本的问题是感知器无法解决的。
Minsky 对感知器的批评只扩展到了一层(layer)的网络,而后来,他却又阐释了和当代的深度学习非常相似的思想。但那个时候 Hinton 已经明白使用很多层的网络可以执行复杂的任务。对于神经网络的最简单的描述是:基于发现数据中模式的能力来进行分类和预测。如果只有一层,你只能发现一个简单模式;有更多的层时,你甚至能发现模式的模式。比如图像识别,现在这项任务依赖于一种被称为「卷积神经网络」的技术(该技术是由 Yann LeCun 在其 1998 年的开创性论文中提出的,他是 Hinton 的博士后)。该网络的第一层学习非常简单的「边(edge)」,意味着一个 off-pixel 之后跟着一个 on-pixel,或相反。后续的每一层都会在前一层中寻找模式。边的某一个模式可能是圆或三角形,而圆或三角形的模式又可能是一张脸……这种技术有点类似于人类视觉系统处理到达眼睛的信息的方式。在每一个感知步骤,不重要的细节会被丢弃。如果边、圆、三角形之类的模式能够组合成一张脸,那么我们的目的就达到了。
多层的深度神经网络的问题在于试错(trial-and-error)的部分会随着深度的增加而越来越复杂。这就像让孩子学习把玩具放进身边的箱子 A,一下子就学会了。如果让他学习带着玩具走过一段很多分支的路然后放进 A 箱,那就可能会在中间走错路。怎么让机器学会这样复杂的指令呢?为了解决这个问题,Hinton 及其同事在 70 年代末和 80 年代的停滞期发明(或者说重新发明)了一个解决方案,然后计算机科学家对神经网络的兴趣有了短暂的恢复。Hinton 说:「人们对此感到兴奋,但我们炒作过度了。」不久之后,计算机科学家又继续将 Hinton 看作是怪人和神秘主义者了。
但这些思想却受到了哲学家和心理学家的欢迎,他们将其称为「联结主义(connectionism)」或「并行分布式处理(parallel distributed processing)」。Hinton 说:「少数几个人的想法就让这个思想继续燃烧,这是一个不错的神话。在人工智能领域这确实是事实,但是在哲学领域,很多人相信这是正确的,他们只是不能实践。」尽管 Hinton 得到了加拿大政府的资助,但他自己也不能做到。「那时候的计算机算力和数据都不够。我们这边的人常常说:『呃,如果我有一台真正大的机器,它就有效果。』这可不是什么很有说服力的论据。」
3. 深度学习的深度解释
人脑中神经元的平均数量的数量级大概是 1000 亿。其中每一个神经元都与其它 10000 个神经元相连,这意味着突触的数量是在 100 万亿到 1000 万亿之间。我们目前仍然远远不能构建那么大规模的网络,但谷歌大脑的投资已经帮助实现了大约小鼠大脑的人工神经网络。
为了理解为什么规模会如此重要,你首先要理解这项技术的细节。有些人认为人工智能可以直接从图书馆或网络上读取理解知识,但事实并非如此。它们的工作是在数据中寻找模式——先是基本模式,然后寻找更复杂的模式。
如果这个简短的解释不够说明问题,没有技术背景的读者可以阅读下一节关于猫的故事(当然这一节也有猫)。
假设你要在老式的符号式人工智能模型上编程一个猫识别器。那么你需要花大量的时间来帮机器定义什么是「猫」——四条腿软软的毛、尖尖耳朵喵喵叫……所有这些信息组合起来构成了一只猫。然后你向其展示一张图片用于识别。首先,该机器需要分解图片中不同的元素,然后再将这些元素和它记忆中的信息进行比对。如果有四条腿、尖耳朵、有胡须、有尾巴、表情傲慢,那么这就是一只猫。但是这个模型却不能识别苏格兰折耳猫——这种有基因缺陷的猫的耳朵耷拉在头上。
现在让我们来尝试用神经网络识别猫。我们并不会人工编写猫的定义,它们的定义存在于大量互连的「开关」之中,就像一条带有大量分岔路的道路。在这团开关的一边是输入的图片,在另一边则是对应的输出标签。然后你让网络自己通过调整其中的每一个开关来将一个输入映射到对应的输出。这个训练过程就像是走隧道迷宫一样,目的就是要将输入和合适的输出连接到一起。训练数据越多,隧道的数量和复杂性就越大。一旦训练完成,这团开关之中就有了大量的隧道,可以在其从未见过的数据上做出可靠的预测,这就是所谓的「监督学习」。
为什么这样的网络需要如此之多的神经元和数据呢?因为从某种程度上讲,该网络的工作方式就像是一种「机器民主」。可以假想你想要计算机进行 5 种分类,你的网络由数亿个神经元「投票人」组成,他们可以进行 5 个选项的投票:猫、狗、蜘蛛猴、勺子和除颤器。然后你拿出一张图片问:这是猫、狗、蜘蛛猴、勺子和除颤器中的哪一个?投票者开始投票,然后网络统计员根据大多数的意见认为这是狗。
然后你告诉他:「不对,这是猫。再投一次。」
然后,统计员回头检查哪些投了猫,哪些选了其它的。选了猫的投票者获得了加权——「一票可当两票用」(至少在选择猫的时候,选择其他分类时权重可能不同);这样不断调整知道得到正确的答案。所以重要的不是单个神经元的票,而是整个投票的模式。你的投票者越多,你就能获得越多的模式。如果你有数百万个投票者,你就能获得数十亿种模式。每一种模式都可以对应一种结果,这些不同的模式归类成不同的类别。训练的数据越多,网络就越了解一种模式属于哪一个类别,就能在未来遇到没有标注的图片时做出更准确的分类。
计算机科学领域对这些思想有如此大的抵触的部分原因是其输出只是基于模式的模式(patterns of patterns) 的预测,这不会是完美的,而且这样的机器也不能为你定义到底什么是一只猫。只有当它看到一只猫时,它才能知道那是猫。但这个方法的最主要缺点还是数据量。要让神经网络理解一只猫是在懒洋洋晒太阳还是躲在阴影里注视世界,我们需要给神经网络送入大量大量的数据,需要大量大量的投票者。而这是很难满足的需求。
值得一提的是,神经网络的概率性本质使其无法胜任某些任务。但有些情况我们又需要它完美,比如自动驾驶汽车的应用。但这不是唯一的缺陷。监督学习是一种基于有标签数据的试错过程。也就是说,机器的学习使用了人类最先设计的分类,这个过程有很大程度上的人类参与。如果你的训练数据存在对女性或少数族裔的偏差,那么最后得到的模型也会是有偏见的。
4. 猫识别论文
在最初的一两年,谷歌大脑设计出了具有 1 岁孩童智力的机器,这些努力让其最终从 X 实验室毕业,进入了公司更宽阔的研究中。(谷歌 X 负责人曾提到谷歌大脑曾支付过 X 的所有花费)。而那时的谷歌大脑团队依然不足 10 人,也不清楚最后会得到什么。但即使如此,他们仍在思考接下来会发生什么。人的思想不需要多少时间就能学会识别球和其它东西,时间或长或短。然后,开始进军语言。
谷歌大脑在这个方向迈出的第一步是一篇关于猫的论文,也让谷歌大脑出名了。
这篇论文证明的是带有十亿「突触」连接的神经网络(要比当时公开的任何神经网络都要大数百倍,当然也要比我们大脑小无数数量级)能观察原始的未标记数据,从而为自己挑选出高级的人类概念。
谷歌大脑研究员像网络展示了 YouTube 视频的数百万张静止图片,无论是翻滚的猫,还是面部清楚的猫,神经网络会先剥离出一个稳定的模型,能毫不迟疑地识别出这是猫。机器之前从未被编程过有关猫的先验知识,它直接接触世界、为自己抓取想法。
当时大部分的机器学习还受限于标记数据的质量。猫识别论文证明机器也能过处理原始为标记数据,即使这些数据人类之前从未建立先验知识。这不仅是猫识别研究上的重大进展,也是整个人工智能的重大进展。
这篇猫论文的第一作者是 Quoc Le。他在越南顺化城边长大,父母都是农民,家中甚至没有电。但艰苦的环境没有埋没 Quoc Le 的数学天赋,他很小就被送到科学院学习。在上世纪 90 年代后期,他还在学校中的时候,他尝试开发了一个聊天机器人。他想看看这到底有多难。
「但事实上,」他对我悄悄说道,「这实在是难。」
Quoc Le 从越南的农村一路走来,进入了堪培拉的澳大利亚国立大学。在那里,他进行了人工智能的一些研究。时间主导的方法,例如给机器传递边缘这样的概念,让他感觉有点像是作弊。Quoc Le 当时并不知道,这一领域当时在全世界有几十位学者正在做着同样的研究,很多人都不约而同想到了机器可以从头开始学习。在 2006 年,Quoc Le 在德国大学城 Tübingen 的马克斯·普朗克生物控制论研究所任职。在一个读书小组中,他接触了 Geoffrey Hinton 的两篇论文。
「当时出现了一次很大的争论,」他对我说道。「一次非常大的争论。」我们坐在一个小型会议室里,一个狭窄的有着很高天花板的空间,配备了一个小桌子和两个白板。他看着他在他背后白板上画的曲线,轻声说道,「我从没有见过这样激烈的辩论。」
他记得他在读书小组中站起来发言,「这就是未来。」他表示,发表这种言论在当时那种情形下可不是一个很好的选择。他在澳洲国立大学的前导师,在小组里坐在他的旁边,事后发来电子邮件质问:「你为什么要这样做?」
「我当时没有办法回答这个问题,」Le 说,「我只是好奇。那是一个成功的范式,但实话说我只是对这个新范式感到好奇。」2006 年时,此类讨论活动还屈指可数。」很快他进入了吴恩达的门下,在斯坦福大学开始了追随 Hinton 理念的旅程。「到 2010 年底,我已经非常确定马上将有变革会发生了。」
随后发生了什么?不久以后,Le 成为了 Google Brain 的实习生,在那里,他继续着自己的研究——最终成就了这篇猫的论文。在一个简单的层面上,Le 希望看到计算机是否可以训练自己识别给定图像中最重要的信息。他的神经网络训练了从 YouTube 中获取的大量数据。之后,他命令神经网络丢掉图像中包含的一些信息,但他没有指定抛弃哪些信息。机器开始服从命令,抛弃一些信息,一开始,被抛弃的内容是随机的。随后他说:「好了,现在根据保留的信息尝试重新构建原始图像。」这就像他在让机器「总结」一张图片的内容,然后再从总结描述中还原这张图片。如果图片描述中包含的是不相关的信息——如天空的颜色而不是胡须——机器就不能有效地重建原始图像。
这就像一个原始人,需要在剑齿虎附近隐蔽自己的行踪,这个过程不能发出一点声音。Le 的神经网络不需要原始人那样小心,它可以无限次地试错。每一次它都会在数学上「选择」一个新的最优解试图让信息的处理更加准确。
神经网络在某种程度上来说是一个黑箱。它识别模式,但识别模式的过程对于人类观察者而言并不总有直观意义。同样的网络既能识别猫,也能识别出某些形式的家具和动物的组合,比如一条长椅和一只山羊重叠在一起。
Le 并不认为自己是一个语言学者,但他认为这项研究和他早期的聊天机器人有一些相同之处。在猫论文之后,他意识到如果你要求神经网络总结一张照片,你应该要求它生成一句完整的话来形容照片的内容。这个问题是 Le 和他在谷歌中的同事 Tomas Mikolov 在之后两年里的主要研究内容。
在那个阶段,谷歌大脑发展迅速。有一段时间,他们在大楼的同一层办公,可以随时和高管们分享自己的想法。他们后来收到了一封电子邮件,信中要求他们禁止团队成员在 Larry Page 和 Sergey Brin 的套房前面的沙发上睡觉,因为这会让来访的客人们感到尴尬。随后,他们被分配在街对面的一个大楼中,在那里,他们在厨房中交流,不会被繁文缛节所拖累。在那段时间,谷歌的竞争对手们纷纷加快了追赶步伐。
Le 一直向我强调他与 Tomas Mikolov 的密切合作,他以一种奇怪的方式重复 Mikolov 的名字,听起来有点可怕,他在说这个词的时候表现出了前所未有的庄严,我终于无法抑制住自己的好奇心,问道:「他是...?」Le 点了点头。「他现在在 Facebook 了。」
Google Brain 团队的图片小组在 2012 年发布著名的「猫论文」,展示了神经网络对于未标记数据的分析能力
他们花费了很长一段时间构建这个神经网络架构,使其不仅可以进行简单的照片分类,也可以识别各种静态的,但同样复杂的结构,如语言和音乐。其中用到的许多方法在 20 世纪 90 年代已被提出,Le 和他的同事们回到那些长期被忽视的研究成果中去寻找。他们明白,一旦建立起了具有基本语言预测能力的系统,你就可以用它从事其他各种智能的任务——例如自动回复电子邮件或预测一个谈话流程。你会发现它看起来很神奇;在外行眼里,看起来它就像是在思考。
Part II:语言机器
5. 语言学的转向
目前谷歌大脑团队不像是一个巨大的企业层次分明的科技公司的一个部门,而更像是一个社团或者一个学术集体,或者说是一个「星际酒店」。这些年来谷歌大脑团队的成员一直是整个谷歌内部比较自由且广受赞誉的员工。
当我 6 月份开始进驻谷歌大脑团队的时候,办公室里还有成排的空工位,但已被贴上便利贴,上面大多写着类似「Jesse,6/27」(新职工及将要入职时间)这样的标注。现在这些空工位都已满。
谷歌大脑团队的发展使得团队的负责人 Dean 开始有点担忧公司对需求的掌控。他想一改谷歌以往「成功毁灭者」的形象,而外界对谷歌的这个印象是由于谷歌在产品开发落地上的能力远不及其在理论研究上的能力。他曾做过简单的估算,并用一个只有 2 页的 PPT 向执行董事汇报了他的估算。「假设未来使用安卓手机的用户每人每天和手机语音对话的时间为三分钟,那么这就是我们所需服务器的总量。」也就是谷歌需要将他们的全球计算能力扩增 1 到 2 倍。「这个数量听起来有些吓人,但是我们必须去做——去建造新的数据处理中心。」他不愿去设想如果不这样做的后果。
但是还有另外一种解决方案:只需设计芯片,成批量的设计出让所有计算过程更快的芯片并在全球各地的数据中心使用。这些芯片将被称为「张量处理单元(TPU)」,这些芯片区别于普通芯片在执行计算过程时是非精确计算,这也是体现芯片价值之处。如在计算 12.246 乘 54.392 的时候,芯片会给一个 12 乘 54 的近似计算值。在数学层面上,一个神经网络只是一组成百上千或者成千上万的矩阵的有序计算。对这些矩阵的计算过程而言,计算速度比精确计算更重要。「一般情况下,为某一特别任务而设计硬件是一个不明智的做法。因为这样设计出来的硬件只能加速该项任务的计算过程。但是由于神经网络的普适性,你可以在很多其他的任务执行时运用专为神经网络而设计的硬件。」Dean 说。
当芯片的设计过程即将完成的时候,Le 和两个同事终于证明出神经网络可以用来构造语言模型。他的结论是基于「词向量」而得出的。当你看到图像的时候,大脑会从边缘到图形依次概括图像主要内容。语言概括的过程也与此类似,你本质上也是在构建不同维度的距离图。在构建的时候,依据惯用使用规则,构建一个词和其他单独的每一个词的距离。计算机并不是以人认知语言的方式进行语言分析的,而是在构建的距离图里转移、偏转或者倾斜词向量。二维的向量图是没有价值的。比如在地图中你希望 "cat "在 "dog "附近,同时 "cat "也在 "tail""supercilious""meme"附近,因为你需要构建这些词相互之间的关系而且一个词(这里是"cat")对于其他所有词的关系有强弱之分。如果一个词与其他所有词之间的关系各自成为一个独立的向量维度,那么一个词与其他词之间的关系就能一步构建出来。但是创建一个维度为 16 万的向量不是一件容易的事,所幸的是某种语言的词向量图完全可以用一个只有一千维度的向量图来很好的构建出来。换句话说来说,在这个词向量图的空间里,每个词是由一组 1000 个数值来定位的。
但是在这样构建的空间里,并不能很好地显示出不同种人的称呼之间的区别。如果把定位「king」的那组数对应的减去定位「queen」的那组数中相同位置的数那么得到的新向量将会同定位「man」的那组数对应减去定位「man」那组数的向量相同。如果让机器学习整个英语词汇所构建的向量空间图以及整个法语词汇所构建的向量空间图,在理论上你是可以训练出这样的一个神经网络,从英语中选取一条语句对应的生成法语中向量值相同的语句。在训练时,你只需要先将大量的英文语句作为网络的数据输入,然后将对应的法语语句作为网络的输出,进行一个监督学习的过程,在机器完成这个监督学习之后神经网络将会习得词语之间的关系,这就跟图像分类器能识别不同像素点之间的关系一样。词语和像素之间的主要区别在于一副图像中的像素点在时间上是没有先后之分的,而词语的使用是有时间先后的。你需要时刻让神经网络"记住"它是以时间先后的顺序来处理语句,即从语句的第一个词至最后一个词的顺序进行。在 2014 年 9 月的某周里,这种处理方法的所有理论工具在三篇论文中被提出来。一篇来自 Le,另外两篇来自加拿大和德国的研究者。他们的研究催发了一些开发式的项目如谷歌大脑的 Magenta 项目,这个项目是对机器如何创作艺术作品和音乐作品的研究。同时也为工具性的研究(如机器翻译)扫清障碍。
6. 伏击
Le 的论文表明神经翻译是靠谱的,但是他只使用了一个相对较小的公共数据集。(对于谷歌来说很小,要知道谷歌拥有世界上最大的公共数据集。过去十年旧的翻译系统已经积累了比其使用的数据集大上成百上千倍的生产数据。)更重要的是,Le 的模型对于超过 7 个单词的句子就不怎么管用了。
Mike Schuster 那时是 Brain 团队的一名研究科学家,接管了这项研究。他明白如果谷歌找不到一种能将理论见解拓展到产品层面的方式,其他人也会找到的。这个项目花了他两年的时间。Schuster 说,「你想要翻译一些东西,你就要有数据、做实验,并且你做了,效果未必如你所愿。」
Schuster 是个时刻保持紧张专注,大脑永远灵活的家伙,皮肤黝黑,肩膀不宽,穿着窄口过膝迷彩短裤,脚踩一双闪着荧光的 Nike Flyknits。Schuster 在前西德 blast-furnace 区的杜伊斯堡长大,研究的是电子工程,后来去京都研究早期的神经网络。上世纪 90 年代,他做了一个会议室大小的神经网络机器实验;花费数百万美元,训练了好几周才能做一些你现在一个小时内就能在台式电脑上训练出来的东西。1997 年,他发表了这篇研究的论文,之后的十五年都几乎没有人引用过;今年,这篇文章被引用了 150 次左右。他不乏幽默,但穿着上总是流露出一种严肃的感觉,他的签名带着一种日本人和德国人特有克制感。
这个非解决不可的问题很棘手。一方面,Le 的代码是自定义编写的,与谷歌之后新开发的开源机器学习平台 TensorFlow 不兼容。2015 年秋天,Dean 给 Schuster 介绍了另外两名工程师,Yonghui Wu 和 Zhifeng Chen。然后他们花了两个月将 Le 的结果复制到这个新系统上。Le 就在旁边,但是他从头到尾都没有给过他们一点指导。
就像 Schuster 说的那样,「很多工作都不是在完全清楚的情况下完成的。他们不知道自己为什么要做。」今年二月,谷歌的研究组织——谷歌的一个松散部门,大约有 1000 名员工,做的都是前瞻性和一些未知的研究——将总部外的各个带头人召集到联合广场上的 Westin St. Francis 酒店,奢华程度略低于谷歌自己在东部一英里之外三藩市里的那家店。上午是几轮的「闪电会谈」,快速汇报最新的研究进展,下午是悠闲的跨部门「促进讨论。」这次召集是为了提供一个场合能促进不可预测的、不明朗的、贝尔实验室风格的交流,期望这种交流能给公司带来更多的生产力量。
午餐时间,Corrado 和 Dean 两人在找谷歌翻译的负责人 Macduff Hughes。Hughes 一个人用餐,两名谷歌大脑的成员坐在离他有点距离的两边位置上。就像 Corrado 说的那样,「我们伏击了他。」
「O.K.」Corrado 想放松 Hughes 的警惕,让他的呼吸恢复平稳。「我们要和你谈点事。」
他们告诉 Hughes 2016 年是个不错的时机,可以用神经网络重整一下谷歌翻译——数百名工程师超过十年编出来的代码。这个旧系统采用的是 30 年来所有机器翻译系统采用的方法:它能将连续的句子片段隔开,在一个大型统计衍生词汇表中检索句子中的单词,然后使用一组后处理规则附上适当的结果,再重新排列起来组合成句子。这个方法叫「基于短语的统计机器翻译」,因为直到该系统获取下一个短语,它才知道这个短语是什么。这就是为什么谷歌翻译的输出有时像一对抖动后的冰箱贴。如果谷歌大脑团队的神经网络能用到翻译中来,就能实现阅读并在一个草稿上呈现完整的句子。它会扑捉整个语境,这和句子表达的意思紧密相关。
赌注似乎很低:谷歌翻译带来的收入最小,而且这种情况可能会一直持续下去。对于大多数以英语为母语的用户来说,即使是激进地升级一个服务,也不会给他们带来任何用户体验上提升。有个案例可以说明这个问题,人类水平的机器翻译不仅是短期内的必需品,长期来看其发展也很可能会带来颠覆性的变化。在这中间,公司打什么样的战略至关重要。谷歌估计,英语中有 50% 的使用来自 20% 的世界人口。如果谷歌打算进军中国——这里大多数搜索引擎流量的市场份额属于它的竞争对手百度——或印度,得体的机器翻译将是基础系统不可或缺的一部分。2015 年 7 月,百度也发表了一篇关于神经机器翻译的开创性论文。
在更远的将来,机会更多,机器翻译可能是迈向一个使用人类语言的通用计算设备的第一步。这将在真正的人工智能的发展道路上代表一个主要的转折点,或许它本身就是主要的转折点。
硅谷的大多数人都意识到机器学习是一条捷径,所以 Hughes 预料到 Corrado 和 Dean 会来找他谈这个事情。他仍然保持怀疑。这个温和强壮刚刚步入中年的男人,蓬乱的褐色头发,两鬓却已斑白。Hughes 是一个典型直线条的工程师,就是那种上世纪 70 年代出现在波音飞机草稿桌上工匠。他知道,多年来在谷歌其他岗位上或者谷歌之外其他地方的很多人一直试图做神经翻译的研究,不仅是实验室里的还有能投入量产的,但是收效甚微。
Hughes 听了他们的案例,最后小心翼翼地说,这听上去就好像他三年内就能做出来一样。
Dean 却不这么想。「如果我们真的想做,今年内就能做出来。」人们喜欢并崇拜 Dean 的一个原因就是他总能成功地实现自己的想法。另一个原因是,他能轻松地说一件很严肃的事情,「我们能不能把我们的想法加进去。」
Hughes 那时肯定神经翻译不会那么快实现,他个人不关心是一个原因。「我们来为 2016 年做准备,」他回去告诉他的团队。「我们不会说 Jeff Dean 没那么快。」一个月后,他们终于可以运行一个并排(side-by-side)实验,将 Schuster 的新系统与 Hughes 的旧系统相比较。Schuster 想用它来试一试英语-法语翻译,但是 Hughes 建议他换个语种试试。「英语-法语太简单了,提升不会太明显。」
Schuster 不会坚持这个挑战。评估机器翻译的基准度量是 BLEU 得分,它将机器翻译的结果与许多可靠的人类翻译的平均水平相比较。当时,英语-法语最好的得分是 20s。有一个点的改进就是非常好;两个点的改进就算是十分出色了。
英语 - 法语语对上的神经系统改进比旧系统多达 7 分。
Hughes 告诉 Schuster 的团队,在过去四年里,他们自己的系统中从来没有出现过这么大的改进。
为了确保这不是侥幸得出的,他们也利用人力对此进行了平行比较。在用户体验得分中,其中例句得分从 0 到 6,平均改善了 0.4——大致相当于旧系统在其整个生命周期的总增益。
谷歌的 Quoc Le(图右),他的工作证明了神经翻译的合理性,Mike Schuster 帮助将这项工作应用于谷歌翻译。图片来源:Brian Finke for The New York Times
三月中旬,Hughes 给他的团队成员发了一封邮件,暂停了所有旧系统有关项目。
7. 将理论变为产品
在那之前,神经翻译团队只有三个人(Schuster、Wu 和 Chen),但是在 Hughes 的支持下,更多的团队开始了联合。后来他们在谷歌大脑写字楼开会,会议一般有十几人参加。当 Hughes 或 Corrado 在的时候,他们是仅有的以英语为母语的人,工程师们用混杂的语言和数学进行表达,不过他们讲中文、德语和日语等其他语言。在 Google,谁举行会议并不总是完全清楚的,但这次会议是没有疑义的。
不过即便如此,他们所需要采取的步骤还是不完全确定的,整个过程都是不明确的。Schuster 将手伸出到胸前 8 英寸说:「这就像在大海里游泳,你只能看到这么远的距离,目标就在某处,或许它就在我们这里」
大多数谷歌的会议室都配有视频聊天显示器,它会在闲置时显示极高分辨率的过饱和公开 Google+照片,包括梦幻森林、北极光或德国国会大厦。Schuster 指向正在显示华盛顿纪念碑水晶般静立的夜景屏幕,「外人会认为我们每个人都有双筒望远镜,可以看到遥远的前方。」
到达现在的理论工作已经让他们精疲力竭了,那么将它转化为可行的产品呢,做学术的科学家可能就会将其归于纯粹的工程学,并认为要实现起来是不难的。首先,他们需要确保有良好的数据进行训练。谷歌数十亿词的「阅读」训练主要是由中等复杂性的完整句子组成,就像海明威的那样。其中一些是公共领域内的:统计机器翻译 Rosetta Stone 就是数百万页的加拿大议会的完整的双语记录建立的。然而它的大部分都从 10 年收集的数据中剔除,包括从热心的受访者得到的众包翻译数据。他们团队的语料库里有大约 9700 万个独特的英语「单词」。但是一旦他们删除了表情符号、拼写错误和冗余,他们的有效词汇量就只剩下了大约 16 万。
然后你不得不重新关注用户实际想要翻译的内容,这通常与是否使用合理的语言无关。谷歌发现许多人不去看复杂句子翻译地是否完整,而是考察那些奇怪的小碎片语言。如果你希望网络能够处理用户查询流,那么就必须确保将其定向到处理小碎片语言。该网络对其训练的数据非常敏感,正如 Hughes 向我提出的一点:「神经翻译系统就像一个小孩,它正在学习一切」他笑着说:「你们都应该谨慎点」
不管怎样,他们需要确保整个翻译过程是快速和可靠的,这样用户才能接受这个产品。在今年 2 月,神经翻译翻译一条 10 个单词长的句子需要 10 秒钟,他们是不可能去推荐一个如此慢的翻译系统。所以翻译小组开始对一小部分用户进行延迟实验,以伪造延迟的形式识别容错。他们发现,如果翻译需要 2 倍到 5 倍的时间不会被注意到,但是到达八倍的减速就会了。他们不需要确保所有语言都是这样,在高流量的语言(如法语或中文)的情况下,他们几乎不会放慢速度。而对于一些更模糊更抽象的事物,他们知道如果用户能获得更好的质量,那么基本不会害怕轻微的延迟。他们只是想防止用户转换到某些竞争对手的服务上。
对于 Schuster 而言,他承认不是太清楚他们团队能否让这个系统运行地足够快。Schuster 还记得和 Chen 在小厨房里的对话,他当时说:「一定有一些我们不知道的,但能使我们的系统运行地足够快的东西,虽然我不知道是什么」。不过他们都知道他们需要更多的计算机,确切地说是需要更多的图形处理器训练神经网络。
Hughes 去问 Schuster 他是怎么想的:「我们是不是应该使用一千块图形处理器?」
Schuster 回答:「为什么不用 2 千块?」
十天后,他们增加了 2000 块图形处理器。
到 4 月份,原来的三人阵容已经超过 30 人,其中一些人,如 Le,来自谷歌大脑团队,许多人还是来自谷歌翻译。5 月,Hughes 为每种语对配备了一位临时主管,每个人都需要将结果录入到一个大型的共享绩效评估电子表格中。在任何时候都至少有 20 个人正在进行为期一周的独立实验,并处理出现的各种意想不到的问题。有一次有一个模型毫无缘由地把开始所有句子中的数字删除。这个问题花了几个月的时间才得以解决。Schuster 说:「所有人都在着急地大喊大叫。」
到春末,各部分的工作都聚在一起。团队引入了一些诸如 word-piece model、coverage penalty、length normalization 的概念。Schuster 说,「每个部分的结果都能改进几个百分点,总体就会有显著的效果。」一旦模型标准化,它将只是一个单一的多语言模型,而不是目前使用的翻译的 150 种不同模型,这一模型将会随着时间的推移而不断改进。但是,当一个工具通过学习机器来实现普遍化时,实现自动化的过程会需要异于常人的才智和努力。但是很多做出的决定都依赖的是直觉。每层需要使用多少个神经元?1024 还是 512?有多少层?一次运行多少句?需要训练多久?
Schuster 对我说,「我们做了成百上千次实验,直到我们确定在一周后我们可以停止训练。你总是在问我们什么时候才可以结束?我怎么知道我做了些什么?你永远不知道你做了些什么。机器学习的机制永远都达不到完美的状态。你需要训练,在某一个时间,你需要停下来。这就是整个系统的本质。对于某些人来说,这确实很困难。这就是创造艺术一样,你得拿着你的刷子慢慢让它变得完美。所以我们要去做,有些人会做得越来越好,有些人会越来越糟糕。」
5 月份,谷歌大脑团队了解到,他们唯一能够使系统作为产品快速实现的方法是能够在 TPU 上运行。正如 Chen 所说:「我们甚至不知道代码是否能工作。但是我们知道没有 TPU 肯定是不行的。」他还记得曾经一个接一个地去请求 Dean,让他帮忙保留一些 TPU。Dean 保留了,但是 T.P.U.s 却不能正常工作。Wu 花了两个月的时间坐在硬件团队的人旁边,试图找出原因。他们不只是在调试模型,他们也在调试芯片。神经翻译项目成为整个基础设施投资概念的验证。
六月一个星期三的晚上,在 Quartz Lake 举办的一个会议以对近来出现在行业权威网上论坛上百度的一篇论文的讨论开始。Schuster 说,「确实百度出了一篇论文,就好像有人在监视着我们一样——相似的架构、相似的结果。」它们的 BLEU 分数是谷歌在二三月份内部测试时达到的分数。
谷歌团队知道它们应该早一点发布自己的结果,这样或许就能够打败它们的竞争对手。但 Schuster 说道:「推出要比发布更重要」。最终他们确实首先推出了更好的服务。但是 Hughes 说,「我们不想说这是一个新系统,我们只想确保它能够正确运行。理想的情况是看到大批人在 Twitter 上面说:『你们有看到谷歌翻译现在有多厉害吗?』」
8. 一次庆祝
9 月下旬一个星期一的下午,团队的论文最终发布,论文共有 31 位作者。第二天谷歌大脑和谷歌翻译的成员聚集在为厨房中举行了一个小小的庆祝活动。一定程度上,它们是在庆祝谷歌大脑和谷歌翻译的联合工作。
谷歌的神经翻译终于开始运作了起来。在聚会举办的时候,公司的中英翻译已经处理了 1800 万条查询指令。几周之后,谷歌正式将神经翻译拓展到了中英互译领域,这是谷歌取得最好业绩的语言对。
Hughes 说道:「上一分钟存在问题,上上一分钟也存在问题,对论文的测量误差或者是一个奇怪的标点符号都可能导致系统缺陷,但所有的问题我们都解决了,或者至少当前是有效解决了。神经翻译目前取得了一些进步,但是这种进步是间断的、垂直的,而不是一条光滑的曲线。相关的翻译并不仅是关于两个团队,而是关于将理论转变为现实,目的是为了交流、合作。」
Dean 说:「它们展示了可以同时处理两大主要任务的能力:做研究,并且将结果摆在 5 亿人(我猜测)的面前。」
所有人听到都发出了笑声,并不是因为这句话夸大其词,反倒是因为它丝毫没有夸张。
后记:没有灵魂的机器
或许对于人工智能最著名的历史性批判或者是在其立场上做出的断言,便设计到了翻译的问题。伯克利的哲学家 John Searle 中 1980 年提出中文屋(Chinese room)的实验。在这个思想实验当中,他将一个只会说英语的人关在一间只有一个开口的封闭房间中。房外的人不断向房间内递进用中文写成的问题。房间里面的人只有几张桌子和一本用英文写成的手册,指示他该如何处理收到的汉语讯息及如何以汉语相应地回复。房内的人便按照手册的说明,很快他们的回答似乎就变得与与讲中文的人没有什么差别了。那么我们可以说房间里面的人「懂」中文吗?Searle 的答案是否定的。他在之后用计算机来作比喻,他说「给适当编程的电子计算机赋予正确的输入和输出,就会造成一种计算机和人脑一样也具有思维的感觉。」
对于谷歌大脑团队,以及在硅谷从事机器学习工作的几乎每个人来说,这种观点都有些文不对题。这并不是说它们在无视哲学问题,而是说他们对智能的思维有着完全不一样的看法。和 Searle 不一样,他们没有从特殊的心理方面来分析「意识」,Gilbert Ryle 将其称之为「意识的灵魂」。他们只是相信我们称之为「意识」的复杂技能分类,在很多简单机制的协调活动中是随机出现的。因此,逻辑推理就成为了一种补足的方式,就像是我们扔球和接球的能力一样。人工智能并不是要去建立一种思维,它是对于解决问题工具的改进。Corrado 在我第一天进入谷歌的时候就对我说,「人工智能并不是关于机器『知道什么』和『理解什么』,而是关于它可以『做什么』,还有至关重要的一点是——它目前还不能做什么」。
而「知道」和「做」这两个概念当中确实存在一些文化和社会含意。Schuster 曾经因为媒体将「谷歌表示人工智能翻译的能力已经与人类无异」(GOOGLE SAYS A.I. TRANSLATION IS INDISTINGUISHABLE FROM HUMANS)放上头条一度在论文中强调这一点,他经常重复论文中的观点——「现在的发展状况比以前要好很多,但还是不及人类。」他希望人们能够清楚地意识到他们所做的工作是在帮助人类,而不是要取代人类。然而机器学习的崛起又为我们提出了难题。如果你相信,根据 Searle 的观点,人类「洞察力」当中存在着一些特殊之处,那你就可以在人类和机器之间划出一条明显的界限。如果你持相反的看法,那么就当然不能。所以为什么那么多人都支持前者似乎就容易理解了。
在 2015 年 MIT 关于人工智能根源的一次大会上,有人问 Noam Chomsky 他对机器学习的看法是怎么样的。他轻蔑的回答说,整个市场都仅仅是在做数据预测,其实就像是天气预报一样。即使神经翻译能够完美演绎,对于语言的本质也并不能产生什么深远的影响。这种预测能够成为我们完成任务的一种很好的工具,但是不能帮助我们理解事情为什么会这样发生。在医学扫描上,机器已经能够比人类放射专家更准确地检测出肿瘤,但是机器不能告诉你是怎么得病的。
那么问题是放射专家能够告诉你吗?
医学诊断是受到机器学习威胁最直接最不可预测的一个领域。放射科医生一般都经过广泛培训,并且报酬优渥,我们认为他们的技能是一种专业洞察力——最高级的思想领域。在过去的一年里,研究人员不仅发现神经网络可以比医疗图像更早找到肿瘤,而且机器甚至可以根据病理报告的文本做出诊断。放射科医生做的事情其实更像是一种预测模式而不是逻辑分析。他们并没有告诉你是什么导致了癌症,他们只是告诉你它在那里。
如果你出于某种目的建立了一个模式匹配装置,它可以在为别人服务时进行调整。一个翻译工程师既可以利用一个网络评价艺术品,也可以用它来驱动一个自主无线电控制的汽车。用于识别猫的网络可以用于训练 CT 扫描。一个用于翻译的神经网络可以很快处理数百万页的法律的文件,所需要的时间和收费最昂贵的资格律师相比也仅仅是一小部分。那些机器可以做的工作也不再仅仅是我们之前所做的一些重复性的工作。我们不只是在谈论 350 万名可能很快面临失业的卡车司机。我们谈论的还有库存管理者、经济学家、财务顾问、房地产代理。
在硅谷发生的最重要的事情现在不是分裂。相反,它对体制的建设和权力的巩固,在规模和速度上都达到了人类历史上可能是前所未有的程度。谷歌大脑有实习生,有常驻职员,有培训其他部门的「忍者」。每个地方都有免费自行车头盔和免费的雨伞、水果沙拉、午休的地方、共享的跑步机书桌、按摩椅、高级糕点、婴儿衣服捐赠场所、配备教练的两层攀岩墙、阅读小组和政策会谈以及各种支持网络。这些大规模投资的受益者可以控制分布在四大洲 13 个数据中心的复杂协调服务器,所拥有的数据中心吸引的电力足以照亮大城市。
但即使像谷歌这样庞大的机构也将面临自动化的浪潮,一旦机器可以从人类的语音当中进行学习,即使程序员的舒适工作也受到威胁。Hughes 在回忆过去 10 年翻译代码库历史时候曾说,「不要担心,新的代码库将会继续发展,一切都会变得越来越好。」
原文链接:http://www.nytimes.com/2016/12/14/magazine/the-great-ai-awakening.html?_r=0
©本文由机器之心编译,转载请联系本公众号获得授权。
✄------------------------------------------------
加入机器之心(全职记者/实习生):[email protected]
投稿或寻求报道:[email protected]
广告&商务合作:[email protected]