Jeff Dean撰文回顾谷歌大脑2017:从基础研究到新硬件

继谷歌大脑 2016 年盘点之后,谷歌大脑负责人 Jeff Dean 近日撰文回顾了 2017 年的工作,内容包括基础研究工作,机器学习的开源软件、数据集和新硬件。本文是这次盘点的第一部分,谷歌将稍后推出第二部分,介绍机器学习在医疗、机器人等不同科学领域的应用与创造性,以及对谷歌自身工作带来的影响。

谷歌大脑团队致力于拓展人工智能在研究和系统工程方面的进展。去年,我们盘点了 2016 年的工作。2017 年,我们继续研究机器智能,并与谷歌、Alphabet 的多个团队合作,利用我们的研究成果改善人们的生活。本文将对 2017 年的工作进行盘点,包括基础研究工作,机器学习的开源软件、数据集和新硬件。

核心研究

谷歌大脑团队的研究重心是提升对机器学习的理解,提高解决该领域问题的能力。以下是 2017 年研究的几个主题。


AutoML

自动化机器学习的目标是开发新技术,使计算机可以自动解决新的机器学习问题,无需人类机器学习专家对每个新问题进行干预。如果要开发真正智能的系统,那么这就是我们所需要的基础能力。我们开发了使用强化学习和进化算法设计神经网络架构的新方法,在 ImageNet 分类和检测任务中实现了先进结果,同时也展现了如何自动学习新的优化算法和高效的激活函数。


神经架构搜索发现的卷积架构



使用 AutoML 发现的神经网络目标检测

语音理解和生成

开发新技术的另一个主题是提升我们的计算系统理解和生成人类语音的能力,包括与谷歌语音团队合作开发的全新端到端语音识别系统,比谷歌之前的语音识别系统的性能提升了 16%。


LAS 语音识别端到端模型的组件

我们还与谷歌机器感知(Machine Perception)团队合作开发了执行文本转语音生成(Tacotron 2)的新方法,可以大幅提升生成语音的质量。该模型的平均评价计分(MOS)为 4.53,而有声书中的专业录音 MOS 为 4.58,之前最优的计算机生成语音系统的 MOS 为 4.34。


Tacotron 2 的模型架构

新型机器学习算法和方法

我们继续开发新型机器学习算法和方法,包括 Capsule稀疏门控专家混合层(sparsely-gated mixtures of experts)、超网络(使用一个模型的权重生成另一个模型的权重)、新型多模态模型(在同一个模型中执行音频、视频、文本输入的多任务学习)、注意力机制、符号和非符号学习优化方法、通过离散变量进行反向传播的技术,以及多个新的强化学习算法改进。

用于计算机系统的机器学习

我们对在计算机系统中使用机器学习替换传统的启发式方法也很感兴趣。我们展示了如何使用强化学习优化设备配置,效果胜过人类专家。我们还在论文《The Case for Learned Index Structures》中展示了神经网络学习索引比 B-Trees、哈希表和布隆过滤器速度更快、模型更小。我们在将机器学习应用到核心计算机系统方面仍需努力,正如谷歌在 NIPS 2017 上所展示的那样。


学习模型作为索引

隐私性和安全性

机器学习及其与安全性和隐私性之间的相互作用仍然是我们的主要研究重点。我们展示了多种提供隐私性保证的机器学习技术,详见 ICLR 2017 最佳论文《Semi-supervised Knowledge Transfer for Deep Learning from Private Training Data》。我们还继续研究对抗样本的特性,包括展示真实世界中的对抗样本、如何在训练过程中大规模控制对抗样本使模型对对抗样本具备更强的鲁棒性。

理解机器学习系统

我们已经看到深度学习的优秀结果,但理解其工作原理非常重要。在 ICLR 2017 另一篇最佳论文《Understanding deep learning requires rethinking generalization》中,我们展示了当前的机器学习理论框架无法解释深度学习方法的结果。我们还发现优化方法导致的极小值平坦度与优化泛化能力的相关性并没有我们之前认为的那么紧密。为了更好地理解深层架构中的训练过程,我们发布了多篇论文分析随机矩阵,因其是大部分训练方法的起点。我们在近期的一项对比 GAN 方法的研究中展示了优秀实验设计和数据严密性的重要性,研究发现目前很多 GAN 的衍生算法实际上并没有提升性能。我们希望该研究为其他研究者进行鲁棒性实验研究提供一个示例。

我们正在开发方法,使机器学习系统具备更好的可解释性。三月,我们与 OpenAI、DeepMind、YC Research 联合发布交互视觉化期刊平台 Distill。该平台的文章清晰地阐述了机器学习概念和精彩的交互可视化工具,并因此赢得声望。第一年,Distill 发布了大量富有启发性的文章,旨在理解不同机器学习技术的内在工作原理,我们期待它在 2018 年有更大进步。


特征可视化


如何有效地使用 t-SNE?

用于机器学习研究的开源数据集

