开源两年多,TensorFlow 如何影响普通人的生活?
从 2015 年到现在,Google 正式开放 TensorFlow 已经两年多了,包括 Jeff Dean 在内的 Google Brain 成员们都对这一产品寄以重望。「AI 界的安卓系统」,研究员们常这样对媒体称呼 TensorFlow,Google 希望这款开源的 AI 工具包能像当年的安卓一样赋能全世界的开发者们。
事实上,两年多来,TensorFlow 已经演化成一个非常完善的深度学习软件开放平台,不仅是 Google 自己将 Google Brain 的这一研究成果应用于自家的各种软件应用上,借着硬件英特尔和英伟达等硬件平台的配合,TensorFlow 已经成为开源网站 Github 上最受开发者欢迎的工具,远超微软和 Facebook 等公司提供的计算框架。
在极客公园创新大会 IF 2018 上,来自 Google Brain 的首席工程师陈智峰分享了两年多来 TensorFlow 在各个领域的应用情况,从他的演讲里,我们能够看到这款似乎距离我们非常遥远的 AI 开发工具,实际上早已影响到我们日常的生活,并且将会在未来很长时间内,为我们带来更多的改变。
以下内容根据 Google Brain 首席工程师陈智峰在 GeekPark IF 2018 大会上的演讲梳理而成,略有删减。
大家好,我叫陈智峰,我是 Google 大脑团队的一名成员,在这里,我很高兴到极客公园和大家分享 Google 大脑最近一年到两年时间里的研究方向,和在 TensorFlow 方面的一些工作、成果、进展。
深度学习这几年非常流行,在这张图上,大家可以看到在 Google 的搜索流量里面,深度学习在过去的 7-8 年时间里面,增长了大概 100 倍,从这个侧面也反映出学界和工业界对这个技术的关注程度,是在迅速地提高。大家都想知道,深度学习是什么,它能够为我们做什么?我们如何把这个技术应用到实际场景当中去。
其实,深度学习并不是一个突然出现的技术领域,核心算法就是神经网络。神经网络是一种机器学习的模型,这个模型主要特点就是,它可以拟合任何数学上的函数,特别是利用大数据反复迭代的一种,类似于方法,来训练好这个模型。
随着大数据的普及,计算机硬件算力的发展,还有算法本身的突破,大家突然发现,这个以神经网络模型为核心的深度学习技术,在很多应用领域都可以大大地提高过去软件系统需要完成的任务,最经典的应用领域大家肯定很熟悉,就是图像识别领域,自 2012 年以来,在这个领域,自动图象识别的错误率从 20% 一直持续下降到百分之四点多,已经超过了一个普通人分辨图像的能力。
Google 在很多年前就已经开始把深度学习的技术应用到它很多产品当中,在这个过程当中,我们也迭代、开发了好几代支持深度学习的软件系统,最终导致我们在 2015 年 10 月开源了 TensorFlow,希望能够进一步推动深度学习的应用和研究。
TensorFlow 现在已经演化成一个相当完整的深度学习软件开放平台,比如说,它支持 CPU、GPU 混合搭建的数据中心的训练平台,它也支持将数据中心训练出来的好的模型,相对便捷地部署到不同的移动端应用上,可以支持类似 Google 自主研发的特别定制的 TPU 处理器,这种多平台的支持,我们觉得可以帮助到最多的用户和应用场景,我们同时也非常感谢很多业界的同行对我们的支持,比如说在美国 Intel 和英伟达都在帮助我们优化 TensorFlow 在他们各自硬件上的性能。
支持多种硬件的平台是基础,TensorFlow 一直以来的一个目标,就是能够帮助尽量多的开发者,能够把深度学习的技术利用起来,最终使得广大的用户从中能得到益处,基于这个想法,TensorFlow 一直很重视多种程序员开发环境的支持。比如说,开发者可以在主要的开发环境中使用 TensorFlow。
Google 自己怎么用 TensorFlow?
TensorFlow 在 Google 内部的应用推广是非常全面和彻底的,比如说 TensorFlow 很早就帮助 Google 的核心业务(搜索和广告),实施了深度学习的模型,并且在核心业务上体现了他们的性能。
在垃圾邮件过滤也使用了 TensorFlow 训练的模型,同时在安卓的应用程序推荐上,也上线了 TensorFlow 的模型等等。很多 TensorFlow 应用都是发生后台,大多数用户可能没有直接的体验,这里我举几个在移动端的例子来说明深度学习,其实已经很直接地影响了成千上万的用户。
比如说,安卓手机最近的版本当中增加了一个自拍功能,这个自拍功能就是通过应用深度学习训练出来的视觉模型,可以非常准确地分离前景像素和后景像素,对前景像素和后景像素分别处理,这样的话就可以实现背景虚化这样的功能。
实现这种功能,传统上,手机厂商需要增加第二个摄像头,这就会增加手机的成本,同时对现有用户已经获得的手机就不太容易获得这样的效果,通过新的算法,可以实现一些过去可能非常昂贵才能实现的效果。
和图像处理一样,语音处理是另一个被深度学习深刻改变的领域,语音识别要比图像处理更早地采用神经网络,产品方面,这些年智能音箱语音主力大行其道,其中一个很大的原因就是深度学习算法把语音识别和语音生成的技术门槛大大地降低了,过去可能需要 20—50 个博士的团队才能完成的任务,现在就下载一个现有模型定制一下,就可以达到同样的效果。通用的机器学习框架,可以帮助到更多的开发人员,开发出适合自己特定应用场景的语音应用。
另外举一个机器翻译的例子。现在你可以用手机拍一张照片,手机软件可以自动地识别出图形中的文字,把文字翻译成另外一种语音,看似简单的应用,其实是图像技术和机器翻译技术很自然的结合。
一年多前,在谷歌内部,我们把过去的翻译系统升级为神经网络为基础的系统,从这些图像可以看到,那次升级极大地降低了机器翻译的错误率,一些语言之间的翻译,几乎可以达到人工翻译的效果。
利用深度学习技术,我们不仅可以大幅度地提高已有产品的功能和性能,我们还开发了一些过去很难想象的新功能,比如说邮件自动回复的功能,安卓上的邮箱软件可以分析用户的邮件,比如说你今天早上收到一份你朋友发的邮件,晚上是不是要到哪里吃饭,大多数情况只有三种可能的回答,比如说我会准时到或者是对不起我没有空不能来,或者是我有空,但是我可能需要晚一点到。我们现在邮箱会自动地给你提供三个选择,这样的话在路上看到邮箱,只要一键就可以完成邮件的回复,极大地方便了用户在手机上处理邮件的效率。
TensorFlow 的互联网应用
通过前面我讲的很多应用例子,我们可以看到一个通用的深度学习框架,可以帮助到现有很多互联网上的应用提高它的智能水平,但是我们也可以看到,TensorFlow 这样的深度学习框架,在其他许多领域也可以得到应用,比如说我们在伦敦的同事,过去两年努力推进 AlphaGo 在工作就非常得益于 TensorFlow 框架本身的帮助,因为 TensorFlow 在利用超大计算机集群和最新加速器方面的支持,AlphaGo 的团队可以更加专注于算法的研究。
我们组也有人在做智能医疗工作方面,由于 TensorFlow 是一个通用的框架,他们可以很方便地利用现在已有的图像识别模型或者是自然语言处理的模型,针对特定的应用领域和数据,重新训练微调一下你的模型,就可以达到在检测视网膜病变任务上超过 95% 的准确率,这个准确率已经超过了普通眼科专家 91% 的准确率。
在自动驾驶方面,我们在 Waymo 的同事,也在利用 TensorFlow 不断改进他们自动驾驶系统当中的深度模型,包括对路况场景的分割、雷达信号的处理等等。
我们特别欣慰的是通过把 TensorFlow 开源,利用深度学习技术的门槛大大降低了,过去两年我们看到很多和互联网毫无相关的行业,也开始尝试利用深度学习的技术和方法,比如说这家公司是一个婴儿食品制作的公司,引进了 TensorFlow 训练好的智能系统,这个智能系统可以把婴儿食品的原料进行分类,把一些烂掉的苹果和香蕉更准确地排除出去,这样可以更准确地控制婴儿食品的质量。
我们也很兴奋地看到 TensorFlow 在计算机科学以外的科学研究上,也得到了使用,比如说上个月美国航天总署宣布一项研究成果,美国航天总署有个开普勒计划,他们的科学家和我们的同事联合开发了一个 TensorFlow 的模型,开普勒计划本身的目标是通过望远镜持续不断地观察太空中恒星亮度的变化,希望发现太阳系以外的行星系统,最终希望发现另外一个适宜人类居住的行星。目前该计划已经积累了上百亿个观察数据,几个月前这个 TensorFlow 的模型,帮助科学家发现了 2500 光年以外的开普勒 90 星系中的第八颗行星。
人们不仅仰望星空,同时我们在回望我们的地球,在这个应用的例子里面,澳大利亚的科学家用 TensorFlow 开发的图像识别模型,在数万张海洋航拍图照片中,可以快速并且准确地找到需要保护的大型海洋哺乳类动物,比如说可爱的动物,就是澳大利亚附近的珍惜动物海牛。类似也有科学家,利用 TensorFlow 把语音处理技术用到鸟类保护上,他们在丛林里安装了很多话筒,采集鸟类的声音,模型就可以很准确地估算出鸟类在一片森林中的数量,从而可以更加精准地对他们实行保护。
我们还有同事进行一些非常有意思的应用,他们正在尝试利用深度学习的技术来创造音乐,很有意思的是,这些音乐创作的乐曲,还受到了专业 DJ 的肯定。
TensorFlow 自 2015 年开源以来,我们一直在努力投入。最近我们开始加大力度对中国市场的支持,比如说我们正在建立一个 TensorFlow 的中文网站,TensorFlow 的开发者也实现了快速的增长,同时,我们也看到超过 1000 多人参与了 TensorFlow 的开发,这是一个非常活跃的社区。
另外,我们的数据也显示,到目前全球 180 多个国家,各种用户已经下载了超过 1000 万次的 TensorFlow 开发包,这表明 TensorFlow 的应用开发也是非常普遍的。
前面的图也告诉大家,在中国有大量的开发人员在持续地关注 TensorFlow,事实上,我们自己在和众多的中国公司建立伙伴关系,积极地支持和帮助他们更好地使用 TensorFlow。
比如说京东内部搭建了 TensorFlow 训练平台,用于开发图像、自然语言相关的模型,并且把他们用到客服广告等领域。小米也在尝试类似的技术路线,支持他们生态线上各种特殊的应用。网易的有道笔记、网易翻译君也使用了 TensorFlow 视觉和语言的模型。
非常感谢我们的用户和合作伙伴对 TensorFlow 的反馈,TensorFlow 也正在努力开发新的功能,在去年我们开发了 TensorFlow 一个模式,希望这个模式能够更加有利于前端的开发,便于调试,支持更多动态的编程模式。
另外,TensorFlow 在过去一年中主要推进的项目是 TensorFlow Lite 模式,这个模式是专门针对移动和嵌入式应用场景打造的机器学习平台,它的目标是希望把机器学习在云端训练的模型,更加简单、高效地迁移到移动端上进行部署。
最后,我们也在开发新一代深度学习硬件加速器 TPU,去年我们宣布了第二代处理器,这个处理器可以达到 180 万亿次浮点运算的性能,有 64 千兆的内存,如果我们把这样的处理器集成在一起,搭建一个集群,这个集群我们估算到,可以非常容易排到世界上超级计算机的前五名。
目前我们正在内部各种产品研发中使用 TPU 二代,并且有计划在不久的将来开放给公众使用。
最后,我要再次感谢极客公园给我们这样的一次机会,给大家介绍一下我们的工作。谢谢大家!
责任编辑:克里斯