Dive into Deep Learning加州大学伯克利分校2019年春学期“Introduction to Deep Learning”第一章 Introduction

Introduction

起源

虽然深度学习似乎是最近几年刚兴起的名词,但它所基于的神经网络模型和用数据编程的核心思想已经被研究了数百年。自古以来,人类就一直渴望能从数据中分析出预知未来的窍门。实际上,数据分析正是大部分自然科学的本质,我们希望从日常的观测中提取规则,并找寻不确定性。

早在17世纪,雅各比·伯努利(1655–1705)提出了描述只有两种结果的随机过程(如抛掷一枚硬币)的伯努利分布。
大约一个世纪之后,卡尔·弗里德里希·高斯(1777–1855)发明了今日仍广泛用在从保险计算到医学诊断等领域的最小二乘法。概率论、统计学和模式识别等工具帮助自然科学的实验学家们从数据回归到自然定律,从而发现了如欧姆定律(描述电阻两端电压和流经电阻电流关系的定律)这类可以用线性模型完美表达的一系列自然法则。

即使是在中世纪,数学家也热衷于利用统计学来做出估计。例如,在雅各比·科贝尔(1460–1533)的几何书中记载了使用16名男子的平均脚长来估计男子的平均脚长。

现代统计学在20世纪的真正起飞要归功于数据的收集和发布。统计学巨匠之一罗纳德·费雪(1890–1962)对统计学理论和统计学在基因学中的应用功不可没。他发明的许多算法和公式,例如线性判别分析和费雪信息,仍经常被使用。即使是他在1936年发布的Iris数据集,仍然偶尔被用于演示机器学习算法。

克劳德·香农(1916–2001)的信息论以及阿兰·图灵 (1912–1954)的计算理论也对机器学习有深远影响。图灵在他著名的论文《计算机器与智能》中提出了“机器可以思考吗?”这样一个问题 [1]。在他描述的“图灵测试”中,如果一个人在使用文本交互时不能区分他的对话对象到底是人类还是机器的话,那么即可认为这台机器是有智能的。时至今日,智能机器的发展可谓日新月异。

另一个对深度学习有重大影响的领域是神经科学与心理学。既然人类显然能够展现出智能,那么对于解释并逆向工程人类智能机理的探究也在情理之中。最早的算法之一是由唐纳德·赫布(1904–1985)正式提出的。在他开创性的著作《行为的组织》中,他提出神经是通过正向强化来学习的,即赫布理论 [2]。赫布理论是感知机学习算法的原型,并成为支撑今日深度学习的随机梯度下降算法的基石:强化合意的行为、惩罚不合意的行为,最终获得优良的神经网络参数。

来源于生物学的灵感是神经网络名字的由来。这类研究者可以追溯到一个多世纪前的亚历山大·贝恩(1818–1903)查尔斯·斯科特·谢灵顿(1857–1952)。研究者们尝试组建模仿神经元互动的计算电路。随着时间发展,神经网络的生物学解释被稀释,但仍保留了这个名字。时至今日,绝大多数神经网络都包含以下的核心原则。

  • 交替使用线性处理单元与非线性处理单元,它们经常被称为“层”。
  • 使用链式法则(即反向传播)来更新网络的参数。

在最初的快速发展之后,自约1995年起至2005年,大部分机器学习研究者的视线从神经网络上移开了。这是由于多种原因。首先,训练神经网络需要极强的计算力。尽管20世纪末内存已经足够,计算力却不够充足。其次,当时使用的数据集也相对小得多。费雪在1936年发布的的Iris数据集仅有150个样本,并被广泛用于测试算法的性能。具有6万个样本的MNIST数据集在当时已经被认为是非常庞大了,尽管它如今已被认为是典型的简单数据集。由于数据和计算力的稀缺,从经验上来说,如核方法、决策树和概率图模型等统计工具更优。它们不像神经网络一样需要长时间的训练,并且在强大的理论保证下提供可以预测的结果。

发展

互联网的崛起、价廉物美的传感器和低价的存储器令我们越来越容易获取大量数据。加之便宜的计算力,尤其是原本为电脑游戏设计的GPU的出现。

