专栏名称: 谷歌开发者
开发技术推广
目录
相关文章推荐
51好读  ›  专栏  ›  谷歌开发者

Google Brain陈智峰:TensorFlow可以用来做什么?

谷歌开发者  · 掘金  ·  · 2018-01-25 10:06

正文

2018 年 1 月 19 日,极客公园创新大会 IF 2018 在北京召开,Google Brain 首席工程师陈智峰分享了《寻找答案从定义问题开始——TensorFlow 可以用来做什么?》的演讲。

深度学习的演变过程

深度学习这几年非常流行,在上面这张图中,我们可以看到在 Google 上搜索“深度学习”的请求在过去 7、8 年间大约增长了 100 倍。从这个侧面也反映出业界对这个技术的关注程度迅速提高。大家都想知道,深度学习是什么?它能够为我们做什么?我们可以怎么来应用它?

其实,深度学习并不是一个突然出现的技术领域,它的核心算法就是神经网络,是一种机器学习的模型。这个模型的主要特点是它可以近似逼近任意复杂的函数,并且特别适宜利用大数据反复迭代的学习训练。

随着大数据的普及,计算机硬件算力的发展,还有算法本身的突破,人们突然发现这个以神经网络模型为核心的深度学习技术在很多应用领域都可以大大地提高完成预定义的任务性能。最经典的应用领域就是图像识别领域了,现在,一个手机应用就可以轻松的告诉我们一张照片里面有哪些人,有哪些动物等等。

Google 好几年前就在从事把深度学习应用到它的很多产品中去。在这个过程中,我们也迭代开发了好几代支持深度学习的软件系统,这些最终导致了我们在 2015 年 10 月开源了 TensorFlow,借此希望能够进一步推进深度学习的应用和研究。

TensorFlow 是什么?

TensorFlow 现在已经演化成一个相当完整的深度学习开放平台,比如说,它支持 CPU、GPU 混合搭建的数据中心计算平台,它也支持将数据中心训练好的模型相对便捷地部署到不同的移动端平台上。它既可以支持类似 Google 自主研发特别定制的 TPU 处理器,也可以支持侧重于教学的数莓派。对于这种多平台的支持,我们觉得可以帮助到最多的用户和应用场景。我们同时也很感谢很多同行对我们的支持,比如说在美国 Intel 和英伟达都在帮助我们优化 TensorFlow 在他们的硬件上的性能。

支持多种硬件平台是基础,TensorFlow 一直以来的一个目标就是能够帮助尽量多的开发者能够把深度学习的技术利用起来,最终使得更多的用户从中受益。基于这个想法,TensorFlow 一直很重视多种程序语言开发环境的支持。比如说,开发者可以在 Python, C++, Java, Go, C# 等很多开发环境中使用 TensorFlow。

TensorFlow 能做哪些事情?

TensorFlow 在 Google 内部的应用和推广是非常全面的,也相当的有效。比如说 TensorFlow 很早就帮助搜索、广告等最核心的业务上应用实施了深度学习模型;垃圾邮件过滤也用了 TensorFlow 训练的模型;Android 的应用商店推荐也上线了 TensorFlow 的模型等等。

很多 TensorFlow 的应用都发生在后台,可能很多用户没有直接的体验,这里我举几个移动端的例子来说明深度学习其实已经很直接地影响了普通用户。

自拍虚化

比如说,Android 手机相机最近有个自拍功能可以通过应用深度视觉模型非常准确地分离出前景和背景,然后就可以分别处理。而传统的办法是在手机上装两个摄像头,相对而言,利用深度学习算法既降低了手机的造价,又可以让现有的手机增加功能。

语音处理

和图像处理一样,语音处理是另一个被深度学习深刻改变的领域。事实上,语音识别要比图像处理更早采用神经网络。产品方面,智能音箱、语音助理大行其道,其中一个很大的原因就在于深度学习算法把语音识别和生成的技术门槛大大的降低了。像 TensorFlow 这样开源的、通用的机器学习框架使得越来越多的开发人员可以开发出适合自己应用场景的语音应用。

另外一个例子是机器翻译。现在你可以用手机拍一张照片,手机软件可以自动识别出图形中的文字,并把文字翻译成另外一种语言。这个看似简单的应用其实是图像技术和机器翻译技术很自然的结合。

Google 翻译是个十几年的产品了,一年多以前,我们把它的后台系统升级成为以神经网络为基础的系统。我们可以看到那次升级极大地降低了翻译的错误率,一些语言之间的翻译现在几乎可以达到手工翻译的效果。

其他应用

利用深度学习技术,我们不仅可以大幅提高已有产品功能的性能,我们还开发出一些过去不存在的新功能。比如说,邮件自动回复功能,Android 上的邮箱软件现在可以分析用户收到的邮件,然后给出三个用户可能的回复供他选择。举例来说,你收到吃饭的邀请,你可能的回复是“我来”、“没空”、“来,晚点来”,这极大的方便了用户在手机上处理邮件的效率。

TensorFlow 在其他领域的应用

通过前面的许多 TensorFlow 应用例子,我们看到一个通用的深度学习框架可以帮助到现有互联网应用提升它们的智能水平,但是我们也看到,TensorFlow 深度学习框架也在很多其他领域得到使用。比如说,我们在伦敦的同事过去两年努力推进的 AlphaGo 的工作就得益于 TensorFlow 框架的帮助。因为 TensorFlow 在利用超大计算机集群和最新加速器方面的支持,AlphaGo 团队可以更加专注于算法的研发。







请到「今天看啥」查看全文