编者按:你一定听过Google Brain,也一定使用过Google Photos和Gmail等产品,并且赞叹这些软件竟然能读懂自己的照片,理解自己的语言。其实在它们背后都有人工智能技术的影子。Google曾经是一家搜索公司,但现在的它更像是一家人工智能公司。这其中的转变是如何发生的,又有怎么样的故事呢?
本文编译自Backchannel.com,作者为Steven Levy。
如果你想把人工智能注入你的每一个产品中,你需要培训一支精于此道的程序员团队。
每一个Googler都会机器学习?
听说,Google 工程师 Carson Holgate 最近在练习做一名忍者。
当然,这不是军事方面的训练,今年 26 岁的 Holgate 拥有跆拳道黑带段位,武艺不凡。她所谓的忍术,指的是算数逻辑上的概念。Holgate 几周前加入了这个项目,借此她学到了比体术更具威力的技术——机器学习。作为一名 Android 开发部门的工程师,Holgate 同时也是今年参加“编程忍者”机器学习项目的 18 名主要程序员之一。这个项目的工程师来自 Google 各个部门的天才,按计划,会有专家教导他们如何运用机器学习是各自的产品变得更加聪明,更懂人性。但代价就是,项目将因此变的更加复杂。
“忍者” Carson Holgate
“我们内部代号是,你想成为一名精通机器学习的忍者吗?”Christine Robson 是谷歌机器学习小组产品经理,负责代码的管理,对我说。“所以我们在谷歌的每一个团队都抽调了人手,并花了六个月的时间教授他们机器学习应用课程,通过项目实训,帮助他们在工程项目中运用机器学习提升用户体验。
四年前 Holgate 作为一名计算机科学及数学双学位博士来到了 Google,对于她来说这,是一次绝佳的机会学习世界上最火爆的技术:使用学习算法,并通过大量的数据“教会”算法更好地完成任务。多年以来,机器学习被认为是一个高端科研项目,只有极少数的精英科学家才有可能学会。那个时代已经过去了,新一代基于神经网络的深度学习,模仿碳基生物的大脑,用一套统一的方法论把机器学习的门槛大幅降低了,这套方法论被普遍认为是机器学习的“真理”,是把计算机改造成超级大脑的唯一可行途径。Google 承诺将扩大这类精英人群的数量,使它成为提升用户体验的普遍措施。对于像 Holgate 这样的工程师,忍者计划是她们走在技术最前沿的绝佳机会,通过这项计划, 他们将学习到最先进的机器学习技术。“这些人都在开发不可思议的模型,并借此获得了博士学位”。她的语言中掩饰不住敬畏及敬仰之情。这个项目把所有的学员都称呼为忍者,这一点让她起初觉得不舒服,但后来,她还是克服了心理障碍。“一开始我感觉很难接受,但一旦接受了这个设定,觉得还挺好玩的”。
考虑到 Google 庞大的员工数量—— 6 万名员工中大约有一半是工程师,忍者计划似乎是一个影响相当小的项目。但这个项目象征着公司对于机器学习认识的改变。尽管机器学习在很久前就成为了 Google 的重要研究方向,并且在这方面,Google 十分热衷于聘请各类专家——但公司直到 2016 年才真正被机器学习的魅力吸引。去年,CEO Sundar Pichai 宣布:“机器学习是核心技术,我们要把这项技术融入到我们的每一件产品中,甚至重新设计产品。经过深思熟虑,我们决定在包括搜索,广告推荐,YouTube,及 Play 商店等产品中广泛运用机器学习。尽管这项计划目前还处于早期阶段,但你会看到我们建立系统性的工程,将之融汇于产品中”。
显然,如果 Google 决意把机器学习应用于所有的产品中,那么,每一个产品都必须有对于这些技术有深刻见解的工程师参与开发,这与传统的编程范式有着显著的区别。Pedor Domingos 在其机器学习著作 The Master Algorithm (《算法大师》)中写道,“机器学习是太阳底下的新鲜事,一项能够不断改进自身的技术”。开发出一套机器学习系统,需要辨别出有效的信息,设计针对性的算法,并确保你的所有条件可控且正确。然后(对于程序员来说很难)充分信任你的这套系统,将其投入实际工作环境中。
“当有越来越多的人用这种方式解决问题,我们对此的改进速度就会越快”。
目前,他估计整个 Google 的 2.5 万名工程师当中,只有数千人精通机器学习。大约占到总数的十分之一,他希望在不久的将来,这个数字将达到接近百分之百。“如果每一名工程师都至少对于机器学习有一定程度的理解,这是极好的”, 他说。
但是这可能吗?“我们尽量试试”,他说。
数年以来,John Giannandrea 在 Google 内部都扮演着机器学习重要推动者的角色,如今他成为了搜索部门的主管。但在他刚刚进公司的 2010 年(他是在谷歌收购 MetaWeb 时随之一同加入谷歌的,那家公司的庞大数据库已经以知识图谱的形式整合到搜索业务中),他对于机器学习及神经网络的认识还停留在最初级阶段。在 2011 年期间,他被一条介绍神经信息处理系统(NIPS,一个研究机器学习的组织)的新闻震撼到了。每一年,NIPS 的团队成员都会宣布最新的机器学习研究成果,包括声音识别,图像处理等方面的应用。常常会出现很多惊人的效果。“当我第一次看 NIPS 时,上面讨论的那些艰深晦涩的问题让我费解。”他说,“但这是最近三年学术界及工业领域都大热的领域,去年大约有 6000 人加入了这个组织”。
John Giannandrea
这些不断改进的神经网络算法,以及摩尔定律带来不断倍增的计算能力,在 Facebook 和 Google 等公司海量数据的驱动下变得越来越聪明,学习能力呈指数提升,成为机器学习的主流研究方向。Giannandrea 把那些对此拥有极大热情,并相信机器学习将是公司核心的工程师招致麾下。这群天才中包括 Google Brain 联合创始人 Dean,Google Brain 隶属于 Google X 研究室,研究神经网络科学。
谷歌对于机器学习的热情拥抱并不仅仅代表了编程技术的转变。换句话说,机器学习带来的,将是用户体验的质变而非量变。机器学习的前沿是一种基于神经网络的深度学习算法,这种算法的灵感来源于人的大脑神经结构。Google Brain 就是一个深度学习研究项目,而最近宣布市值达到 5 亿美金的人工智能公司 Deepmind 也是这个领域的佼佼者,这个公司在前年被 Google 以 4 亿美金收入囊中,旗下产品包括著名的AlphaGo,打破了人工智能不能在围棋方面打败人类的迷思。
尽管 Gianandrea 对于各类媒体及预言家们“人工智能将毁灭人类”的论调嗤之以鼻,但是他也不赞成“人工智能要改变包括医疗,交通等一切事物”的论调。机器学习并不会取代人类,但会改变人类。
Giannandrea 经常喜欢把 Google Photos 作为机器学习的正面例子证明其学习能力。这个产品的图像识别功能不可思议,甚至有时候会令人感到不安。
“搜索一些边境牧羊犬的图片”。当用户第一次发现 Photos 能把手机照片中的宠物狗识别出来时,感受绝对是震撼的。这和传统的搜索业务不同,Photos 通过理解你照片中的物体,从而找出牧羊犬从幼年时期到老年期的各种照片。这对于人类来说当然不难,但机器可以在看过数千万张照片之后越来越精准地识别目标,这是人类无法做到的。只要它学会了识别一种物体,就可以通过同样的办法识别其他 999 种物体,“这就是它的创新之处,”Giannandrea 对我说,“在各种细分领域,你都将看到机器学习大放异彩,展现出超越人类的学习能力。”
可以肯定的是,机器学习的概念在 google 内部早已流传甚广,Google 的创始人们对于人工智能的痴迷是从始至终的。机器学习在 Google 的众多产品线中早已得到了广泛的应用,尽管不是以机器学习的形式。(早期的机器学习往往使用的是一套较为简单的统计方法。)
事实上,近十年以来,Google 都在公司内部对工程师进行着持续的机器学习教育。在 2005 年初,时任搜索主管的 Peter Norvig 受到了一名搜索算法科学家 David Pablo Cohn 的建议,尝试让卡耐基梅隆大学的教授承担内部机器学习教学任务。但最终的结论是,只有 Google 的内部专家有能力教好这项前沿技术(也许还有国防部可以)。所以他在 43 号建筑(搜索部门的总部)里挑了一个足够大的房间,在每周三晚上花两个小时的时间开办教学班。“这是世界上最好的教学”,Cohn 说,“这帮工程师的水平比我高出太多了!”这个课程受到了热捧,事实上,这个课程的火爆程度超过了所有人的预料。很多工程师在两小时的课程结束后还不肯离去,讨论问题直到深夜。多年以后,有些谷歌工程师把课程录成了段视频,放到网上供人学习。Cohn 相信这些资料足以称为 Mooc 的优质资源。在接下来的几年里,Google 都在机器学习的内部培训方面做了不少努力,但没有以往那样有组织,系统的培训。Chon 在 2013 年离开 Google 之前,说,“机器学习在谷歌突然成了最重要的事情”。
这种情况持续到了 2012 年,Giannandrea 突发奇想,希望能把 Google 内部的所有机器学习专家聚集起来,看看能够做出什么很酷的东西。 于是,Google Brain 项目就此成立,这是 Google X 实验室里最引人瞩目,且汇集最多高端人才的项目。“我们把这帮人挑出来,圈到同一栋楼里,奉上大量咖啡饮料,这帮人以前都在做着机器感知方面的工作,例如声音识别及自然语言识别等等,我们决定把工作重心放在语言方面”。
Greg Corrado,Brain 联合创始人
逐渐的,机器学习的研究成果在越来越多的 Google 大众产品中被公众所享用。自从机器学习的研究领域转向了翻译,声音,视觉及自然语言的识别,机器学习在 VoiceSearch ,Translate,Photos 等Google 重要产品线得到广泛应用也就不足为奇了。Jeff Dean 说,他和他的团队对于机器学习的本质理解的越深刻,更加倾向于野心勃勃地利用它。“以前,我们可能会在整个应用中使用一小部分机器学习的组件,但现在,我们使用机器学习的方式重构了整个应用程序,而不是不断改进机器学习模块。Dean 说,如果现在要他把Google 的整个架构重写一遍,他会使用 MapReduce 和 Big Table 的架构,使整个体系拥有自主学习能力。
机器学习还使得产品拥有以前无法想象的新功能。一个典型例子就是 Gmail 里的 SmartReply(智能回复)功能,这个功能最早在 2015 年十一月上线。这个功能的创意来自于 Google Brain 联合创始人 Greg Corrado 及 Gmail 工程师 Bálint Miklós 的一段对话。Corrado 先前与 Gmail 团队合作,利用机器学习处理垃圾邮件问题,以及给邮件分类,Miklós 给出了一个更加激进的建议。为什么不利用机器学习增加一个自动回复功能,方便键盘狭窄的智能手机用户呢? “我当时被这个创意震惊到了,因为这个想法太疯狂了,Corrado 说,但我想到我们研发的预测神经网络,感觉又有成功的可能。我们意识到这是一个绝佳的炫技机会,我们想挑战一下自我。
Google 让 Corrado 和他的团队长期呆在 Gmail 部门中,结果就是机器学习在Gmail 产品中越来越普遍的运用及效率的不断提升。与其说机器学习是科学,不如说它是一门艺术。Corrado 说,就像烹饪一样,化学反应让一切充满不确定性,你要不断试错,才能找到最适合你的原材料及烹饪方法。
传统的人工智能方法依赖于把语言规则构建成体系,但在这个项目中,就像所有现代机器学习一样,这套系统只需要足够多的数据“喂养”,就能不断成长,进化自身,就像幼童一样。“我说话的技能并不是从语言学家身上学到的,而是通过倾听别人讲话学的。”Corrado 对我说。但使只能回复功能变得切实可行的,是智能回复的成功率很容易定义——如果人们使用智能回复的功能很频繁,那么这个功能就成功了,而且根据人们点击的选项概率,可以不断改进智能回复的算法。
去年十一月,智能回复功能推出时引起一阵轰动。现在,Inbox 里面,智能回复每次会提供三个选项,每个选项都是一句话,用户只需轻点选项,就可以免去在小屏幕上打字的痛苦。根据后台数据,在移动设备上发出的邮件,有十分之一是机器学习生成的自动回复。“当它每次出现时,生成的结果往往还是会令我惊讶和赞叹。”Corrado 笑着对我说。
智能回复功能只是 Google 机器学习网络的一个小小节点,也许当转折点终于到来时,机器学习会真正称为搜索的必要组成,众所周知,搜索是 Google 的主营业务也是其大部分的收入来源。从某些角度说,搜索功能一直在一定程度上使用人工智能。多年以来,由于搜索引擎对谷歌过于重要,所以始终没有融入机器学习算法。“由于搜索在公司内部占据的份额巨大,高级管理者深度参与其中,所以很多人都怀疑我们无法真正取得进展”,Giannandrea 说。
其中部分阻力源自文化因素——必须要让那些有极强控制欲的程序员适应带有禅意和玄学意味的机器学习模式。长期掌管谷歌搜索业务的 Amit Singhal 曾是传奇计算机科学家 Gerald Salton 的助手。Salton在文档检索方面的开创性工作启迪 Singhal 帮助 Sergey Brin 和 Larry Page 把研究生时期编写的代码,扩展成了可以适应当今网络时代的程序。(这使得他成为了“检索派”的一员。)他从20世纪的方法中梳理出了令人惊讶的结果,但如果要将机器学习系统整合到关系谷歌命脉的复杂系统中,他却持怀疑态度。“进入 Google 的前两年,我负责搜索质量,试图用机器学习来改进排名”,David Pablo Cohn 说,“结果发现 Amit 的团队是全世界最优秀的,我们把 Amit 脑海中的所有内容都当成真理写死到程序里,他是这个领域的宗师级人物”。
到2014年初,谷歌的机器学习大师们认为需要改变现状。“我们与排名团队展开了一系列讨论”,Dean 说,“我们认为至少应该尝试一下,看看能不能有一些收获。” 他的团队所设想的那个实验最终成为了搜索的核心:文件排名与搜索请求的匹配程度有多高(需要以用户的点击为衡量标准)。“我们跟他们说,可以用神经网络计算额外的分数,看看到底有没有用”。
答案是肯定的。这套系统如今已经成为谷歌搜索的一部分,被称作 RankBrain。它于2015年4月上线。Google 还是像以往一样对如何改进搜索讳莫如深(究竟是与长尾理论有关?还是更好地解读了模糊不清的搜索请求?),但 Dean 表示,RankBrain“融入到每一个搜索请求中”,虽然未必会影响所有的排名,但的确对很多搜索请求的排名都产生了影响。另外,实际的影响幅度也很大。在谷歌计算排名时所使用的数百个信号中(这些信号可能包括用户所在的地理位置,或者页面标题是否与搜索请求匹配),RankBrain现在的用途排名第三。
“我们成功利用机器学习改进了搜索结果,这对公司来说意义重大”。Giannandrea 说,“这引发了很多人的关注”。 华盛顿大学教授 Pedro Domingos 则给出了另外一种说法:“检索派与机器学习派始终都存在斗争。机器学习最终赢得了胜利”。
Google 面临的新挑战是如何让所有工程师都熟悉机器学习。还有很多公司也都秉承着相同的目标,其中最引人关注的当属 Facebook,该公司与 Google 一样着迷于机器学习和深度学习。这一领域的毕业生变得非常抢手,而 Google 正在努力保持对毕业生的吸引力:学术圈多年以来都流传着一个玩笑:即使不需要顶尖学生,谷歌也会招聘他们,避免人才被竞争对手抢走。(这并不准确,因为另一方面,Google 也确实需要这些预备人才。) “我的学生无一例外都得到了 Google 的录用通知。” Domingos 说。目前看来,竞争的激烈程度有增无减:就在上周,Google 宣布将在苏黎世开设一个新的机器学习实验室,有很多工作岗位有待填补。
但由于学术项目尚未培养大量机器学习专家,为员工提供在职培训面成为了必要措施。但这却并非易事,尤其是对于 Google 这样的公司而言。这里有很多世界顶尖工程师,他们一生都在研究传统的编程方式。机器学习却需要截然不同的思维模式,精通编码的工程师之所以能有如今的成就,往往是因为他们希望完全控制一套编码系统。机器学习还需要掌握一些数学和统计学知识,这即便对于很多资深黑客来说,也是很少了解的新领域。
Christine Robson
同时,这还需要有一定的耐心,“机器学习模型不是一段段静态的代码——随着你不断‘喂’给它数据,它会不断地动态变化”,Robson 说。“我们一直在不停地更新模型,而且还要不断学习,增加更多数据,调整预测方式。它就像是一个有生命的东西,这是一种截然不同的开发模式”。
“这是一个使用不同的算法进行实验的学科,需要挑选那些真正适合使用场景的训练数据。”Giannandrea 说。尽管他也是新的搜索业务主管,但却仍然把在谷歌内部传播机器学习理念作为自己工作的一部分。“计算机科学那一部分不会消失,但需要更加关注数学和统计学,而对数十万行代码的关注度则需要相应地降低。”
至于 Google 所担心的新编程范式未能被广泛接受问题,完全可以通过精细设置的上岗培训解决。“归根结底,这些模型中使用的数学原理并不那么复杂”,Dean 说,“Google 多数软件工程师都可以掌握。”
为了进一步帮助不断扩容的机器学习专家团队,Google 开发了一系列强大的工具,帮助他们选择合适的算法训练模型,加快培训和提炼过程。其中最强大的是 TensorFlow,它可以加速神经网络的构建过程。TensorFlow 源自 Google Brain 项目,由 Dean 和他的同事 Rajat Monga 共同发明。它能把构建系统过程中涉及的晦涩难懂的细节变成标准化的内容——尤其是在谷歌 2015 年 11 月开始将其开放给公众后,这种做法的效果更加得以显现。
尽管谷歌煞费苦心地将这种行为描述为一种无私的举动,但该公司也承认,如果新一代程序员都能熟悉该公司内部的机器学习工具,那对谷歌未来的招聘活动将会起到莫大的帮助。(质疑者甚至指出,Google 的 TensorFlow 开源项目是为了追赶 Facebook,后者已经在 2015 年 6 月公布了早期机器学习系统的深度学习模块 Torch。)不过,TensorFlow 的功能以及谷歌的开源模式很快受到了程序员的欢迎。
Giannandrea 表示,当谷歌首次提供 TensorFlow 课程时,共有 7.5 万人报名参加。
当然,作为一家商业公司,Google 还是把某些好东西藏了起来,留给自家用。该公司在内部拥有一套定制化的机器学习硬件——Tensor Processing Unit (张量处理单元,以下简称“TPU”)。他们虽然使用这项创新已经多年时间,但直到最近才对外宣布。这是一种针对机器学习程序优化的芯片,就像 GPU 是专门针对图形处理优化的芯片一样。该公司的庞大数据中心里使用了数以千计的 TPU (具体有多少恐怕只有上帝和 Larry Page 才知道)。通过赋予神经网络这种超级计算能力,TPU 为谷歌带来了巨大优势。“如果没有它,我们就无法实现 RankBrain”,Dean 说。
但由于 Google 最需要的还是设计还提炼这些系统的人才,他们也在不断尝试各种方式来为工程师提供机器学习方面的培训。这些培训的规模各异,其中也包括为期两天的速成班。Google 希望这只是初步尝试,工程师随后还会寻找更多资源来深入学习。“已经有数千人报名参加下一次课程”,Dean 说。
该公司还在通过其他一些措施,为外部人才提供机器学习培训。今年初春,Google 启动了 Brain Residency 项目,利用 Google Brain 项目为有潜力的外部人才提供了为期一年的集训。“我们称之为你的深度学习职业生涯的开端。”Robson 说,他负责协助管理这个项目。尽管这 27 名来自不同学科的机器学习学员中,有些可能会跳槽到其他公司,但他表示,该公司的目的是让他们自行发展,利用自己掌握的先进知识在世界各地传播先进的机器学习技术。
所以,从某种意义上讲,Carson Holgate 学习的忍者项目正是 Google 维持其在人工智能领域领导地位的核心。
她的课程最初是一个为期 4 周的新兵训练营,由 Google 最先进的人工智能项目产品负责人提供指导,教给他们如何将机器学习融入项目中。“我们把忍者带进会议室,Greg Corrado 站在白板前解释 LSTM(长短期记忆,神经网络模型的一种)。他做着夸张的手势,讲述这种系统的工作方式、利用何种数学原理、如何应用于实际。”Robson 说,“在最初的4个星期里,我们几乎用到了我们的所有技术和所有工具,为的是给他们带来切身体会”。
如今,Holgate 从新兵训练营毕业了,她现在正在使用机器学习工具开发一款 Android 通讯工具,帮助谷歌员工彼此交流。她正在调整超参数,清理输入数据,去掉停止词。经历了这一切,她已经不再回头,因为前面是人工智能的光明大道,这是 Google 的未来,是一切的技术核心,甚至决定了公司的一切。
“机器学习”,她说,“这个领域大有可为”。