近十年来深度学习长足发展的部分原因。

  • 优秀的容量控制方法,如丢弃法,使大型网络的训练不再受制于过拟合(大型神经网络学会记忆大部分训练数据的行为) [3]。这是靠在整个网络中注入噪声而达到的,如训练时随机将权重替换为随机的数字 [4]。

  • 注意力机制解决了另一个困扰统计学超过一个世纪的问题:如何在不增加参数的情况下扩展一个系统的记忆容量和复杂度。注意力机制使用了一个可学习的指针结构来构建出一个精妙的解决方法 [5]。也就是说,与其在像机器翻译这样的任务中记忆整个句子,不如记忆指向翻译的中间状态的指针。由于生成译文前不需要再存储整句原文的信息,这样的结构使准确翻译长句变得可能。

  • 记忆网络 [6]和神经编码器—解释器 [7]这样的多阶设计使得针对推理过程的迭代建模方法变得可能。这些模型允许重复修改深度网络的内部状态,这样就能模拟出推理链条上的各个步骤,就好像处理器在计算过程中修改内存一样。

  • 另一个重大发展是生成对抗网络的发明 [8]。传统上,用在概率分布估计和生成模型上的统计方法更多地关注于找寻正确的概率分布,以及正确的采样算法。生成对抗网络的关键创新在于将采样部分替换成了任意的含有可微分参数的算法。这些参数将被训练到使辨别器不能再分辨真实的和生成的样本。生成对抗网络可使用任意算法来生成输出的这一特性为许多技巧打开了新的大门。例如生成奔跑的斑马 [9]和生成名流的照片 [10] 都是生成对抗网络发展的见证。

  • 许多情况下单个GPU已经不能满足在大型数据集上进行训练的需要。过去10年内我们构建分布式并行训练算法的能力已经有了极大的提升。设计可扩展算法的最大瓶颈在于深度学习优化算法的核心:随机梯度下降需要相对更小的批量。与此同时,更小的批量也会降低GPU的效率。如果使用1,024个GPU,每个GPU的批量大小为32个样本,那么单步训练的批量大小将是32,000个以上。近年来李沐 [11]、Yang You等人 [12]以及Xianyan Jia等人 [13]的工作将批量大小增至多达64,000个样例,并把在ImageNet数据集上训练ResNet-50模型的时间降到了7分钟。与之对比,最初的训练时间需要以天来计算。

  • 并行计算的能力也为至少在可以采用模拟情况下的强化学习的发展贡献了力量。并行计算帮助计算机在围棋、雅达利游戏、星际争霸和物理模拟上达到了超过人类的水准。

  • 深度学习框架也在传播深度学习思想的过程中扮演了重要角色。Caffe、 Torch和Theano这样的第一代框架使建模变得更简单。许多开创性的论文都用到了这些框架。如今它们已经被[TensorFlow(经常是以高层API Keras的形式被使用)、CNTK、Caffe 2和[Apache MXNet所取代。第三代,即命令式深度学习框架,是由用类似NumPy的语法来定义模型的 Chainer所开创的。这样的思想后来被 PyTorch和MXNet的Gluon API采用,后者也正是本书用来教学深度学习的工具。

系统研究者负责构建更好的工具,统计学家建立更好的模型。这样的分工使工作大大简化。举例来说,在2014年时,训练一个逻辑回归模型曾是卡内基梅隆大学布置给机器学习方向的新入学博士生的作业问题。时至今日,这个问题只需要少于10行的代码便可以完成,普通的程序员都可以做到。

年代数据样本个数内存每秒浮点计算数
1970100(Iris)1 KB100 K(Intel 8080)
19801 K(波士顿房价)100 KB1 M(Intel 80186)
199010 K(手写字符识别)10 MB10 M(Intel 80486)
200010 M(网页)100 MB1 G(Intel Core)
201010 G(广告)1 GB1 T(NVIDIA C2050)
20201 T(社交网络)100 GB1 P(NVIDIA DGX-2)

机器学习与深度学习的关系,区别?

人工智能在1956年由约翰·麦卡锡(John McCarthy)首次定义,涉及可以执行人类智能特征任务的机器。虽然这很普遍,但它包括规划,理解语言,识别物体和声音,学习和解决问题等内容。

科学家将人工智能分为两类,一般和狭义。人工智能,即能够做任何人类能力的计算机。这与人工智能的局限性形成了鲜明对比。在人工智能中,计算机可以做人类能做的事情,但只能在很窄的范围内 - 本·汤普森(Ben Thompson),战略研究员。

根据machine learnings.co给出的定义,一般人工智能具有人类智能的所有特征,包括上述能力。狭窄的人工智能展示了人类智慧的一些方面,并且可以做得非常好,但在其他方面缺乏。一台擅长识别图像的机器,但没有别的东西,就是狭窄AI的一个例子。在这里插入图片描述

机器学习的核心只是实现人工智能的一种方式

阿瑟·塞缪尔(Arthur Samuel)将其定义为“没有明确编程就能学习的能力。”您可以在不使用机器学习的情况下获得AI ,但这需要使用复杂的规则和决策树来构建数百万行代码。

因此,机器学习不是手动编码具有特定指令的软件例程来完成特定任务,而是一种“训练”算法的方式,以便它可以学习如何。“训练”涉及向算法提供大量数据并允许算法自我调整和改进。

举一个例子,机器学习已经被用来大大改进计算机识别图像或视频中的对象的能力。你收集了数十万甚至数百万张图片,然后让人类标记它们。例如,人类可能会标记其中包含猫的图片与不包含猫的图片。然后,该算法尝试构建一个模型,该模型可以准确地将图片标记为包含猫或不包含人类。一旦准确度达到足够高,机器现在就“学会”了猫的样子。

深度学习是机器学习的众多方法之一。其他方法包括决策树学习,归纳逻辑编程,聚类,强化学习和贝叶斯网络等。

深度学习的灵感来自大脑的结构和功能,即许多神经元的互连。人工神经网络(ANN)是模拟大脑生物结构的算法。
在这里插入图片描述

小结

  • 机器学习研究如何使得计算机的性能有所改善。它是人工智能的一个分支,同时也是一个手段
  • 作为机器学习的一类,表征学习关注如何自动找出表示数据的合适方式。
  • 深度学习是具有多级表示的表征学习方法。它可以逐级表示越来越抽象的概念或模式。
  • 深度学习所基于的神经网络模型和用数据编程的核心思想实际上已经被研究了数百年。
  • 深度学习已经逐渐演变成一个工程师和科学家皆可使用的普适工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值