撰文|Jeff Dean

编译|机器之心

编辑|杜伟、陈萍

自从计算机诞生之初,人类就梦想着能够创造出会思考的机器。1956 年,在达特茅斯学院组织的一个研讨会上,约翰 · 麦卡锡提出人工智能这个概念,一群数学家和科学家聚集在一起寻找如何让机器使用语言,形成抽象理解和概念以解决现存的各种问题。当时的研讨会参与者乐观地认为,在几个月的时间里这些问题能取得真正的进展。

1956 年达特茅斯人工智能会议的参与者:马文 · 明斯基、克劳德 · 香农 、雷 · 所罗门诺夫和其他科学家。摄自:Margaret Minsky

事实证明,预留几个月的时间安排过于乐观。在接下来的 50 年里,创建人工智能系统的各种方法开始流行,包括基于逻辑的系统、基于规则的专家系统和神经网络,但后来又变得过时。

直到 2011 年左右,得益于深度学习中神经网络的复兴,人工智能才开始进入发展的关键阶段,并取得了巨大进步。这些技术的进步有助于提高计算机看、听和理解周围世界的能力,使得人工智能在科学以及人类探索的其他领域取得巨大进步。这其中有哪些原因?

近日,谷歌大牛 Jeff Dean 发表的《 A Golden Decade of Deep Learning: Computing Systems & Applications 》一文对此做了分析,文章重点关注三个方面:促成AI进步的计算硬件和软件系统;过去十年在机器学习领域一些令人兴奋的应用示例;如何创建更强大的机器学习系统,以真正实现创建智能机器的目标。

Jeff Dean 的这篇文章发表在了美国文理学会会刊 Dædalus 的 AI 与社会(AI & Society)特刊上。

1

人工智能硬件和软件的进步

人工智能的硬件和软件:深度学习通过组合不同的线性代数(例如矩阵乘法、向量点积以及类似操作)进行运算,但这种运算方式会受到限制,因此我们可以构建专用计算机或加速器芯片来进行处理,相比于必须运行更广泛种类算法的通用 CPU,这种专用化的加速器芯片能带来新的计算效率和设计选择。

早在 2000 年代初期,就有少数研究者开始探索使用 GPU 来实现深度学习算法。到了 2004 年,计算机科学家 Kyoung-Su Oh 和 Keechul Jung 展示了使用 GPU 把神经网络算法的速度提升了近 20 倍。2008 年,在某些无监督学习算法中,计算机科学家 Rajat Raina 及其同事对比了使用基于 GPU 与 CPU 的最佳实现,其中 GPU 速度提升可达 72.6 倍。

随着计算硬件的改进,深度学习开始在图像识别、语音识别、语言理解等方面取得显著进步。为了构建专用硬件,深度学习算法有两个非常好的特性:首先,它们对精度的降低非常宽容;其次,深度学习算法所需的计算几乎完全由密集矩阵或向量上的不同线性代数运算序列组成。

为了使深度学习和计算变得更容易,研究人员开发了软件框架,如今,开源框架帮助大量的研究人员、工程师等推进深度学习研究,并将深度学习应用到更广泛的领域。

早期的一些框架包括 Torch、Theano、DistBelief 、Caffe 等,还有谷歌在 2015 年开源的 TensorFlow,它是一个允许表达机器学习计算的框架,并结合了 Theano 和 DistBelief 等早期框架的想法。目前为止,TensorFlow 已被下载超过 5000 万次,是世界上最受欢迎的开源软件包之一。

TensorFlow 发布一年后,PyTorch 于 2016 年发布,它使用 Python 可以轻松表达各种研究思想而受到研究人员的欢迎。JAX 于 2018 年发布,这是一个流行的面向 Python 的开源库,结合了复杂的自动微分和底层 XLA 编译器,TensorFlow 也使用 XLA 来有效地将机器学习计算映射到各种不同类型的硬件上。

TensorFlow 和 PyTorch 等开源机器学习库和工具的重要性怎么强调都不为过,它们允许研究人员可以快速尝试想法。随着世界各地的研究人员和工程师更轻松地在彼此的工作基础上进行构建,整个领域的进展速度将加快!

2

研究成果激增

研究不断取得进步,面向 ML 硬件(GPU、TPU 等)的计算能力不断增强,开源机器学习工具(Tensor­Flow、PyTorch 等)被广泛采用,这一系列进展使得机器学习及其应用领域的研究成果急剧增加。

其中一个强有力的指标是发布到 arXiv 上关于机器学习领域的论文数量。2018 年,arXiv 发布的论文预印本数量是 2009 年的 32 倍以上(每两年增长一倍以上)。

通过与气候科学和医疗保健等关键领域的专家合作,机器学习研究人员正在帮助解决对社会有益、促进人类进步的重要问题。可以说,我们生活在一个激动人心的时代。

3

科学和工程应用激增

