Google是如何始终领跑机器学习领域的?

Google是如何始终领跑机器学习领域的?,第1张

这不是武侠世界——她已经做到了。26岁的Holgate得到了第二条跆拳道黑带。这次是算法的黑带。Holgate花费数个星期沉浸于一个程序中,这次比肉搏更强大的训练是机器学习。作为谷歌Android部门的工程师,Holgate是今年机器学习忍者项目的18名程序员之一,项目的成员中由团队中有天赋的程序员组成,成员们按照《安德的游戏》中的模式进行训练,为的是教给他们人工智能技术开发出更好的产品。即使这会让他们写的软件更难以理解。

ChrisTIne Robson是谷歌公司内部机器学习项目的产品经理,他负责管理这一项目,他说道:“我们的口号是,你想成为机器学习忍者吗?我们邀请谷歌的员工加入机器学习团队,花6个月时间研究机器学习,同时做一些项目,并从项目实践中学习经验,在此期间会有导师手把手提供指导。”

Holgate四年前来到谷歌工作,那时她取得了计算机科学和数学的学位,这次培训机会对Holgate而言是一次掌握软件领域最热门的分支的机会:借助于学习算法和大量数据,让软件完成相关任务。多年来,机器学习被视为是一种只属于少数精英的学科。但现在这个时代结束了,机器学习由神经网络驱动,这一方式模仿生物大脑运作方式,最新研究结果表明机器学习能赋予计算机以人类力量,甚至在某些领域能够超越人类力量。谷歌致力于在内部扩张精英团队,并期望将其变成一种常态。对于像 Holgate这样的工程师,忍者项目是助其跻身于技术前沿的机会,在这一项目中他们可以从最优秀的工程师那里学习最先进的技术。

Holgate说道:“这些人正在构建的是一个荒唐的模型,并且他们都拥有博士学位。起初,我感到非常害怕,不过我学会了接受它。”

谷歌的6万名员工近乎一半是工程师,所以这是个小项目。不过该项目象征着谷歌的认知转换。尽管机器学习长久以来都是谷歌技术的一部分,并且谷歌已经雇佣了不少该领域顶级专家,不过谷歌在今年貌似对这一技术更加感兴趣了。在去年年底的一次电话会议上,谷歌总裁Sundar Pichai提出了提出了新的公司理念:“机器学习是核心,是我们重新思考我们所做事情的变革方式。我们正想尽办法将它应用到我们所有产品中:搜索引擎、广告、YouTube或应用商店。我们仍处于初期阶段,但你可以发现,我们正在以系统化的方式将机器学习应用到所有的地方。”

显然,如果谷歌想在所有的产品中应用机器学习,它需要工程师们掌握这项与传统编程方式完全不同的技术。正如 Peter Domingos在机器学习领域非常受欢迎的《The Master Algorithm》一书中所写的:“机器学习是一项朝阳技术,是一种自我构建的技术。”编写出这样一个系统你需要做如下工作:识别正确的数据,选择正确的算法,确保你构建了成功运行的正确条件,最后相信这个系统的工作能力。

初识机器学习与神经网络

谷歌的机器学习团队领导者Jeff Dean说道:“用这种方式思考如何解决问题的人越多,我们就会做得越好。如果每个工程师都具备一些机器学习的知识就好了。”

多年来,John Giannandrea一直都是谷歌机器学习领域的关键人物,最近他还成了谷歌搜索引擎部门的负责人。不过他在2010年刚来谷歌时,他对于机器学习或神经网络并没有太多了解。2011年左右,一些来自神经信息处理系统峰会(NIPS)的新闻让他感到非常震撼。似乎在每年的NIPS上,总有一些团队会宣布使用机器学习颠覆此前一直难以突破的问题,比如翻译、语言识别或视觉问题等。

他说:“我第一次听说这个NIPS峰会时,它并不出名,但是在过去的三年里,参会者数量激增。去年大约有6000人参加。”

Jeff Dean : 谷歌权威计算机科学家

这不仅促进了神经网络算法的发展,也带来了来自摩尔定律效应的更强大的计算能力,还有从谷歌、Facebook等企业的海量用户行为中获取的数据也出现了指数级增长 ,机器学习不断提高的新时代开始了。Giannandrea与一些人一样,相信机器学习是公司的核心。

谷歌对于机器学习的热情不仅仅意味着编程技术的转变,更是对科技做出的郑重承诺,承诺将赋予计算机以前所未有的超能力。这项技术从大脑结构得到启发,其最前沿是围绕复杂的神经网络构建深度学习算法。谷歌大脑是谷歌在深度学习领域的尝试,而谷歌2014年1月以5亿美元买下的人工智能企业DeepMind同样把重点放在深度学习研究上。打败围棋世界冠军的AlphaGo系统就是DeepMind公司设计的,这引发了人们对于智能机器人和杀人机器人的担忧。

对于那些持有“人工智能将会杀死我们”态度的人们,Giannandrea认为他们不了解情况。Giannandrea认为机器学习系统无论是在医疗领域还是在汽车驾驶领域都将会是颠覆性的。虽然机器学习不会取代人类,但它会改变人类。

