第1章 绪论

1.1 深度学习与机器学习

深度学习(deep learning)是一种机器学习方法,会根据输入数据进行分类或递归。那么,机器学习又是什么呢?机器学习是人工智能中一个新的研究领域。通过机器学习,机器人或计算机等机器可以通过经验(学习)自动获得动作参数。现在机器学习的广义概念是指从已知数据中获得规律,并利用规律对未知数据进行预测的方法。机器学习可用于自然语言处理、图像识别、生物信息学以及风险预测等,已在工程学、经济学以及心理学等多个领域得到了成功应用。

那么,如何进行机器学习呢?即怎样才能让机器人和计算机等机器学习经验呢?机器学习是一种统计学习方法,需要使用大量数据进行学习,主要分为有监督学习和无监督学习两种。有监督学习需要基于输入数据及其期望输出 ,通过训练从数据中提取通用信息或特征信息(特征值),以此得到预测模型。这里的特征值是指根据颜色和边缘等人为定义的提取方法从训练样本中提取的信息(图 1.1)。无监督学习无需期望输出,算法会自动从数据中提取特征值。那么深度学习是使用有监督学习还是无监督学习呢?答案是两种方法都会使用。后面的章节将会详细介绍具体有哪些学习方法。无论有监督学习还是无监督学习,都需要使用大量数据训练网络,实现对给定数据进行分类或递归。深度学习是一个多层网络结构,和人脑的认知结构相似。

① 即监督信号。有时,有监督学习 / 无监督学习又称为有教师学习 / 无教师学习,因此监督信号又称为教师信号。——译者注

图像说明文字

1.2 深度学习的发展历程

深度学习并非一项横空出世的新技术,而是在出现了一系列的案例研究报告后,才受到万众瞩目。这里首先要介绍的是 2011 年语音识别领域的研究报告 [24, 61]。在以往的语音识别中,使用高斯混合模型(Gaussian Mixture Model,GMM)和隐马尔可夫模型(Hidden Markov Model,HMM)的方法被普遍应用,人们争相改良这些方法,以期语音识别的性能能够在接近性能极限的有限范围内得到些许提升。而深度学习方法直接打破了原有的性能极限,使语音识别的性能得到大幅提高,并于 2011 年的基准测试中达到顶级。

深度学习的洪流也席卷了图像识别领域。在图像识别领域,每年都会举办物体识别竞赛。以往的图像识别普遍使用尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)、视觉词袋模型(Bag of Visual Words,BoVW)特征表达,以及费舍尔向量(Fishier Vector, FV)等尺度压缩方法。这里,深度学习方法的引入再次打破了原有方法的性能壁垒,使性能得到大幅提升(图 1.2)[34]。由此,深度学习在图像识别领域的有效性得到确定,其自身也被广泛应用。

图像说明文字

同时期,Google 开发的自动学习方法通过深度学习实现了猫脸识别 [48],这使得深度学习变得广为人知(图 1.3)。Google 使用的是无监督学习的方法,向计算机展示 YouTube 上的视频后,系统能够自动获取对“猫脸”产生强烈反应的特定神经元。这个过程与婴儿识别物体并记住物体名称的过程一致。除猫脸外,这种学习方法也能自动获取对人脸做出反应的神经元。

图像说明文字

Google 收购的 DeepMind 公司也提出了一种自动学习方法——在设置游戏任务后,机器能够自动学习如何操作才能得到高分 [45, 46]。这种方法被科学杂志 Nature 刊载——这在人工智能研究中具有划时代的意义。

深度学习之所以能吸引众多领域的关注,也得益于人们可以非常轻松地获取大量训练数据,多种性能提升方法的出现,以及 GPU 和内存等硬件的进步,这些因素完美地结合到了一起。由于互联网的普及以及高速通信环境的逐步完善,人们能够从互联网上获取大量公开的图像数据。目前用于图像识别的数据集中包含了数百万张图像 [32, 53],用于语音识别的数据集中也包含了数百小时的语音数据。为了提升性能,人们提出了 Dropout 等防止过拟合的方法 [65],为了使训练过程顺利收敛,人们又提出了激活函数 [47] 和预训练方法 [4] 等,这些方法对深度学习的性能提升起到了支撑作用。