计算能力的变革性增长、机器学习软硬件的进步以及机器学习研究成果的增加,促进了机器学习应用在科学和工程领域的激增。通过与气候科学和医疗健康等关键领域的合作,机器学习研究人员正在帮助解决对社会有益并促进人类发展的重要问题。这些科学和工程领域包括:

  • 神经科学

  • 分子生物学

  • 医疗健康

  • 天气、环境和气候挑战

  • 机器人

  • 可访问性

  • 个性化学习

  • 计算机辅助的创造性

  • 重要的构建块(blocks)

  • Transformers

  • 计算机系统的机器学习

每个细分的详细内容请参考原文。

机器学习的未来

ML 研究社区正在出现一些有趣的研究方向,如果将它们结合起来可能会更加有趣。

首先,研究稀疏激活模型。比如稀疏门控专家混合模型(Sparsely-Gated MoE),展示了如何构建非常大容量的模型,其中对于任何给定的实例(如 2048 个专家中的两至三个),只有一部分模型被「激活(activated)」。

其次,研究自动化机器学习(AutoML)。其中神经架构搜索(NAS)或进化架构搜索(EAS)等技术可以自动学习 ML 模型或组件的高效结构或其他方面,以优化给定任务的准确率。AutoML 通常涉及运行很多自动化实验,每个实验都可能包含巨量计算。

最后,以几个到几十个相关任务的适当规模进行多任务训练,或者从针对相关任务的大量数据训练的模型中迁移学习,然后针对新任务在少量数据上进行微调,这些方式已被证明在解决各类问题时都非常有效。

一个非常有趣的研究方向是把以上三个趋势结合起来,在大规模 ML 加速器硬件上运行一个系统。目标是训练一个可以执行数千乃至数百个任务的单一模型。

这种模型可能由很多不同结构的组件组成,实例(example)之间的数据流在逐实例的基础上是相对动态的。模型可能会使用稀疏门控专家混合和学习路由等技术以生成一个非常大容量的模型,但其中一个任务或实例仅稀疏地激活系统中总组件的一小部分。

下图描述了一个多任务、稀疏激活的机器学习模型。

每个组件本身可能正在运行一些类 AutoML 的架构搜索,以使组件的结构适应路由到它的数据类型。新的任务可以利用在其他任务上训练的组件,只要它有用就行。

Jeff Dean 希望通过非常大规模的多任务学习、共享组件和学习路由,模型可以迅速地以高准确率来完成新任务,即使每个新任务的新实例相对较少。原因在于,模型能够利用它在完成其他相关任务时已经获得的专业知识和内部表征。

构建一个能够处理数百万任务并学习自动完成新任务的单一机器学习系统是人工智能和计算机系统工程领域真正面临的巨大挑战。这需要机器学习算法、负责任的 AI(如公平性和可解释性)、分布式系统和计算机架构等很多领域的专业知识,从而通过构建一个能够泛化的以在机器学习所有应用领域中独立解决新任务的系统,来推动人工智能领域的发展。

4

负责任的 AI 开发

虽然 AI 有能力在人们日常生活的方方面面提供帮助,但所有研究人员和从业人员应确保以负责任的方式开发相关方法,仔细审查偏见、公平性、隐私问题以及其他关于 AI 工具如何运作并影响他人的社会因素,并努力以适当的方式解决所有这些问题。

制定一套明确原则来指导负责任的 AI 发展也很重要。2018 年,谷歌发布了一套 AI 准则,用于指导企业与 AI 相关的工作和使用。这套 AI 准则列出了需要考虑的重要领域,包括机器学习系统中的偏见、安全、公平、问责、透明性和隐私。

近年来,其他机构和政府也纷纷效仿这一模式,发布了自己的 AI 使用准则。Jeff Dean 希望这种趋势能够延续下去,直到它不再是一种趋势,而是成为所有机器学习研究和开发中遵循的标准。

5

Jeff Dean 对未来的展望

2010 年代的确是深度学习研究和取得进展的黄金十年。1956 年达特茅斯人工智能研讨会上提出的一些最困难的问题在这十年取得了长足进步。机器能够以早期研究人员希望的方式看到、听到和理解语言。

核心领域的成功促使很多科学领域迎来重大进展,不仅智能手机更加智能,而且随着人们继续创建更复杂、更强大且对日常生活有帮助的深度学习模型,未来有了更多的可能性。得益于强大机器学习系统提供的帮助,人们将在未来变得更有创造力和拥有更强的能力。