Giannandrea举例说明了机器学习的力量,Google Photos这款产品能将用户指出的图像予以定位。Giannandrea说道:“当人们第一次体验这款产品时,他们会认为正发生着一些不同的事情,因为计算机不再只是通过计算为你生成推荐内容,或者建议你看什么视频了。事实上计算机正在理解图片中的内容。这是个真正新的领域。在某些狭窄领域内,你可以看到一些人认为这些学习系统已经超越了人类。”

让不可想象的产品成为可能

不可否认的是,谷歌一直都很理解机器学习的理念,谷歌的创始人更是毕生追随人工智能的信徒。谷歌产品中已经融入了机器学习,不过最近谷歌对神经网络的关注度更高一些。

事实上,谷歌给工程师教授机器学习的内部课程已经超过十年时间了。2005年初,当时负责搜索业务的Peter Norvig向研究科学家David Pablo Cohn提出建议,他指出应该调查谷歌是否可以采用卡耐基梅隆大学组织的项目中的在线课堂。Cohn的结论是,只有谷歌自己才能教授这样的内部课堂,因为谷歌的运营规模远远超过其他机构。因此,Norvig在43号楼预订了一个大房间,每周三举行一次两小时的会议,就连Jeff Dean也参加了几次。Cohn说道:“那是全世界最好的课堂。他们都是比我更优秀的工程师!”这个课程火了,局面甚至有些失控,印度班加罗尔办公室的人直熬到下半夜才能打进预订电话。几年以后,一些谷歌人一起将这些课程做成了短视频,不再进行现场会议。Cohn认为这或许就是MOOC的前身。接下来的几年里,谷歌还进行了其它几次机器学习训练的尝试,但这些尝试缺乏条理和连续性。2010年Cohn离开谷歌之前曾说,机器学习突然就变成了谷歌的第一要务。

渐渐地,这些工程师在机器学习方面做出的努力越来越多的体现于谷歌的流行产品中。由于机器学习主要涵盖的领域包括视觉、语音、声音识别和翻译,因而机器学习毫无疑问的成为了语音搜索、翻译、照片等的关键部分。Jeff Dean是Big Table和MapReduce等颠覆性系统的共同创建者,他说:“之前,我们可能会在一个系统中的几个子组件中采用机器学习。现在,我们其实在用机器学习取代整套系统,而不是为每个部分构建更好的机器学习模型。”

同时,机器学习还让之前不可想象的产品功能成为了可能。比如,去年11月新发布了 Gmail的智能回复功能。这始于谷歌大脑项目的联合创始人Greg Corrado与Gmail工程师Bálint Miklós的一次对话。Corrado之前曾与Gmail团队合作过,一起研究在垃圾邮件检测和邮件分类中机器学习算法的使用,但Miklós提出了一个更激进的方法。如果团队能够发明出通过机器学习自动为邮件生成回复的方法,就额可以使移动用户免于在小键盘上敲下回复的麻烦。

谷歌让Corrado和他自己的的团队以及Gmail团队保持紧密合作,这更增加了实现的可能性。Corrado说道:“机器学习既是一门科学,也是一门艺术,就像做饭一样,虽然涉及到化学原理,但是要做一些真正有趣的事情,你必须要知道如何将面前的配料结合起来。”

用于语言理解的传统人工智能方法取决于系统中嵌入的语言规则,但在这个项目中,系统采用自学的数据。

不过,使得智能回复真正可行的关键在于成功可以很容易界定,即实现像真实生活中邮件一样的合理回复。

然而,该团队开始测试智能回复的时候,用户注意到一件奇怪的事:系统经常会做出一些不合时宜的浪漫回复。Corrado说道:“它在不知如何回复的任何时候,倾向于回复‘我爱你’。这不是软件漏洞,而是我们错误地让它做了这件事。该程序某种程度上学会了人类行为微妙的一面。比如,你在走投无路的时候,说‘我爱你’就会是一个很好的防御策略。”

去年11月发布的智能回复取得了成功,现在Gmail Inbox应用的用户通常不用自己打一个字,仅需从三封推荐的邮件选择一封就可以完成回复。这些推荐邮件的内容经常合乎情理到不可思议。手机Inbox用户发送的回复中十分之一都是机器学习系统创建的。

机器学习的转折

在谷歌证明机器学习高效性的一系列实例中,智能回复只是其中之一而已。但是或许当机器学习成为搜索业务的重要部分时,或许转折点才最终到来。搜索业务是谷歌的旗舰产品,是占据谷歌近乎所有收入的金库。某种程度上,搜索一直都基于人工智能。但很多年来,谷歌最珍贵的算法曾为我们带来‘ten blue links’(回复谷歌搜索请求的十条蓝色链接),这注定是机器学习算法的重中之重。

某种程度上,这是一种文化抵制。久负盛名的搜索大师Amit Singhal曾是传奇计算机科学家Gerald Salton的助手。Salton在文档检索方面的开创性工作启发了Singhal,Singhal帮助修改了Brin和Page的研究生代码,将其变为可以扩展用于当今网络时代的程序。他从这些20世纪方法中梳理出了惊人的结果,并且有人怀疑是他将一些学习者带入了这个相当于谷歌命脉的复杂系统。