而硬件的进步主要体现在 GPU 的问世,其高性能为深度学习的飞跃性发展提供了硬件支撑。GPU 是图形处理器(Graphics Processing Unit)的简称,专门用在游戏或图形软件等图形处理单元(图 1.4)。 GPU 中集成了大量计算单元,能够提供并行运算的能力。目前, NVIDIA 就提供了一种名为 CUDA 的并行计算编程环境,而 NVIDIA 的GPU 包括面向大众的 GeForce 系列和面向科学计算的 Tesla 系列,以及面向嵌入式的 GPU 主板 Tegra 系列。处理时间长是深度学习的一个主要问题,而 CUDA 支持并行处理,不仅可以帮助 GPU 大幅缩短处理时间,还能提供面向深度学习的快速计算库 [10]。特别是最近几年,随着 GPU处理能力的飞速进步,在 2012 年需要 1 个月才能完成的深度学习训练,在 2015 年只需几天即可完成。在这样的背景下,深度学习的发展恰逢其时,将会引发进一步的革新和发展。

图像说明文字

1.3 为什么是深度学习

深度学习在各个领域的基准测试中均打破了原有的性能极限,取得了令人瞩目的成绩。此外,深度学习还能模仿人脑机制获取知识。在基准测试中取得好成绩也证明了深度学习方法的优越性。深度学习的精妙之处更在于能够自动学习提取什么样的特征才能获得更好的性能。如图 1.5 所示,以往的机器学习都是人类手动设计特征值。例如,在进行图像分类时,需要事先确定颜色、边缘或范围,再进行机器学习;而深度学习则是通过学习大量数据自动确定需要提取的特征信息,甚至还能自动获取一些人类无法想象的由颜色和边缘等组合起来的特征信息。所以,利用深度学习,即便是难度较高的认证问题也能得到绝佳的性能。

图像说明文字

1.4 什么是深度学习

“深度学习”只是一个概念性描述,那么到底什么是深度学习呢?深度学习一般是指具有多层结构的网络,不过对于网络的层数没有严格定义,网络生成方法也是多种多样。深度学习的分类方法有很多种,按照起源分类的结果如图 1.6 所示。

图像说明文字

深度学习的起源包括感知器 [55] 和玻尔兹曼机 [1]。起源于“感知器”的深度学习中,最基本的结构是把多个感知器组合到一起得到的多层感知器。在多层感知器的基础上加入类似人类视觉皮质的结构而得到的卷积神经网络 [35, 36] 被广泛应用于图像识别领域。起源于“基于图模型的玻尔兹曼机”的深度学习中,深度玻尔兹曼机 [60] 以及深度信念网络 [25] 是通过把多个受限玻尔兹曼机 [15, 64] 组合到一起而得到的。

起源于感知器的深度学习是一种有监督学习,根据期望输出训练网络;而起源于受限玻尔兹曼机的深度学习是一种无监督学习,只根据特定的训练数据训练网络。

1.5 本书结构

本书将会介绍各种深度学习方法,以及深度学习在当前图像识别领域的应用。第 2 章将通过神经网络的历史介绍深度学习的发展历程,并对作为神经网络起源的感知器和多层感知器,训练多层感知器时使用的误差反向传播算法,以及使用误差反向传播算法的随机梯度下降法等进行说明。目的是让大家理解多层感知器的原理并能够自行实现。

第 3 章将介绍在图像识别领域广泛应用的卷积神经网络,并讲解卷积神经网络的各层结构及其训练方法。在使用卷积神经网络时,需要预设大量参数。我们将结合示例来说明当参数改变后,性能会发生哪些变化。

第 4 章将介绍基于图模型的玻尔兹曼机和受限玻尔兹曼机,以及多层组合后得到的深度信念网络,并对受限玻尔兹曼机训练时使用的对比散度(Contrastive Divergence,CD)算法进行说明。

第 5 章将介绍自编码器。这是一种利用感知器的表达形式,有效进行信息压缩、提高多层神经网络或卷积神经网络训练效率的方法。

第 6 章将介绍能够提高深度学习算法泛化能力的 Dropout、DropConnect方法,以及预处理及激活函数等,并对支撑深度学习训练的数据集进行说明。

第 7 章将介绍一些开源深度学习工具。

第 8 章将介绍当前被广泛应用的深度学习研究案例。

本书会从理论和实践两个方面介绍深度学习的方法和工具。希望进一步了解深度学习的读者,请参照文献 [82, 83]。

目录

  • 前言
  • 第1章 绪论
  • 第2章 神经网络
  • 第3章 卷积神经网络
  • 第4章 受限玻尔兹曼机
  • 第5章 自编码器
  • 第6章 提高泛化能力的方法
  • 第7章 深度学习工具
  • 第8章 深度学习的现在和未来
  • 参考文献
  • 作者介绍