雷锋网 AI 科技评论按:年终总结可能会迟到,但不会缺席!
圣诞节+元旦假期过后,谷歌资深 Fellow、谷歌 AI 负责人 Jeff Dean 代表所有谷歌的研究部门发出了他们的 2018 年度科研研究年终总结。这一年,谷歌的科研人员们在人工智能、量子计算、计算图形学、算法理论、软件系统、TPU、开源软件与数据集、机器人技术、AI 应用、医疗保健等许多方面做出了许多新的成果,不仅有许多论文,更有许多实际的技术产品。雷锋网 AI 科技评论在 2018 年中也曾单独报道过其中的许多项目。
同样由 Jeff Dean 撰写的 2017 年谷歌大脑年终总结见这里 上篇 下篇。如今谷歌把人工智能的相关研究开发拓展到了新品牌「谷歌 AI」下面,曾经的谷歌大脑负责人 Jeff Dean 也就成为了谷歌 AI 的负责人。
现在我们把这篇 Jeff Dean 代表全体谷歌科研人员撰写的谷歌科研成果 2018 年年终总结全文翻译如下。
对于谷歌的研究团队来说,2018 年又是充满激情和干劲的一年。我们的技术研究成果在许多个不同的方向上继续开花结果,包括计算机科学方面的基础科研成果和论文、科研结果在谷歌的更多新兴方向中的应用(比如医疗保健和机器人)、对开源软件的贡献以及和谷歌的产品开发团队之间的紧密协作,所有这些的目标都是为了创建更多有用的工具和服务。下面我们来一起看看 2018 的一些成果,以及对未来的一年做一些展望。更详细尽的汇总可以参见我们的 2018 年论文发表清单(https://ai.google/research/pubs/?year=2018)。
在过去的几年中,我们共同见证了 AI 领域的重大进步,欣喜地看到了 AI 对谷歌的产品产生了积极的影响,这些产品也在日常生活中为谷歌的数十亿用户提供了更多帮助。对于我们这些在 AI 领域工作的人来说,我们非常在意 AI 是否成为了这个世界变得更好的推动力 —— 也就是说,它的使用是符合人类道德的,它用来解决的问题也是对这个社会有益的。2018 年我们发布了谷歌 AI 准则,它也带有一系列负责任的 AI 应用的示范样本,描绘出了 AI 应用实践的技术指导。这些准则和示范也一同构成了评价我们谷歌自己的 AI 产品开发的体系框架,我们希望别的组织机构也能够运用这些准则规范他们自己的思路。需要说明的是,由于这个领域的发展速度飞快,我们在某些准则下提供的示范样本(比如「为了避免产生和加强不公平的偏见」、「为了对人类可解释」),也会随着我们在机器学习公平性和模型可解释性等新领域开展研究而不断变化、不断更新。这些研究研究成果反过来也会让谷歌的产品不断进步,让它们更具包容性、更少带有偏倚,比如我们就已经减少了谷歌翻译中的性别偏倚,也探索并发布了内容更为广泛多样的图像数据集和模型(https://ai.google/tools/datasets/open-images-extended-crowdsourced/),以便让计算机视觉模型在整个地球中更加多样化的环境中都可以工作。更进一步地,这些努力也让我们得以把最佳实践分享给更广泛的研究群体,比如我们的机器学习快速课程中的 Fairness Module。
如今大家都已经知道,在社会的许多方面、在许多重要的社会问题上,AI 都有潜力带来剧烈的影响。我们在 AI 洪水预测方面的研究就是一个绝佳的例子,它展示了 AI 可以如何在真实世界的问题上帮助人类。在多个谷歌内部团队的合作下,这项研究的目标被定义为「为洪水发生的可能性和可能覆盖地区提供准确、细时间粒度的信息」,而那些在洪水高危地区生活的人们就可以根据这些信息作出更好、更及时的判断,能更好地保护自己、保护自己的财产。
另一个例子是我们研究如何预测地震的余震,我们展示了机器学习模型预测余震地址可以比传统的基于物理模型的方法准确得多。这项研究还有一个也许影响更为深远的方面,那就是因为我们设计的机器学习模型是具备可解释性的,科学家们得以在这个模型的帮助下对余震的活动作出更好的观察,这不仅让余震的预测变得更加准确,也让我们对余震本身有了更好的了解。
谷歌之外也有许多我们的伙伴。许多研究者和谷歌的研究员、工程师一起借助 TensorFlow 之类的开源软件钻研各种各样的科学和社会学问题,比如用 CNN 识别座头鲸的声音,发现新的系外行星,识别生病的木薯等等。
为了鼓励这个领域产生更多的新点子,我们与 Google.org 一同发起了「谷歌 AI 社会影响竞赛」,参加比赛的个人和组织研究需要一些从想法转化为现实之后可能会带来重大社会影响的项目,然后他们可以获得总数为 2500 万美元的资助资金,而且可以获得谷歌研究科学家、工程师、其它专家的指导。
在我们围绕机器学习和计算机科学展开的研究中,有很大一部分都是希望帮助我们的用户们更快、更高效地达到他们的目标。通常这都需要科研团队和各种产品团队之间展开合作,研究成果也发布成为各种各样的产品功能和设置。其中一个例子是谷歌 Duplex,这个系统的建设需要我们把自然语言处理、对话理解、语音识别、文本转语音、用户理解以及高效的用户界面 UI 设计多个方面的研究成果集中整合,而它的最终效果是,只需要用户对着自己的手机询问「能不能帮我预定明天下午 4 点做头发」,一个虚拟助手就会替你打电话到理发店敲定相关的细节。
我还可以举一些例子,比如智能写作 Smart Compose,这个工具会通过预测模型给出写作提示,帮助用户写作邮件,写作过程可以更快、更轻松;声音搜索 Sound Search,它构建在 Now Playing 功能的基础上,可以快速、准确地帮助用户找到环境中正在播放的音乐;还有安卓系统中的 Smart Linkify,它展示了我们可以使用运行在移动设备上的机器学习模型分析屏幕上正在显示的文本,理解文本内容之后把它划分为不同种类的小节,接着就可以直接点击文本访问对应的应用程序。
Smart Linkify 智能地把连续的文本分成了一段地址 + 一个时间
我们目前的研究中一个重要的关注点就是让谷歌助手这样的工具支持更多的语言,以及让系统更好地理解语义相似性,就是说即便使用了完全不同的方式来表达,我们也希望它能理解人们希望表达的概念和想法是相同的。我们在提升语音合成质量以及缺乏训练数据的文本转语音任务中的研究成果,未来也可能为谷歌的产品增加新的功能。
量子计算是一种正在逐渐发展壮大的计算范式,它有能力解决经典计算机无法解决的非常困难的问题。在过去的几年中我们一直积极地在这个方向上进行科学研究,我们也相信,量子计算机展现出解决多种问题能力(所谓的量子霸权)的那个时刻即将到来,而这也将成为这个领域的分水岭。2018 年里,我们的量子计算实验产生了一系列令人兴奋的新成果,其中包括一个新的 72 位的量子计算设备 Bristlecone,它极大地拓展了量子计算机可以解决的问题的大小。我们距离量子霸权的距离越来越近了。
我们也发布了 Cirq,这是一个为量子计算机开发的开源编程框架,我们也借助它探索了如何在量子计算机上运行神经网络。最后,我们分享了研究量子处理器性能涨落的问题的及经验和技巧,也分享了关于「量子计算机有可能可以成为神经网络的计算性基础设施」的想法。2019 年里,我们期待在量子计算空间里做出更多惊喜的成果。
对于自然语言处理领域,2018 年里谷歌收获颇丰,我们有许多科研成果,也有许多关注于产品的内部团队合作成果(https://ai.googleblog.com/search/label/Natural%20Language%20Understanding)。我们在 2017 年发布的 Transformer 基础上做了改进,得到了一个新的时间并行的模型版本,我们把它称作 Universal Transformer,它在包括翻译、语意推理等许多自然语言任务中都展现出了极大的性能提升。我们也开发了 BERT,这是首个深度双向、无监督的语言表示,它只需要在普通的文本语料上预训练,然后就可以通过迁移学习精细调节到许多种不同的自然语言任务上。相比之前的最佳表现的模型,BERT 在 11 种自然语言任务中都取得了显著的表现提升。
除了和许多谷歌内部的产品团队合作开发了上文提到的 Smart Compose 和 Duplex 之外,我们也探索改进了谷歌助手,让它能够更好地处理多语言混用的场景。我们的最终目的是希望所有的用户都可以与它自然地用语言交流。
我们在感知方面的研究攻克了让计算机理解图像、声音、音乐和视频等有难度的问题,同时也为图像捕捉、压缩、处理、创意表达以及增强现实提供了更多更有力的工具。2018 年,我们把新技术融合进了谷歌照片 app,它可以更好地整理用户在意的照片内容,比如人和宠物。谷歌 Lens 和谷歌助手则可以帮助用户了解自然世界、实时回答问题,谷歌图像中的 Lens 还有更多新功能。我们曾经表示过,谷歌 AI 的使命中有一个重要的方面就是要给人类赋能、让他们从技术中受益,这一年中我们也对谷歌 API 做了许多升级,改进了它的功能、更新了它的基础组件。一些例子包括谷歌云机器学习 API 中的视觉和视频的升级的新功能,以及通过 ML Kit 实现的许多运行在移动设备上基础组件,提供了面部识别相关一些功能。
2018 年中,我们对学术研究的贡献包括了深度学习三维场景理解方面的进展,比如立体变换(stereo magnification,https://arxiv.org/abs/1805.09817),它可以为一个场景生成全新角度、而且具有逼真画质的图像。我们也有一些持续进行中的研究,可以更好地理解图像和视频,也就可以帮助用户更好地发现、组织、增强以及改进谷歌产品(谷歌图像、YouTube、谷歌搜索等)中出现的图像和视频。这一年中值得一提的改进包括:用于快速联合姿态估计以及人体实例分割的自底向上模型(https://arxiv.org/abs/1803.08225),一个用于复杂动作可视化的系统(http://mosculp.csail.mit.edu/),一个可以对人和物体之间的的时间-空间关系建模的系统(https://ai.google/research/pubs/pub47219),以及借助蒸馏(https://arxiv.org/abs/1812.08249)和 3D 卷积技术(https://ai.google/research/pubs/pub47220)改进视频动作识别。
在语音领域,我们提出了一种方法用于语义音频表示的无监督学习(https://ieeexplore.ieee.org/abstract/document/8461684),也提出了「高表现力、仿人类语音生成」的重大技术改进(Tacotron,https://arxiv.org/abs/1803.09047)。同时,多模态感知也是一个越来越重要的研究话题。「通过看来听」(https://arxiv.org/abs/1804.03619)综合了输入视频中的视觉和音频线索,然后可以抽取、增强视频中指定说话者的声音。这种技术有广泛的应用场景,从视频增强和识别、到视频通话、再到更好的听力辅助设备都可以运用,尤其适合同时有多个人说话的场景。
在资源有限的平台上实现感知也越来越重要。我们的第一代移动平台计算机视觉模型 MobileNets 已经在学术界和工业界得到了广泛应用,而我们也在 2018 年发布了第二代模型 MobileNetV2(https://arxiv.org/abs/1801.04381)。在 MorphNet (https://arxiv.org/abs/1711.06798)中,我们提出了一种高效的方法学习深度神经网络的架构,它在符合计算资源限制的情况下为图像和音频模型提供了全面的性能改进,而更新的自动网络生成方面的研究则表明了可以针对硬件设计表现更加优异的模型。
在过去的几年中,手机摄像头画质以及易用性的提升可以说是叹为观止。其中一部分改进自然来自于手机摄像头使用的感光器越来越先进,但同时更大的功劳在于计算图像学领域的科学技术改进。我们谷歌的研究团队发表了自己的最新研究成果,也和谷歌的安卓系统团队、消费级硬件团队紧密协作,把这项成果搭载在最新的 Pixel 手机以及其它的设备上,并最终送达用户手中。早在 2014 年,我们就发布了 HDR+ 技术,它让手机快速连拍多张曝光不同的照片,然后在软件中对齐这几张照片,并通过计算软件把它们合并为一张照片。最初 HDR+ 的设计目的是让照片具有比只拍一张照片更大的动态范围,后来,快速连拍多张照片并基于它们做计算性分析已经成了一种通用的模式,2018 年的手机摄像头基于这种模式开发了更多的功能,比如 Pixel 2 手机中的运动照片,以及动作静止照片中的增强现实模式。
今年,我们在计算图像学研究上的主要努力是为手机摄像头开发了一种新的能力,夜视,可以让 Pixel 手机在夜里看得更清晰,这项功能也获得了媒体和用户的一致好评。当然了,夜视仅仅是谷歌团队开发的帮助用户拍出完美照片的众多功能之一,这些功能都基于软件、服务于摄像头,它们包括:用机器学习带来更好的人像模式照片,通过超级清晰变焦看得更清楚、更远,以及用 Top Shot 和谷歌 Clips 捕捉特殊瞬间。
算法是谷歌各个系统背后的支撑骨架,各种算法决定着从谷歌旅行的路程规划系统,到谷歌云的持续哈希系统等等的所有谷歌产品的表现。在过去的一年中,我们继续在算法和理论方面进行着深入的科学研究(https://ai.google/research/pubs/?area=AlgorithmsandTheory&year=2018),从理论基础到实用算法,以及从图挖掘(https://ai.google/research/teams/algorithms-optimization/graph-mining/)到保持隐私的计算方法。我们在优化算法方面的探索覆盖了许多领域,从用于机器学习的连续优化,到分布式的组合优化。在前一个领域,我们研究训练神经网络时的随机优化算法的收敛性的论文获得了 ICLR 2018 的最佳论文奖,这篇论文展示了热门的基于梯度的优化方法存在的问题(比如 ADAM 的一些变种),同时也为一些新的基于梯度的优化方法提供了扎实的理论基础。(https://ai.google/research/pubs/pub47409)
对于分布式优化问题,我们研究了如何改进组合优化问题中的轮数和沟通复杂度,比如通过轮数压缩(https://ai.google/research/pubs/pub46793)和核心组的图中的匹配(https://ai.google/research/pubs/pub46793),以及子模最大化(https://ai.google/research/pubs/pub46927)和 k 核分解(https://ai.google/research/pubs/pub47742)。对于更偏向应用的方面,我们开发了新算法解决通过草图大规模设定封面(https://ai.google/research/pubs/pub46927),以及解决具有万亿条边的图的平衡分区以及层次化分簇问题。我们研究在线投递服务的论文(https://doi.org/10.1145/3178876.3186104)得到了 WWW 2018 的最佳论文提名。还有,我们的开源优化平台 OR-tools (https://developers.google.com/optimization/)也在 2018 Minizinc 限定编程比赛中赢得了 4 面金牌。
对于算法选择理论,我们提出了一些新的模型(https://doi.org/10.1145/3159652.3159702),也对重建问题(https://doi.org/10.1137/1.9781611975031.38)和多项式分对数的学习问题(http://proceedings.mlr.press/v80/chierichetti18a.html)做了一些调研。我们也研究了神经网络可以学习到的函数的类型(https://doi.org/10.4230/LIPIcs.ITCS.2018.22),以及如何使用机器学习的思想改进经典在线算法(http://papers.nips.cc/paper/8174-improving-online-algorithms-via-ml-predictions)。
对于谷歌来说,了解一些有强有力的隐私保证的算法是有着重要意义的。在这样的背景下,我们开发了两种新的方法,通过迭代(https://ai.google/research/pubs/pub47118)和随机排序(https://ai.google/research/pubs/pub47557)进一步分析并增强差分隐私。我们也使用差分隐私技术设计可以感知动机的学习方法(https://ai.google/research/pubs/pub46913),它们在博弈中很鲁棒。类似这样的学习技巧都在高效的在线市场设计中得到了应用。我们在市场相关的算法领域也有一些新的研究,比如帮助广告商测试广告投放的动机兼容性的技术(https://ai.google/research/pubs/pub46968),以及优化 app 内广告的刷新方式的技术(https://ai.google/research/pubs/pub46847)。我们也在重复拍卖问题中把当前最优的动态机制又向前推进了一步,我们的动态拍卖对于缺少未来预期(https://ai.google/research/pubs/pub47744)、预测有噪声(https://ai.google/research/pubs/pub47745)、异质买家行为(https://ai.google/research/pubs/pub46969)等状况都可以保持鲁棒,我们的结果还可以拓展到动态双拍卖的场景中(https://ai.google/research/pubs/pub47734)。最后,在在线优化和在线学习鲁棒性问题中,我们开发了新的在线分配算法处理带有流量峰值的随机输入(https://dl.acm.org/citation.cfm?id=3105446),以及对损坏的数据鲁棒的修补算法(https://ai.google/research/pubs/pub47732)。
我们对于软件系统的研究很大部分都继续与构建机器学习模型有着种种联系,尤其是与 TensorFlow 有许多联系。比如,我们针对 TensorFlow 1.0 发布了动态控制流的设计和实现(https://dl.acm.org/citation.cfm?id=3190551)。我们在后来的研究中介绍了一个称作 Mesh TensorFlow 的系统,通过它可以很方便地定义具有并行模型的大规模分布式计算,这样的系统可以包含多达几十亿个参数。另一个例子是,我们还发布了一个用于可拓展的深度神经排序的 TensorFlow 库。
我们也发布了 JAX(https://github.com/google/jax),这是一个带有加速器的 NumPy 的变种,它可以支持 Python 函数的任意阶自动微分。虽然 JAX 并不包含在 TensorFlow 中,它所使用的部分底层基础软件其实是和 TF 相同的(比如 XLA,https://www.tensorflow.org/xla/),而且 JAX 的一些想法和算法也对 TF 起到了不小帮助。我们在机器学习的安全和隐私方面也做了更多研究,我们开发的安全、保证隐私的开源框架也用在了更多的 AI 系统中,比如 CleverHans (https://github.com/tensorflow/cleverhans)和 TensorFlow Privacy(https://github.com/tensorflow/privacy)。
我们看重的另一个研究方向是机器学习在软件系统中的应用,这可以发生在许多不同的层次上。比如,我们持续地研究用层次化模型向不同的设备分配计算任务(https://openreview.net/pdf?id=Hkc-TeZ0W),以及我们参与了学习内存访问模式的研究(http://proceedings.mlr.press/v80/hashemi18a/hashemi18a.pdf)。我们也继续探索如何用模型学习到的索引在数据库和存储系统中替代传统的索引结构。正如我在去年的总结中写的,对于如何在计算机系统中使用机器学习,我们目前的认识其实还处在非常早期。
2018 年里我们也结识了 Spectre 和 Meltdown 这两个现代计算机处理器带有的严重安全漏洞,它们也正是在谷歌的零计划(Project Zero)团队与其他团队的合作中发现的。这些漏洞以及其它相关的漏洞着实让计算机架构研究人员们忙活了一阵子。在我们持续地对 CPU 的行为建模的过程中,我们的编译器研究团队把他们的测量机器指令延迟和端口压力的工具集成进了 LLVM 中,这让编译器得以做出更好的决定。
谷歌具有为计算、存储和网络构建大规模、可信赖、高效的技术架构的能力,谷歌的消费者产品、谷歌的云端服务以及机器学习模型的推理就都高度依赖于这种能力。在过去的一年中,这些方面的研究亮点包括谷歌最新进化的软件防御网络 WAN(https://ai.google/research/pubs/pub47191);一个独立工作、联邦式的查询处理平台,它可以在以不同的文件形式存储的数据上、在许多不同的存储系统上执行 SQL 查询语句(https://ai.google/research/pubs/pub47224);以及一个关于我们谷歌的代码审查做法的详细报告,包含了谷歌的代码审查背后的动机、目前的惯例、开发者的满意状况以及挑战(https://ai.google/research/pubs/pub47025)。
运行一个内容存储之类的大规模网络服务需要在不断变化的环境中做稳定的负载均衡。我们开发了一个持续的哈希方案(https://dl.acm.org/citation.cfm?id=3175309),它对于每一个服务器的最大负载有一个严密、可证明的保证,我们把它部署在了谷歌云的 Pub/Sub (https://cloud.google.com/pubsub/)上,为谷歌云的客户提供服务。在发布了最初版本的论文(https://arxiv.org/abs/1608.01350)之后,Vimeo 的工程师注意到了这篇论文,实现了它并把它开源到 haproxy,然后在 Vimeo 的负载均衡项目中使用它。它带来了显著的改进,这些算法思想的运用大幅降低了服务器缓存的带宽需求,几乎只有原先的 1/8,消除了一个重大性能瓶颈。
(未完,下半篇见这里)
via https://ai.googleblog.com/2019/01/looking-back-at-googles-research.html,雷锋网 AI 科技评论编译