对于谷歌的研究团队来说,2018 年是令人兴奋的一年。Google Research 通过多种方式推动技术研究工作,包括基础计算机科学研究成果和出版物,以及多项研究被应用在谷歌的新兴领域(如医疗保健和机器人)、开源软件贡献,以及与谷歌产品团队的密切合作,所有这些都旨在提供有用的工具和服务。接下来,我们将重点介绍谷歌研究院在 2018 年所做的一些工作。
道德和 AI
在过去几年中,我们看到了 AI 的重大进步,以及这些进步为我们的产品和数十亿用户日常生活带来的积极影响。我们深切地希望 AI 能够造福我们的世界,并且能够充分遵守道德原则,帮助我们解决对社会有益的问题。今年,我们发布了“谷歌 AI 原则”,并提供了一系列实践支持,其中概述了用于实现 AI 的技术建议。总的来说,它们为评估我们的 AI 开发提供了一个框架,我们希望其他组织也能够使用这些原则来帮助他们塑造自己的思维。
值得注意的是,由于这一领域的发展非常迅速,随着我们和其他人在 ML 公平性和模型可解释性等领域进行新的研究,原则中提到的一些最佳实践,如“避免创建或加强不公平的偏见”或“对人类负责”,也在不断变化和改进。这项研究反过来促进了我们的产品的进步,使其更具包容性并减少偏见,例如我们在谷歌翻译中减少性别偏见,并允许探索和发布更具包容性的图像数据集和模型,让计算机视觉推动全球文化的多样性。此外,我们借助这项工作与广泛的研究社区分享一些最佳实践,例如机器学习速成课程中的公平模块。
AI 和社会公益
AI 将对社会多个领域产生巨大的潜在影响,这是显而易见的。应用 AI 来解决现实问题的一个例子是我们在洪水预测方面所做的工作。我们与谷歌的其他多个团队合作,旨在及时提供发生洪灾的可能性和受灾范围的准确信息,让洪灾易发地区的人们能够更好地决定如何最好地保护自己和他们的财产。
第二个例子是我们关于地震余震预测的工作。我们展示了一个机器学习模型,它可以比传统的基于物理的模型更准确地预测余震位置。更重要的是,因为 ML 模型的设计是可解释的,科学家们已经能够对余震的行为做出新的发现,所以不仅可以得到更准确的预测,而且可以达到新的理解水平。
我们还看到了大量的外部参与者,他们与谷歌研究人员和工程师合作,使用 TensorFlow 等开源软件来解决各种科学问题和社会问题,例如使用卷积神经网络识别座头鲸呼叫、检测新的系外行星、识别患病的木薯植物,等等。
为了促进这一领域的创新活动,我们与 google.org 合作发布了“Google AI for Social Impact Challenge”,个人和组织可以从总计 2500 万美元的资金中获得资助,以及来自谷歌研究科学家的指导和建议。
辅助技术
我们的大部分研究都集中在使用 ML 和计算机科学来帮助用户更快更有效地完成任务。通常,这涉及到与各种产品团队合作,以便将研究成果应用在各种产品中。其中的一个例子是 Google Duplex,这个系统涉及了多项技术,包括自然语言处理和对话理解、语音识别、文本到语音转换、用户理解和有效的 UI 设计,这样用户就可以说“你能帮我预订今天下午 4 点钟的理发吗?”,然后一个虚拟代理将通过电话帮你处理其余的事情。
其他例子还包括 Smart Compose,一种使用预测模型提供有关如何撰写电子邮件的相关建议、让编辑电子邮件变得更快更容易的工具,以及 Sound Search,一种基于 Now Playing的技术,让你可以更快更准确地知道正在播放的是什么歌曲。此外,Android 中的 Smart Linkify通过设备上的 ML 模型来了解用户选择的文本类型,然后在手机屏幕上显示对用户来说更有用的文本类型(例如,如果用户选择文本是地址类型,那么就提供这个地址的地图链接)。
我们研究的一个重点是让像谷歌智能助理这样的产品支持更多的语言,并且可以更好地理解语义相似性,即使用户使用了不同的方式来表达相同的概念或想法。这些新功能是基于我们在改进语音合成和文本到语音转换方面的工作。
量子计算
量子计算是一种新兴的计算范式,它承诺能够解决经典计算机无法解决的挑战性问题。在过去的几年中,我们一直在积极从事这方面的研究。我们相信,我们至少在一个问题上已经进入状态(所谓的量子霸权),这将是该领域的一个分水岭事件。在过去的一年里,我们取得了很多令人兴奋的进展,包括开发了一种新的 72 量子位计算设备 Bristlecone。
科学家 Marissa Giustina 在 Santa Barbara 的量子 AI 实验室安装 Bristlecone 芯片
我们还发布了量子计算机开源编程框架 Cirq,并探讨了如何将量子计算机用于神经网络。最后,我们分享了我们在量子处理器性能波动方面的经验和技术,以及如何将量子计算机作为神经网络计算基板的一些想法。我们期待 2019 年量子计算领域会取得更加令人兴奋的成果!
自然语言理解
2018 年,谷歌在自然语言方面的研究也相当令人振奋,其中包括基础性研究和以产品为中心的合作成果。我们对 2017 年的 Transformer 工作进行了改进,得到了一个叫作 Universal Transformer 的并行版本,在包括翻译和语言推理在内的多个自然语言任务中都显示出巨大的进步。我们还开发了 BERT,这是第一个深度双向的无监督语言表示,仅使用纯文本语料库进行预训练,然后通过转移学习对各种自然语言任务进行调优。BERT 在 11 种自然语言任务中比之前的最新成果具有更好的表现。
除了与各种研究团队合作以实现 Smart Compose 和 Duplex 之外,我们还努力让谷歌智能助理能够更好地处理多语言,目标是让助理能够自然地与用户进行对话。
感知研究
我们的感知研究解决了计算机在理解图像、声音、音乐和视频方面的大难题,并为图像捕获、压缩、处理、创造性表达和增强现实提供了更强大工具。2018 年,我们通过技术改进了 Google Photos 组织用户最关心的内容的能力,例如人和宠物。Google Lens 和 Google Assistant 帮助用户了解自然世界、实时回答用户的问题。谷歌 AI 的一个关键使命是让人们能够从我们的技术中受益。今年,我们在改进 Google API 的功能和构建块方面取得了很大进展,包括 Cloud ML API 中的视觉和视频能力增强和基于 ML Kit 的面部识别相关的构建块。
Google Lens 可以帮助你了解周遭世界的更多信息。例如,Lens 可以识别出狗的品种。
2018 年,我们在学术研究方面的贡献还包括用于 3D 场景理解的深度学习,例如立体放大,可以合成新型的场景视图。我们在更好地理解图像和视频方面的研究让用户能够在谷歌产品(例如 Photos、YouTube、Search 等)中查找、组织、增强和改进图像和视频。2018 年的一些值得注意的进展还包括一个用于人体关节姿势估计和人体实例分割的模型、一个用于可视化复杂运动的系统、一个用于模拟人与物体之间的时空关系的系统,以及基于蒸馏(distillation)和 3D 卷积的视频动作识别的改进。
在音频方面,我们提出了一种用于语义音频表示的无监督学习方法,以及对可表达和近似人类的语音合成做出了显著的改进。多模态感知是一个越来越重要的研究课题。“Looking to Listen”将输入视频中的视觉和听觉因素结合起来,以便隔离和增强视频中发声主体的语音。这项技术可以支持一系列应用,从语音增强和视频识别、视频会议到助听器改进,尤其是在有多人讲话的情况下。
在资源有限的平台上实现感知变得越来越重要。MobileNetV2 是谷歌的下一代移动计算机视觉模型,我们的 MobileNets 被广泛应用于学术界和工业界。MorphNet 提出了一种有效的方法来学习深度网络结构,从而能够在计算资源有限的情况下在图像和音频模型上实现全面的性能改进。
计算摄影
在过去几年中,在手机相机的质量和多功能性方面的改进一直值得我们关注。其中一方面是手机使用的物理传感器的改进,另一个主要的方面是计算摄影科学的进步。我们的研究团队发布了他们的新研究技术,并与谷歌 Android 和消费者硬件团队密切合作,将这项研究应用在最新的 Pixel 和 Android 手机及其他设备上。2014 年,我们引入了 HDR+ 技术,让镜头捕获图像帧,在软件中对齐帧,并通过计算软件将它们合并在一起。最开始我们是为了让图片具有比单次曝光更高的动态范围。不过,先捕获帧然后对这些帧执行计算分析是一种通用方法,可以在 2018 年的相机中实现很多高级功能。例如,Pixel 2 提供的 Motion Photos,以及 Motion Stills 中的增强现实模式。
2018 年,我们在计算摄影方面的主要工作之一是开发了一种叫作 Night Sight 的新功能,让 Pixel 手机的摄像头能够“看到黑暗中的东西”,赢得了媒体和用户的赞誉。当然,Night Sight 只是我们团队开发的能够帮助用户拍摄完美的照片的众多新功能之一,其他的还包括使用 ML 提供更好的肖像拍摄模式、使用 Super Res Zoom 进行进一步的取景,以及使用 Top Shot 和 Google Clips 捕捉精彩的瞬间。
算法与理论
算法是谷歌系统的核心,触及我们所有的产品,从 Google Trips 背后的路由算法到谷歌云的一致性哈希算法。在过去的一年中,我们继续研究算法和理论,涵盖了从理论基础到应用算法、从图形挖掘到隐私保护计算等领域。在优化算法方面,我们的工作涉及从研究机器学习的持续优化到分布式组合优化。在机器学习的持续优化方面,我们在训练神经网络随机优化算法收敛性(获得 ICLR 2018 年最佳论文奖)方面的研究揭示了基于梯度的优化方法(例如 ADAM 的一些变体)存在的问题,同时为提出基于梯度的新优化方法奠定了基础。
ADAM 和 AMSGRAD 在一维凸问题上的性能比较
在分布式优化方面,我们致力于改进组合优化问题的通用性和通信复杂性。在其他应用方面,我们开发了一些算法,例如,通过草拟覆盖大规模数据集,对具有数万亿条边的图进行平衡分区和层次聚类。我们在线交付服务方面的工作获得 WWW2018 最佳论文奖。最后,我们的开源优化平台 OR-tools 在 2018 年 Minizinc 约束编程竞赛中获得了 4 枚金牌。
在算法选择理论方面,我们提出了新的模型,并研究了重建和学习多项分对数混合的问题。我们还研究了可通过神经网络学习的函数类,以及如何使用机器学习来改进经典的在线算法。
在谷歌,保证学习技术的严格私密性对我们来说非常重要。我们开发了两种新方法来分析如何通过迭代和重排来放大隐私差异。我们还应用差异隐私技术来设计在游戏方面具有健壮性的激励感知学习方法。这种学习技术在高效的在线市场设计中得到了应用。我们在市场算法领域的新研究还包括帮助广告客户测试广告竞价的激励兼容性,以及针对应用内广告的优化技术。我们还进一步推动了重复竞价方面最先进的动态机制的边界,提出了强大的动态竞价。
最后,在在线优化和在线学习的健壮性方面,我们开发了新的用于流量峰值时刻的随机输入的在线分配算法,以及对损坏的数据具有健壮性的新强盗算法。
软件系统
我们对软件系统的大部分研究仍然与构建机器学习模型和 TensorFlow 有关。例如,我们发布了 TensorFlow 1.0 的动态控制流程。我们的一些新研究引入了一个叫作 Mesh TensorFlow 的系统,可以很容易地指定具有模型并行性的大规模分布式计算,还支持数十亿个参数。另外,我们还发布了一个可扩展的深度神经排序库。
TF-Ranking 库支持多项目评分架构,这是对传统单项评分的扩展
我们还发布了 JAX,这是 NumPy 的一个变体。虽然 JAX 不是 TensorFlow 的一部分,但它利用了一些相同的底层软件基础设施(例如 XLA),并且它的一些想法和算法对我们的 TensorFlow 项目有所帮助。最后,我们继续研究机器学习的安全性和隐私性,并开发 AI 系统的安全和隐私开源框架,如 CleverHans 和 TensorFlow Privacy。
对我们来说,另一个重要的研究方向是将 ML 应用于软件系统。例如,我们继续研究如何将带有层次模型的计算移到设备上,并在学习内存访问模式方面做出了一些贡献。我们还继续探索如何使用学习索引来取代数据库系统和存储系统中的传统索引结构。
一个 NMT 模型中 Hierarchical Planner 的放置
2018 年,Spectre 和 Meltdown 是在现代计算机处理器中出现的新型安全漏洞。在我们继续努力模拟 CPU 的行为时,我们的编译器研究团队将他们用于测量机器指令延迟和端口压力的工具集成到 LLVM 中,从而可以做出更好的编译决策。
谷歌产品、我们的云产品和机器学习模型推理严重依赖于为计算、存储和网络提供大规模、可靠、高效的技术基础设施的能力。过去一年的一些研究亮点包括谷歌软件定义网络 WAN 的发展——这是一个独立的联合查询处理平台,可以在很多存储系统(BigTable、Spanner、Google Spreadsheets 等)中针对基于不同文件格式的数据执行 SQL 查询,以及我们的代码评审报告——调查谷歌代码评审背后的动机、当前实践以及开发人员的满意度和面临的挑战。
运行一个托管内容的大型 Web 服务需要在动态环境中实现稳定的负载均衡。我们开发了一致性哈希方案,可以保证每台服务器具有最大的负载,并将其部署到 Google Cloud Pub/Sub 中。Vimeo 的工程师找到了我们发布的早期论文,在 haproxy 中实现了这个方案,然后将其开源,并将其用于 Vimeo 的负载均衡项目中。结果很是令人感到兴奋,这些算法帮助他们将缓存带宽减少了近 8 倍,同时消除了缩放瓶颈。
AutoML
AutoML,也称为元学习,即通过机器学习来自动化机器学习。多年来,我们一直在研究这个领域,我们的长期目标是开发出可以利用从之前已解决的其他问题中得出的见解和能力来找出新问题并自动解决问题的系统。我们在这个领域的早期工作主要使用强化学习,但我们对使用进化算法也很感兴趣。
去年,我们展示了如何使用进化算法自动发现各种视觉任务的神经网络架构。我们还探讨了如何将强化学习应用于除神经网络架构搜索之外的其他问题。我们的工作表明,它可以被用于自动生成图像变换序列,用以提高各种图像模型的准确性,以及找到新的符号优化表达式,比常用的优化更新规则更有效。我们在 AdaNet 方面的工作展示了如何拥有一个具有学习保证的快速灵活的自动算法。
AdaNet 自适应地增长了神经网络的集合。在每次迭代中,它测量每个候选者的集合损失,并选择最佳的一个进入下一次迭代
我们的另一个重点是自动发现计算效率高的神经网络架构,这样它们就可以在移动电话或自动驾驶汽车上运行,这些环境对计算资源或推理时间有严格的限制。我们的工作表明,在强化学习架构搜索的奖励函数中将模型的准确性与其推理计算时间相结合,就可以找到高度准确的模型,同时满足特定的性能约束。我们还探索了使用 ML 来学习自动压缩 ML 模型,以便可以使用更少的参数和更少的计算资源。
TPU
张量处理单元(简称 TPU)是谷歌公司内部开发的一种 ML 硬件加速器,其自设计之初就专门用于执行大规模训练与推理任务。TPU 帮助谷歌公司实现了研究层面的一系列突破,包括之前已经讨论过的 BERT。
此外,其还使得世界各地的研究人员能够以开源方式享受谷歌研究带来的成果,并以此为基础寻求新的突破。例如,任何人都可以免费通过 Colab 对运行在 TPU 之上的 BERT 进行微调,而 TensorFlow Research Cloud 则让成千上万研究人员有机会在规模更为可观的免费云 TPU 计算能力当中受益。
我们还对 TPU 硬件进行了多次迭代,并将其以云 TPU 的形式推向商用——其中包括 Cloud TPU Pod 机器学习超级计算机,旨在显著降低大规模 ML 训练的难度。着眼于谷歌内部,除了在机器学习研究领域实现更快进步之外,TPU 还给谷歌公司的一系列核心产品带来重大改进,包括搜索引擎、YouTube、Gmail、谷歌智能助手以及谷歌翻译等等。我们期待看到谷歌以及来自其它方面的机器学习团队,能够利用 TPU 提供的前所未有的计算规模在机器学习领域带来更多斩获。
图左为单个 TPU v3 设备,图右则为 TPU v3 Pod 的一部分。TPU v3 是谷歌公司最新一代张量处理单元(简称 TPU)硬件。这些系统以 Cloud TPU v3 的形式供外部客户使用,并采用水冷机制以带来最佳性能(计算机芯片加水冷系统,永远令人兴奋!)。完整的 TPU v3 Pod 能够为全球各大核心机器学习难题带来超过 100 千万亿次的计算能力。
开源软件与数据集
在与研究以及软件工程社区开展协作的过程当中,发布开源软件与建立新的公共数据集一直是我们两大最主要的贡献方式。我们在这一领域中最为显著的成果之一正是 TensorFlow,这是我们于 2015 年 11 月发布、目前得到广泛流行的机器学习计算系统。我们在 2018 年庆祝了 TensorFlow 项目的三周岁生日,在此期间其被下载超过 3000 万次,并有超过 1700 名贡献者为其带来 4 万 5 千多次 commit。
回顾 2018 年,TensorFlow 先后迎来八个主要版本,同时增加了多项重要功能——例如急切执行以及分发策略等。我们在开发过程当中还启动了社区公众设计评审机制,并以特殊兴趣小组的形式吸纳更多贡献者。随着 TensorFlow Lite、TensorFlow.js 以及 TensorFlow Probability 等相关产品的推出,整体 TensorFlow 生态系统都在 2018 年得到大幅成长。
我们很高兴地看到,TensorFlow 在全部顶级机器学习与深度学习框架当中,拥有着最强大的 Github 用户保留率与吸引力。TensorFlow 团队还致力于快速解决 Github 问题,并为外部贡献者提供顺畅的参与途径。根据 Google Scholar 统计的数据,在研究过程当中,我们不断在已发表论文的基础之上为全世界大部分机器学习与深度学习研究提供支持。
TensorFlow Lite 在面世的短短一年之后,目前已经被安装在全球超过 15 亿台设备上。此外,TensorFlow.js 则成为 JavaScript 中的头号机器学习框架;其推出刚刚 9 个月,就在内容交付网络(简称 CSN)上得到 200 多万次点击与 25 万次下载,并在 Github 上获得超过 1 万颗星。
除了继续开发现有开源生态系统之外,我们在 2018 年还引入了一套新的框架,用于实现灵活且可重复的强化学习能力、建立新的可视化工具、快速了解数据集中存在的种种特征(而无需编写任何代码)、新增一套用于表达排名学习问题的高级库(这类问题旨在以最符合列表效能需求的方式对其中的条目进行排序,这种能力对于搜索引擎、推荐系统、机器翻译以及对话系统乃至计算生物学等领域都有着重要意义)、发布了一套快速灵活且具有学习保证的 AutoML 解决方案框架、利用 TensorFlow.js 构建一套浏览器内置实时 t-SNE 可视化库,同时添加了能够与电子医疗数据对接的 FHIR 工具与软件(在本文的医疗保健部分做出详尽说明)。
tSNE 嵌入在完整 MNIST 数据集内的实时演进。该数据集包含 6 万幅手写数字图像。
公共数据集通常能够成为激发灵感的重要基础,并凭借着为更广泛的社区带来大量有趣数据及问题的方式,帮助来自多个领域的研究人员取得巨大进步。此外,公共数据集还能够激发人们在不同任务当中获得更佳成绩的热情,从而保证相关社区拥有健康的竞争态势。
2018 年,我们很高兴地发布了 Google Dataset Search,这是一款从全部网络当中查找公共数据集的新工具。多年以来,我们一直在策划及发布各类具有创新性的数据集,包括大量注释图像或视频、用于语音识别的孟加拉地区人群数据集,乃至机械手臂抓取数据集等等。2018 年,我们继续向这一重要储备添加更多数据集资源。
我们还发布了 Open Images V4,这套数据集包含 1540 万个边框(对应 190 万张图片上的 600 种对象类别)以及 3010 万个归属于 19794 种类别的人工验证图像级标签。此外,我们通过使用 crowdsource.google.com 从世界各地的数万名用户处获得了 550 万条注释,希望向其中引入来自世界各地的更多人群与场景,从而扩展这套数据集的规模水平。
我们也发布了 Atomic Visual Actions(简称 AVA)数据集,其负责为视频内容提供视听注释,从而改善对人类行为的理解以及对视频语音的处理能力。我们还更新了 YouTube-8M,并举办第二届 YouTube-8M 大规模视频理解挑战赛与研讨会。我们的 HDR+ Burst Photography 数据集主要用于实现计算摄影领域的各项研究,而 Google-Landmarks 则是另一套新型数据集,用于解决地标识别方面的种种挑战。
在具体数据集之外,我们还在 Fluid Annotation 项目中进行了一系列探索,相关技术成果能够加快数据集的创建与可视化速度。Fluid Annotation 是一种探索性机器学习驱动接口,能够更快地对图像内容进行注释。
我们还不时帮助研究界发现新的挑战方向,从而确保双方共同努力以解决棘手的研究问题。这方面工作通常是通过发布新型数据集实现的,但也存在不少例外。今年,我们围绕包容性图像难题组织了新的挑战赛,致力于开发出更强大的模型以避免各类偏见问题。iNaturalist 2018 挑战赛旨在使计算机能够更细致地区分视觉对象的类别(例如图片当中特定植物的种类)。Kaggle “Quick,Draw!”涂鸦识别挑战赛希望建立起更出色的涂鸦内容分类器。而 Conceptual Captions 作为一套大规模图像捕捉数据集也有了自己的挑战赛,旨在进一步推动图像字幕模型的研究工作。
机器人
2018 年,我们在理解机器学习技术如何教授机器人在真实环境当中行动以及教授机器人操作新物体方面迎来了新的里程碑(CoRL’18 最佳系统论文)以及重大的应用级进展。机器人能够在无需人为监督的情况下凭借机器学习理解物体性状。
此外,我们还将机器学习与基于采样的方法相结合(ICRA’18 服务机器人最佳论文)以研究机器人行动,同时探索机器人几何学以加快这种行动掌握速度。我们在确保机器人以自主方式观察并感知环境结构方面取得了重大进展。我们第一次能够在真实的机器人设备上成功实现深层强化学习模型的在线训练,并开始寻找新的、基础性理论方法,从而真正为机器人带来稳定的控制学习能力。
人工智能在其它领域的应用
2018 年,我们将机器学习技术应用于物理以及生物科学当中的诸多问题。利用机器学习技术,我们可以为科学家提供相当于数百甚至数千名研究助理的数据挖掘能力,从而显著提升科学家们的创造力与生产力水平。
我们在《自然——方法学》杂志上发布的神经元高精度自动重建论文中提出了一种新的模型,该模型能够将原有深度学习技术中的连通组数据自动解释在准确性层面提高一个数量级。
机器学习在科学领域的其它应用案例还包括:
通过数据挖掘汇总星体的光线曲线,从而在太阳系之外寻找新的行星
识别短 DNA 序列的起源或功能
自动检测失焦显微镜图像
以数字化方式创建具有多个染色特征的同类细胞图像
自动将质谱输出结果映射为肽链
经过预训练的 TensorFlow 模型可以对 Fiji(ImageJ)细胞显微镜下的图像斑块拼接进行对焦质量评估。该模型会利用边界位置的色调与亮度分别估算对焦质量以及预测准确性。
健康
过去几年以来,我们一直致力于将机器学习技术应用于健康领域——这一领域直接影响到我们每一个人,我们也坚信机器学习将能够在健康行业中显著增强医疗专业人员的直觉与经验,最终为人类的生活质量带来巨大提升。在这一领域,我们采取的常规方法是同医疗保健组织建立合作以解决各项基础研究问题(利用临床专家的反馈支持我们的研究结果),而后将结果发表在声誉卓著且需要经过同行评审的科学与临床期刊上。
- LTC3642EDD 演示板、高效率、高电压 50mA 同步降压转换器
- 便携式充电宝
- MIKROE-3480,用于 STM32 STM32F303RC 的 MCU 卡
- LTC1728ES5-3.3、3.3V 和 5V 三路电源监视器的典型应用
- 的卢飞快,沁恒RISC-V智能手环
- NCP6324GEVB,基于 NCP6324B 3MHz、2A 高效、低纹波、可调输出电压、同步降压转换器的评估板
- FA-20H_CC2541,CC2541 低功耗蓝牙无线应用的外部振荡电路
- 【训练营】物联网时钟
- 使用 Analog Devices 的 LT3091HR 的参考设计
- 基于LNBH25S的LNB电源评估板