开源数据集如 MNIST、CIFAR-10、ImageNet、SVHN 和 WMT 极大地推动了机器学习的发展。我们的团队和谷歌研究团队在过去一年中一直致力于开放式机器学习研究的新数据集开源工作,开放了大量大型标注数据集,包括:

  • YouTube-8M:超过 700 万 YouTube 视频,带有 4716 种不同类别的注解
  • YouTube-Bounding Boxes:21 万 YouTube 视频,500 万边界框
  • Speech Commands Dataset:数千个讲话者说的命令式短句
  • AudioSet:200 万时长 10 秒的 YouTube 音频片段,标注有 527 个不同的音频事件
  • Atomic Visual Actions (AVA):57000 视频片段,21 万动作标签
  • Open Images:900 万创作通用的许可图像,6000 个标注类别
  • Open Images with Bounding Boxes:600 个分类的 120 万边界框


YouTube-Bounding Boxes 数据集的实例:以每秒 1 帧的速度采样的视频片段,目标物体周围有边界框。

TensorFlow 与开源软件


TensorFlow 用户在全球的分布

在整个团队的历史中,我们创建了一些工具,帮助我们自己开展机器学习研究,并将其部署到诸多谷歌产品之中。2015 年 11 月,我们开源了第二代机器学习框架 TensorFlow,希望整个机器学习社区可以从中受益。2017 年 2 月,我们发布了 TensorFlow 1.0,11 月,我们推出了包含重大改进版本 v1.4Eager execution,用于交互式命令风格的编程;XLA,TensorFlow 程序的一个优化编译器;TensorFlow Lite,移动端和嵌入式设备的一个轻量级方案。预编译的 TensorFlow 二进制文件现在已被来自超过 180 个国家的用户下载 1000 万次之多,GitHub 上的源代码也有了超过 1200 个贡献者。

2 月,我们举办了首次 TensorFlow 开发者大会,超过 450 人前来山景城参会,超过 6500 人观看了视频直播。会议主题涵盖新特征、TensorFlow 使用技巧等。我们将在 2018 年 3 月 30 号在湾区举办下一届大会。

11 月,TensorFlow 庆祝其推出两周年。TensorFlow 是 GitHub 上的最大机器学习平台,也是五大 repo 之一。TensorFlow 被大大小小很多公司和组织使用,GitHub 有超过 24500 个独立 repo 与 TensorFlow 相关。很多研究论文的发布带有 TensorFlow 实现的研究结果,使得社区更容易理解所使用方法以再现或继续扩展工作。

TensorFlow 同样受益于其他谷歌研究团队的相关开源工作,包括 TF-GAN(用于生成对抗模型的一个轻量级库)、TensorFlow Lattice(用于使用 lattice 模型工作的一系列评估器)和 TensorFlow Object Detection API。TensorFlow 模型 repo 也随着模型的发展而不断增长。

除了 TensorFlow,我们还发布了 deeplearn.js,一个用于浏览器的深度学习 API 的开源硬件加速实现(无需任何下载或安装)。deeplearn.js 主页上有很多不错的实例,比如 Teachable Machine 和 Performance RNN。2018 年我们将会继续努力,实现 TensorFlow 模型在 deeplearn.js 环境中的直接部署。

TPU


云端 TPU 可提供高达 180 teraflops 的机器学习加速

大约五年之前,我们认识到深度学习将会极大地改变我们所需的硬件。深度学习计算是密集型的,并有两个特性:它们主要由密集的线性代数运算(矩阵倍数、向量运算等)组成,可以忍受精度的降低。我们意识到可以利用这两个特性构建高效运行神经网络计算的专门硬件。我们为谷歌平台提供设计,由此诞生了第一代 TPU:一个单芯片 ASIC,可以加速深度学习模型的推理。第一代 TPU 部署在我们的数据中心已有三年,在谷歌搜索,在谷歌翻译,在谷歌图片,在 AlphaGo 对战柯洁和李世石中,以及在许多其他研究和产品应用中,都有 TPU 在发挥作用。六月,我们发表了一篇 ISCA 2017 论文,表明第一代 TPU 比现今的 GPU 或 CPU 快 15X - 30X,性能/功耗提升 30X - 80X。


云端 TPU Pod 最高可实现 11.5 petaflops 的机器学习加速


ImageNet 上 ResNet-50 的训练实验随着使用的 TPU 设备数量的增加而显示近乎完美的加速。

推理很重要,但是加速训练进程更为重要,并且更难。我们的第二代 TPU 是在五月份谷歌 I/O 大会上推出的,它是一个可同时加速推理和训练的全系统,会上展示了一个单设备配置和一个被称作 TPU Pod 的多机架深度学习超级计算机配置。我们还宣布第二代 TPU 将会以云端 TPU 的形式出现在谷歌云平台上。我们同样推出了 TensorFlow Research Cloud (TFRC),该项目可为致力于共享其成果的顶级机器学习研究者免费提供 1000 块云端 TPU。十二月,我们在 TPU Pod 上用时 22 分钟完成了 ResNet-50 ImageNet 模型的高精度训练,相比之下传统方法则需要数天甚至更长。我们认为以这种方式缩短研究周转时间将会极大地提升谷歌机器学习团队及所有使用云端 TPU 团队的产出效率。

入门谷歌产业谷歌大脑Jeff Dean
3