2014年初,谷歌的机器学习大师认为需要有所改变。Dean团队设想的实验后来证明对搜索能力至关重要:排序中的一个文件和查询请求的匹配程度会有多好。

结果是有用的,该系统现在是搜索的一部分,名为Rank Brain,于2015年4月上线。谷歌还是秉持它以往的特色,在该系统究竟如何提升搜索性能上含糊不清,但Dean说道:“Rank Brain已融入大量查询中”,并影响了实际的排名。另外,该系统效果显著。谷歌搜索在计算排名时使用的几百个信号中,Rank Brain的实用性排名第三。

谷歌的新挑战是转换其工程团队以使大家都熟悉机器学习。这是现在其它许多公司也在追求的目标,尤其是Facebook,该公司和谷歌一样是机器学习和深度学习领域的巨鳄。这一领域内应届毕业生的招聘竞争是很激烈的,谷歌力图维持其早期的领导地位;多年来,学术界都有一个笑话:即便不需要,谷歌也在聘用最顶级的学生,而这只是为了避免他们去竞争对手那里。Domingos说道:“我的学生,不管是谁,总是会收到谷歌的offer。”现在,竞争变得更为激烈了。就在上周,谷歌宣布其将会在苏黎世开设一个全新的机器学习研究实验室,那会有一大堆工作岗位需要填补。

为未来人工智能训练更多工程师

机器学习需要不同的思维方式。人们变成编程大师通常是因为他们是从通过实现对编程系统的完全控制中成长起来的。机器学习还需要掌握一定的数学和统计学,而这是很多编程者,甚至是那些能将程序压缩到让人吃惊的长度的疯狂黑客们都从来不屑于学习的东西。

这也需要相当程度的耐心。Robson说道:“机器学习模型并不是一段静态的代码,你要不断给它填喂数据。我们不断更新模型和学习、增加更多数据,还有比如像是调整对我们未来做出预测的方式。它让人感觉就是一个活生生的、有呼吸的东西。这是不同类型的工程开发。”

Giannandrea还说:“实际上这是一个使用不同算法进行实验的学科,或关于研究哪个训练数据能在你的使用案例上产生更好工作效果的学科。计算机科学的部分不会走远。但对数学和统计学的关注会更多,而对编写五十万行代码的关注则会减少。”

Dean说:“在训练的一天结束时,这些模型中所使用的数学就不再那么复杂了。对于我们在谷歌雇佣的大部分工程师而言,这都是可以实现的。”

为了进一步帮助日益增长的机器学习专家团队,谷歌打造了一套强大的工具帮助工程师在训练算法时选择正确的模型,并加速训练和提炼的过程。这些工具中最强大的是TensorFlow,这是一个能加速神经网络构建过程的系统。TensorFLow由谷歌大脑团队开发,Dean与他的同事Rajat Monga共同参与了其研发;它能通过规范系统开发中通常很乏味和深奥的细节来使得机器学习变得大众化。

尽管对人工智能社区散播的这种利他主义行为让谷歌深受其苦,但它也承认熟悉其内部机器学习工具的新一代程序员对谷歌的招聘来说是相当好的。尽管如此,TensorFlow的特点加上谷歌的认可,使其很快就成为了机器学习编程圈子里的一个最爱。Giannandrea说,当谷歌提供其第一个在线TensorFlow课程时,有75,000万人报名。

谷歌仍然为它自己的程序员保留了很多好东西。在内部,该公司有一个可能无可比拟的补充机器学习的工具箱,Tensor Processing Unit(张量处理单元,TPU)。TPU 是一种专为运行机器学习语言程序而优化过的微处理器芯片,就像图形处理单元(GPU)是专门为加速屏幕上像素的计算这一单一目而设计的一样。该公司的巨型数据中心的服务器里恐怕已有成千上万个TPU了。通过赋予其神经网络运算以超能力,TPU已经给谷歌带来了巨大的优势。

但由于谷歌最大的需求是设计和完善这些系统的人,就像谷歌正在紧锣密鼓地完善其软件训练工具一样,公司也在疯狂地打磨其训练机器学习工程师的实验。

还有一些其它较小的工作也在将外部人士吸引到谷歌的机器学习中。今春早些时候,谷歌启动了Brain Residency项目,该项的目的是为了将有前途的外部人士带进谷歌大脑团队内部进行为期一年的密集训练。尽管初始项目中来自不同学科的27位机器学习学员中可能会有一些最终会留在谷歌,但其该训练的目的是将他们放归到野外,使用他们的超能力在整个数据地球上传播谷歌的机器学习版本。

所以从某种意义上说,在一个机器学习正在占据舞台中心的世界里,以人工智能为中心的谷歌有维持自己主导地位的计划,而 Carson Holgate 在她的忍者课程中学到内容正是以这个计划为中心的。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2602473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-09
下一篇 2022-08-09

发表评论

登录后才能评论

评论列表(0条)

保存