来源:Google Research Blog
编译:Bot
编者按:11日,结束假期的Google Brain团队负责人杰夫·迪恩(Jeff Dean)重回岗位,并在官博发表了对团队过去一年工作的总结。在这篇总结(一)中,杰夫·迪恩主要介绍了团队在开源软件、数据集和机器学习的相关基础工作,更偏向研究领域,而他本人也预告称将在接下来的几天中发表总结(二),具体讨论机器学习在医疗保健、机器人等应用领域所做的贡献。
Google Brain一直致力于通过科学研究和系统工程推动先进AI技术发展,我们把它视为自己的一个使命。去年,我们向大家分享了2016年所获各项成就的总结,并开始在研发智能机器这个长期研究计划上不断取得进展。同时,和Google和Alphabet等多个团队的合作也为我们用成果改善民生提供了契机。因此,这里我将用两篇文章介绍2017年团队所做的工作,其中第一篇(也就是本文)将重点介绍一些基础工作,以及开源软件、数据集和机器学习硬件方面的更新换代。而在第二篇文章中,我们将深入探讨机器学习对特定领域可能产生的巨大影响,如医疗保健、机器人和一些基础学科,届时我也会介绍团队在创造性、公平性和包容性上的努力,向读者展示一个形象更丰满的Google Brain。
核心研究
Google Brain团队的工作重点是追求研究、提高认识、提升自己解决机器学习领域新问题的能力。以下是去年我们研究的几个主题。
AutoML
AutoML(Automating Machine Learning)的目标是开发让计算机自主解决新的机器学习问题,而无需人类专家插手干预的技术。如果我们要建立真正的智能系统,这项工作是一个必备的基础。在过去一年中,我们基于强化学习和进化算法开发了一些设计神经网络结构的新方法,并把这项工作扩展到了最先进的ImageNet分类和对象检测领域,同时我们也在论文中展示了神经网络如何自动学习新的优化算法和有效的激活函数的成果。目前,我们正在积极配合Cloud AI团队把这项技术带给Google用户,并将从多个角度继续推进这个项目。
ICLR 2017:强化学习的神经结构搜索
AutoML用于对象检测
语音理解和生成
另一个主题是开发新技术,提高计算机系统理解和生成人类言语的能力。去年,我们和谷歌语音团队合作开发了一个用于语音识别的端到端模型,较之Google现有的先进语音识别系统,该模型字错误率(WER)只有5.6%,在性能上提升了16%。这项工作的一个优点是多线程研究,它汇聚了各个细分领域的多项研究成果。
端到端模型
我们还与Google的Machine Perception团队合作开发了一个直接从文本生成类人语音的神经网络模型Tacotron 2,它大大提高了生成语音的质量。这个模型的MOS值高达4.53,相比之下,有声读物专业朗读者(人类)的MOS值也不过4.582,而当前最好的计算机语音生成系统的的得分只有4.34。
Tacotron 2的模型架构
新型机器学习算法和方法
我们同样也在继续开发新的机器学习算法和方法,包括:
胶囊网络(在执行视觉任务时明确寻找激活特征的一致性,作为评估多个不同噪声假设的评估方法);
稀疏门控专家混合层(sparsely-gated mixtures of experts,一个多任务集成学习的超大神经网络);
超网络(hypernetworks,用一个小型网络,即超网络生成较大网络的权重);
MultiModel(可执行音频、视频等跨领域机器学习任务的新型模型);
注意力机制(无需CNN和RNN,仅靠注意力机制建立机器翻译模型);
符号和非符号学习优化方法;
用离散变量进行反向传播;
强化学习算法改进。
计算机系统
在过去一年里,用机器学习代替传统计算机系统中使用的启发式方法(试探法)也引起了我们的浓厚兴趣。之前我们已经展示了如何用强化学习优化硬件设备资源分配,发现它的效果优于手动启发式算法和传统算法方法。之后我们又与Google Research的同仁合作发表了一篇论文:The Case for Learned Index Structures,指出神经网络既可以比传统的数据结构(如B树、哈希表、布隆过滤器)更快,也可以更小。正如我在NIPS 2017会议期间展示的PPT中所说的那样,对于将机器学习用于计算机核心系统,我们相信现在我们抓住的只是的表面,路漫兮其修远兮,吾将上下求索。
学习模型索引
隐私和安全
机器学习需要大量数据,因此它与个人隐私、信息安全之间相互作用也是我们长期以来关注的一个焦点。去年我们的论文Semi-supervised Knowledge Transfer for Deep Learning from Private Training Data在ICLR 2017上摘获“最佳论文奖”,其中就展示了机器学习技术在防止敏感训练数据泄露、保护用户隐私上的应用。我们还进一步研究了对抗样本的性质,包括现实世界中的对抗样本和如何将对抗训练用于大规模训练,使相应模型更加强大。
了解机器学习系统
尽管我们已经看到了深度学习带来的令人印象深刻的成果,但我们觉得重要的是理解它为什么会起作用,以及它什么时候不起作用。就像我们在另一篇获得ICLR 2017“最佳论文奖”的论文Understanding deep learning requires rethinking generalization中所提到的那样,现有的机器学习框架还不能完全解释为什么深度学习会得出这样的结果,这种通过优化方法获得的“flatness”并不像当初设想的那样和良好的泛化紧密相关。为了更好地理解深度学习架构下训练的进展情况,我们发表了一系列分析随机矩阵的论文,因为它们是大部分训练方法的起点。而在最近的一项研究中,我们展示了良好的实验设计和严谨统计的重要性,以GAN为例,我们对比了当下流行的7个GAN的变体,发现它们在性能上并没有多大提升。我们希望这项研究能为其他研究人员提供一个可靠的实验案例。
如论文The (Un)reliability of saliency methods所介绍的,我们也在寻找一些能更直观地解释机器学习系统的方法。2017年3月,我们与OpenAI、DeepMind、YC Research等机构合作,推出在线开放科学杂志Distill,致力于加深读者对机器学习的理解。上线后,Distill凭借对专业概念的清晰阐释和文章中出色的可视化工具赢得了读者的广泛赞誉。在过去一年中,杂志发表的文章大多旨在介绍机器学习的内部工作原理,但我们期待它能在2018年带来更多惊喜。
特征可视化
如何有效使用s-SNE
用于ML研究的开源数据集
过去的一些开源数据集,如MNIST、CIFAR-10、ImageNet、SVHN和WMT等,都极大地推动了机器学习领域的发展。作为一个集体,过去一年我们团队也和Google Research携手同心,为打造开放的研究环境积极贡献有趣的新数据集。我们开源了一些大型标记数据集,它们包括:
YouTube-8M:包含超过700万个经标注的YouTube视频,共分为4716类;
YouTube-Bounding Boxes:收集了来自21万个YouTube视频的500多万个对象边界框;
Speech Commands Dataset:成千上万志愿者通过AIY网站提供的65000个简短命令语;
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:视频每一帧图像上的对象检测边界框
TensorFlow和开源软件
TensorFlow用户全球分布
综观团队过去的工作,我们已经构建了一些工具来帮助工作人员在Google产品中进行机器学习研究、部署机器学习系统。2015年11月,我们开源了第二代机器学习框架TensorFlow,希望机器学习社区的人们能从这款优秀工具中受益。2017年2月,我们发布了TensorFlow 1.0;同年11月,我们又发布了v1.4,其中最受人瞩目的是Eager execution(用于交互式命令编程)、XLA、TensorFlow程序优化编译器,以及可用于移动设备的精简版TensorFlow——Tensorflow Lite。目前Tensorflow安装说明的下载量已突破1000万人次,覆盖180多个国家和地区,在GitHub上已有超过1200人共享了源代码。
去年2月,我们也举办了第一届TensorFlow开发者峰会,吸引了超过450位前来山景城参会的专业人士和超过6500名在线观看的领域同仁,我们在全球35个国家和地区举办了85场在线参会活动。所有会议内容都已记录在案,主题包括新功能、使用TensorFlow的技巧和TensorFlow细节等。2018年3月30日,我们会在湾区举办第二届TensorFlow开发者峰会,希望届时能看到各位读者的身影。
这个剪刀石头布是TensorFlow的一个新用途。我们对第一届TensorFlow开发者峰会非常满意,因为我们从中发现了黄瓜自动分拣、在航拍图像中检测海牛、分拣更适合制作婴儿食品的土豆、皮肤癌识别、解读鸟类鸣叫、鉴定作物病株等各式各样的TensorFlow应用。
2017年11月,也就是在庆祝TensorFlow开源代码两周年之际见到这样一群充满活力的开发者和用户是非常令人振奋的。TensorFlow是GitHub上排名第一的机器学习平台,也是GitHub 上全球排名前五位的社区之一,现已被许多公司和机构所使用,和它相关的GitHub repo也已经突破24500个。如今许多科研论文也开始把源代码和TensorFlow实现放在一起发布,以配合研究成果,这样做将便于社区用户理解论文使用的具体方法,并重现、拓展相关工作。
TensorFlow也从Google其他团队的开源工作中获益良多,其中包括在TensorFlow中生成对抗模型的轻量级库TF-GAN、用于点阵模型的TensorFlow Lattice和用于神经网络追踪/检测的TensorFlow Object Detection API。TensorFlow模型库正随着越来越多的模型不断发展。
除了TensorFlow,我们还发布了deeplearn.js,一个针对在浏览器中运行深度学习模型的在线开源硬件加速器。deeplearn.js的主页上介绍了不少有趣的实例,如基于电脑摄像头的计算机视觉模型Teachable Machine、实时钢琴玩具Performance RNN。在2018年,我们会继续这项工作,以便将TensorFlow模型直接部署到deeplearn.js环境中。
TPU
大约在五年前,我们开始意识到深度学习将给计算机硬件带来又一场革命。深度学习对计算机算力的要求十分惊人,它有两个明显的特征:由大量密集的线性代数运算(矩阵倍数、向量运算等)构成,但对计算精度要求不高。由此我们开始思考是否该基于这两个特点为深度学习定制专门的硬件。之后我们向Google平台团队提交了设计方案,由他们开发并生产出了第一代Tensor Processing Unit(TPU):一种旨在加速深度学习模型inference的单芯片ASIC。TPU诞生的这3年间,它在Google翻译、Google搜索、Google图片中有了十分成熟的应用,并作为关键硬件参加了AlphaGo和李世石、柯洁的“人机大战”。2017年6月,我们在ISCA 2017上发表了一篇论文,专门介绍它和当前同类型GPU、CPU产品的性能差异,指出第一代TPU的inference速度是其他产品的15—30倍,而它的性能功耗比也比它们高了30—80倍。
Cloud TPU Pod可以提供高达11.5 petaflops的浮点运算
使用的TPU越多,模型在ResNet-50上的训练加速越趋向于完美
加快inference速度是重要的,但提高模型整体训练速度更是重中之重,也是更艰难的。研究人员越早提出一个好想法,我们就离实现突破越进一步。2017年5月,我们在Google I/O上正式发布了能同时加快inference速度和整体训练速度的第二代TPU(定制ASIC芯片、电路板和互连),并展示了单个机器配置多个深度学习TPU的TPU pod运算阵列。这些设备将作为云TPU在Google云平台上向用户开放服务。我们还发布了TensorFlow研究云(TFRC),这是一个为顶级ML研究人员提供的项目,如果他们致力于与世界分享他们的工作成果,那他们就能免费获得1000块云TPU的使用权。同样的,在去年12月份,我们在ImageNet is the new MNIST中介绍了一个新案例:用TPU pod在22分钟内训练一个ResNet-50(ImageNet)模型。如果使用一般的硬件,这个过程可能要花上数天或更久,但TPU pod为我们节省了时间,同时训练出了准确率更高的模型。在我们看来,这种依靠硬件缩短研究周转时间的方法将为全球科研人员带去极大的便利,我们期待更多的工程师和研究人员在2018年使用TPU!
原文地址:research.googleblog.com/2018/01/the-google-brain-team-looking-back-on.html?m=1
领取专属 10元无门槛券
私享最新 技术干货