第1章 深度学习基础

1.1 深度学习概述

深度学习(Deep Learning,DL)——一项近几年来被推至互联网风口的人工智能(Artificial Intelligence,AI)前沿技术。什么是深度学习?深度学习的应用场景有哪些?深度学习为什么会在近几年内得到迅速发展,它的发展动力是什么?深度学习的未来又将如何?本章,我们将带着这四个问题,对深度学习做简要的介绍。

1.1.1 什么是深度学习

深度学习是机器学习(Machine Learning,ML)的一个分支和延伸,是人工智能领域的前沿技术。图1-1很好地诠释了人工智能、机器学习、深度学习三者之间的关系。

图1-1 人工智能、机器学习、深度学习三者之间的关系

从图1-1中可以看出,人工智能包含机器学习,而机器学习又包含深度学习。人工智能是指拥有人的智能,能以与人类智能相似的方式做出反应的智能机器。该领域的研究内容包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能是一个非常宽泛的概念,而机器学习是一种实现人工智能的方法,是人工智能的子集。机器学习可以被定义为从数据中总结经验,从数据中找出某种规律或者模型,并利用这些经验、规律或者模型来解决实际问题。机器学习算法主要包括决策树、聚类、贝叶斯分类、支持向量机、随机森林等。按照学习方法的不同进行划分,机器学习算法可以分为监督学习、无监督学习、半监督学习、集成学习、深度学习和强化学习。

深度学习是机器学习的一个分支,是一种实现机器学习的技术。深度学习本来并不是一种独立的学习方法,但由于近几年该技术发展迅猛,一些特有的学习手段和模型相继出现,因此越来越多的人将其单独看作一种学习的方法。深度学习的概念源于对人工神经网络(Artificial Neural Network,ANN)的研究,其动机在于建立、模拟人脑进行分析学习的神经网络,模仿人脑的机制来解释图像、声音和文本等数据。

神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型,是深度学习最核心、最重要的结构。常见的神经网络,也是本书重点介绍的神经网络主要有三种:前馈神经网络(Feedforward Neural Network,FNN)、卷积神经网络(Convolutional Neural Network,CNN)和循环神经网络(Recurrent Neural Network,RNN)。

前馈神经网络是一种最简单的神经网络,各神经元分层排列,每个神经元只与前一层的神经元相连,接收前一层的输出,并输出给下一层。卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,被大量应用于计算机视觉(Computer Vision,CV)、自然语言处理等领域。循环神经网络是一类以序列数据为输入,在序列的演进方向进行递归且所有节点按链式连接的递归神经网络。在自然语言处理(Natural Language Processing,NLP)(如语音识别、语言建模、机器翻译等)领域有重要应用,也被用于各类时间序列预报或与卷积神经网络相结合处理计算机视觉问题。

图1-2展示了常见神经网络的基本结构。

图1-2 常见神经网络的基本结构

前馈神经网络、卷积神经网络和循环神经网络的具体内容将在本书的后续章节中详细介绍,此处不再赘述。

1.1.2 深度学习的应用场景

如今,深度学习的应用场景非常广泛,尤其在计算机视觉和自然语言处理领域,深度学习发挥了巨大的作用,其表现远远超过了传统机器学习算法。

在计算机视觉领域,深度学习的典型应用包括目标识别、目标检测与跟踪、物体分割、内容理解等。以目标识别为例,ILSVRC(ImageNet Large Scale Visual Recognition Challenge)是近年来机器视觉领域最受追捧,也是最具权威的图像识别学术竞赛之一,代表了图像识别领域的最高水平。在2012年以前,卷积神经网络还未盛行,ILSVRC图像分类最好的成绩是26%的错误率。2012年,卷积神经网络的经典模型AlexNet的出现直接使错误率降低了近10个百分点,将错误率降到16%。这是之前所有机器学习模型无法做到的。2015年,深度残差网络ResNet的出现竟然将错误率降低至3.57%,这甚至比人类肉眼识别的准确率还高。如图1-3所示,深度学习模型,尤其是各种卷积神经网络模型在错误率方面不断刷新纪录,与传统机器学习算法模型相比,性能有质的提升。