(本译文经授权后发布。原文链接:

https://www.amacad.org/publication/golden-decade-deep-learning-computing-systems-applications)

其他人都在看

  • 计算机架构的新黄金时代

  • 手把手推导Ring All-reduce的数学性质

  • DeepMind爆发史:决定AI高峰的“游戏玩家”

  • 解读Pathways(二):向前一步是OneFlow

  • LLVM之父Chris Lattner:编译器的黄金时代

  • OneFlow v0.7.0发布:全新分布式接口,LiBai、Serving等一应俱全

欢迎下载体验OneFlow v0.7.0最新版本:https://github.com/Oneflow-Inc/oneflow/https://github.com/Oneflow-Inc/oneflow/

Jeff Dean:深度学习的黄金十年相关推荐

  1. 王敏捷 - 深度学习框架这十年!

    深度学习框架这十年 王敏捷  ACM'07 纽约大学博士,亚马逊上海研究院应用科学家 内容概览 介绍了深度学习框架发展的三个时期:工具包时代(2014年前).数据流时期(2014-2018).新时代( ...

  2. 【C语言进阶深度学习记录】十九 #pragma使用与分析

    文章目录 1 #pragma 概念简介 1.1 #pragma message 的用法 1.2 #pragma once 的用法 1.3 #pragma pack 的用法 1.31 struct占用的 ...

  3. 【C语言进阶深度学习记录】十六 静态库与动态库的创建与使用

    上一篇文章学习了编译的过程,点击链接查看:[C语言进阶深度学习记录]十五 编译过程简介,每一个C源文件编译后将会生成目标文件,那么这些目标文件,还需要链接起来,生成可执行文件. 文章目录 1 链接的意 ...

  4. 花书+吴恩达深度学习(二十)构建模型策略(超参数调试、监督预训练、无监督预训练)

    目录 0. 前言 1. 学习率衰减 2. 调参策略 3. 贪心监督预训练 4. 贪心逐层无监督预训练 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书+吴恩达深度学习(十 ...

  5. 系统学习深度学习(三十八)--深度确定性策略梯度(DDPG)

    转自:https://www.cnblogs.com/pinard/p/10345762.html 1. 从随机策略到确定性策略 从DDPG这个名字看,它是由D(Deep)+D(Determinist ...

  6. 深度学习实战(十):使用 PyTorch 进行 3D 医学图像分割

    深度学习实战(十):使用 PyTorch 进行 3D 医学图像分割 1. 项目简介 2. 3D医学图像分割的需求 3. 医学图像和MRI 4. 三维医学图像表示 5. 3D-Unet模型 5.1损失函 ...

  7. 深度学习笔记(十四)—— 超参数优化[Hyperparameter Optimization]

      这是深度学习笔记第十四篇,完整的笔记目录可以点击这里查看.      训练神经网络会涉及到许多超参数设置.神经网络中最常见的超参数包括: the initial learning rate lea ...

  8. 深度学习笔记(十)—— 梯度检验[Gradient Checks]

      这是深度学习笔记第十篇,完整的笔记目录可以点击这里查看.      梯度检验就是将解析法(也就是用导数公式求解梯度)计算的梯度与用数值法(也就是通过导数定义求解梯度)计算的梯度进行对比,以检验解析 ...

  9. 深度学习(三十八)——深度强化学习(1)教程

    教程 http://incompleteideas.net/sutton/book/the-book-2nd.html <Reinforcement Learning: An Introduct ...

最新文章

  1. java中super关键字_Java中关键字super与this的区别
  2. web前端知识体系大全
  3. buuoj-crypto 2
  4. vue 设置 input 为不可以编辑
  5. Apollo基础设置
  6. c语言二维数组初始化_6.2 C语言二维数组
  7. PHP(二)——HTML基础
  8. 自然语言交流系统 phxnet团队 创新实训 项目博客 (五)
  9. Type mismatch:
  10. ASP.NET MVC 入门7、Hellper与数据的提交与绑定
  11. 从保证业务不中断,看网关的“前世今生”
  12. 因设备需求超供应预期 摩托罗拉折叠机Razr推迟在美上市时间
  13. Ubuntu enca命令可以用来查看文件的编码格式
  14. 只需两步快速获取微信小程序源码
  15. 拓端tecdat|R语言结构方程模型SEM分析心理学和营销研究数据路径图可视化
  16. matlab参数摄动仿真,过程控制工程及仿真 基于MATLABSimulixnk_IT教程网
  17. Altium designer—STM32F103ZET6最小系统原理图
  18. Latex数学公式方程格式总结
  19. Brocade 6510 交换机清空配置,重新initiator交换机
  20. 安卓模拟器配置全局代理

热门文章

  1. Flutter学习笔记 —— CustomPainter自定义画布绘制爱心
  2. 从Preact中了解React组件和hooks基本原理
  3. leetcode 字符串中的变位词
  4. [Perl]Perl中chomp和chop的区别介绍
  5. 安卓webview软键盘遮住底部按钮,又名AndroidBug5497
  6. 2012年第8周移动游戏推荐
  7. 小程序渐变的五星评价
  8. 月薪3000与月薪30000的文案区别!
  9. js实现清除表单的公用方法
  10. 数据科学家之路 实战1 --- O2O优惠券使用预测(part2)