图1-3 历届ILSVRC比赛代表性模型的成绩

除了计算机视觉领域,深度学习在自然语言处理领域也有广泛应用,并取得了前所未有的成绩,典型应用包括语音识别、机器翻译、文本分类、对话系统等。以谷歌翻译为例,2016年9月,谷歌推出了新型的翻译系统——GNMT(Google Neural Machine Translation),克服了以往翻译系统逐字翻译的弊端,从整体上分析句子,从而大幅提高了机器翻译的质量。谷歌表示,在某些情况下,GNMT系统翻译的准确度能够接近人类的翻译水平。

除此之外,深度学习还在自动驾驶、推荐系统、医疗、金融、农业等很多领域都有广泛应用并取得了巨大进展。

1.1.3 深度学习的发展动力

神经网络并不是一个新鲜事物,早在20世纪50年代末就已经被提出来,为什么以神经网络为核心的深度学习直到近几年才得到如此迅速的发展呢?究其原因,主要包括以下三个方面。

第一,大数据的涌现。如今,人类处于信息时代、大数据时代,每天获取和传递的信息量是庞大的。根据统计,到2020年,全球数据总量将达到40000EB。数量庞大的数据中蕴藏着非常重要的信息和价值,但只有不到三分之一的信息可以直接被科学家们使用,大部分数据不能被直接利用。此时,深度学习的强大之处得以体现。由于深度学习模型比较复杂,对大数据的处理和分析非常有效,所以,近些年来,在处理海量数据和建立复杂、准确的学习模型方面,深度学习有着非常不错的表现。与机器学习一样,深度学习也是基于数据的学习,数据量越大,训练的模型就越准确。因此,大数据为深度学习的发展打下了坚实的基础。

第二,计算机硬件水平提高。深度学习的模型非常复杂,以前受计算机硬件水平所限,难以完成复杂的神经网络模型的训练,这就严重限制了深度学习的发展。如今,计算机硬件水平大大提高,处理速度大大提升,加上图形处理器的出现为神经网络的训练提供了极大的便利,使复杂神经网络的训练和优化变得可行。例如,原来需要训练一个星期的模型,现在只需要10分钟就训练完成了。这大大加速了深度学习的发展。

第三,算法的改进。神经网络模型复杂,网络层数很多,想要训练好绝非易事。而且训练深层神经网络很容易出现梯度消失和梯度爆炸,还有神经网络中激活函数的选择等问题和困难,这些都限制了深度学习的进一步发展。如今,算法的创新和改进正在逐渐消除这些问题,让神经网络更容易训练成功。除此之外,还产生了许多新的更复杂、更强大的神经网络模型,能让深度学习模型处理更复杂、更难的任务,极大地促进了深度学习的进一步发展。

1.1.4 深度学习的未来

近几年来,不断涌现新的深度学习技术和应用场景,并在逐渐改变人类的生活。可以预见,深度学习的未来充满了无限的可能和广阔的应用前景。

例如,深度学习将有望使近些年的研究热点——自动驾驶,真正应用到实际中。深度学习是如何应用于自动驾驶的呢?自动驾驶需要汽车像人的大脑一样来辨识汽车前出现的事物并做出决策。深度学习网络就相当于人的大脑,利用安装在汽车前的摄像头进行图像采集,并通过复杂的神经网络来提取图像的特征,通过模型计算得出几个输出量,如加速、减速、刹车、方向盘的角度等信息,并最终做出决策,实现正确的驾驶行为。虽然现在自动驾驶技术还没有完全投入应用,但是相信在不远的将来,深度学习技术将会给自动驾驶带来无穷的发展动力。

毫无疑问,深度学习会给人类带来更多新鲜的技术和炫酷的应用,将彻底改变人类的生活方式,提高人类的生活水平。