1.8 揭开深度学习的面纱

虽然“深度学习”这个名称在 2006 年才提出来,但深度学习依托的神经网络算法却早在20世纪40年代就出现了。

1.8.1 人工智能、机器学习与深度学习

深度学习解决的核心问题之一就是自动将简单的特征组合成更加复杂的特征,并使用这些组合特征解决问题。深度学习是机器学习的一个分支,它除了可以学习特征和任务之间的关联外,还能自动从简单特征中提取更加复杂的特征。图1-7展示了深度学习和传统机器学习在流程上的差异。深度学习算法可以从数据中学习更加复杂的特征表达,使得最后一步权重学习变得更加简单且有效。

图1-7 传统机器学习和深度学习流程对比

早期的深度学习受到了神经科学的启发,它们之间有着非常密切的联系。科学家们在神经科学上的发现使得我们相信深度学习可以胜任很多人工智能的任务。神经科学家发现,如果将小白鼠的视觉神经连接到听觉中枢,一段时间之后小白鼠可以习得使用听觉中枢“看”世界。这说明虽然哺乳动物大脑分了很多区域,但这些区域的学习机制却是相似的。在这一假想得到验证之前,机器学习的研究者们通常会为不同的任务设计不同的算法。而且直到今天,学术机构的机器学习领域也被分为了自然语言处理、计算机视觉和语音识别等不同的实验室。因为深度学习的通用性,深度学习的研究者往往可以跨越多个研究方向,甚至同时活跃于所有的研究方面。

模拟人类大脑也不再是深度学习研究的主导方向。我们不应该认为深度学习是在试图模仿人类大脑。目前科学家对人类大脑学习机制的理解还不足以为当下的深度学习模型提供指导,现在的深度学习已经超越了神经科学,它可以更广泛地适用于各种并不是由神经网络启发而来的机器学习框架。深度学习领域主要关注如何搭建智能的计算机系统,解决人工智能中遇到的问题。计算机学则主要关注如何建立更准确的模型来模拟人类大脑的工作。

总的来说,人工智能、机器学习和深度学习是非常相关的几个领域。图1-8总结了它们之间的关系。人工智能是一类非常广泛的问题,机器学习是解决这类问题的一个重要手段,深度学习则是机器学习的一个分支。深度学习突破了传统机器学习方法的限制,有力地推动了人工智能领域的发展。

图1-8 人工智能、机器学习以及深度学习间的关系图

1.8.2 深度学习的核心思想

目前大家所熟知的“深度学习”基本上是深层神经网络的一个代名词,而神经网络技术可以追溯到1943年。深度学习之所以看起来像是一门新技术,一个很重要的原因是它在21世纪初期并不流行。深度学习是无监督学习的一种,含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。

传统的前馈神经网络能够被看作拥有等于层数的深度(比如对于输出层为隐层数加1)。SVMs 有深度 2(一个对应于核输出或者特征空间,另一个对应于所产生输出的线性混合)。需要使用深度学习解决的问题有以下的特征:

● 深度不足会出现问题。

● 人脑具有一个深度结构。

● 认知过程逐层进行、逐步抽象。

在许多情形中,深度 2 就足够表示任何一个带有给定目标精度的函数。我们可以将深度架构看作一种因子分解。大部分随机选择的函数不能被有效表示,无论是用深的还是浅的架构。但是许多能够有效地被深度架构表示的却不能被用浅的架构高效表示。一个深度的存在,意味着可能隐含着某种函数结构。如果不存在任何结构,那将不可能很好地泛化。

如果把学习结构看作一个网络,则深度学习的核心思路如下:

1)无监督学习用于每一层网络的pre-train。

2)每次用无监督学习只训练一层,将其训练结果作为其高一层的输入。

3)用监督学习去调整所有层。

1.8.3 深度学习的应用

深度学习最早兴起于图像识别,但是在短短几年的时间内,深度学习推广到了机器学习的各个领域。如今,深度学习在很多机器学习领域都有非常出色的表现,在图像识别语音、音频处理、自然语言处理、机器人、生物信息处理、化学、计算机游戏、搜索引擎、网络广告投放、医学自动诊断和金融等各大领域均有应用。本节将选取几个深度学习应用比较广泛的领域进行介绍。

1.计算机视觉

计算机视觉是深度学习技术最早实现突破性成就的领域,其与其他领域的关系如图1-9所示。随着2012年深度学习算法AlexNet赢得图像分类比赛ILSVRC的冠军,深度学习开始受到学术界广泛的关注。ILSVRC是基于ImageNet图像数据集举办的图像识别技术比赛,这个比赛在计算机视觉领域有很高的影响力。

图1-9 计算机视觉与其他领域的关系图

在ImageNet数据集上,深度学习不仅突破了图像分类的技术瓶颈,同时也突破了物体识别的技术瓶颈。物体识别的难度比图像分类更高。图像分类问题只需判断图片中包含哪一种物体。但在物体识别问题中,需要给出所包含物体的具体位置,而且一张图片中可能出现多个需要识别的物体。图1-10展示了人脸识别数据集中的样例图片。

图1-10 人脸识别样例图片

在技术不断革新的同时,图像分类、物体识别也被应用于各种产品中。在谷歌,图像分类、物体识别技术已经在谷歌无人驾驶车、YouTube、谷歌地图、谷歌图像搜索等产品中得到了广泛的应用。

在物体识别问题中,人脸识别是一类应用非常广泛的技术。它既可以应用于娱乐行业,也可以应用于安防、风控行业。在娱乐行业中,基于人脸识别的相机自动对策、自动美颜几乎已经成为自拍软件的必备功能;在安防、风控领域,人脸识别应用更是大大提高了工作效率并节省了人力成本;在互联网金融行业,为了控制贷款风险,在用户注册或贷款发放时需要验证个人信息。个人信息验证中一个很重要的步骤是验证用户提供的证件和用户是否为同一个人。通过人脸识别技术,这个过程可以被更加高效的实现。

在深度学习得到广泛应用之前,传统的机器学习技术并不能很好地满足人脸识别的精度要求。人脸识别的最大挑战在于不同人脸的差异较小,有时同一个人在不同光照条件、姿态或者脸部的差异甚至会比不同人脸之间的差异更大。传统的机器学习算法很难抽象出足够有效的特征,使得学习模型既可以区分不同的个体,又可以区分相同个体在不同环境中的变化。深度学习技术通过从海量数据中自动习得更加有效的人脸特征表达,可以很好地解决这个问题。在人脸识别数据集LFW(Labeled Faces in the Wild)中,基于深度学习算法的系统DeepID2可以达到99.47%的识别率。

在计算机视觉领域,光学字符识别(Optical Character Recognition,OCR)也是使用深度学习较早的领域之一。所谓光学字符识别,就是使用计算机程序将计算机无法理解的图片中的字符,比如数字、字母、汉字等,转化为计算机可以理解的文本格式。

光学字符识别在工业界的应用也十分广泛。在21世纪初期,Yann LeCun将基于卷积神经网络的手写体数字识别系统应用于银行支票的数额识别,这个系统在2000年左右已经处理了美国全部支票数量的10%~20%。谷歌也将数字识别技术用在了谷歌地图的开发中。该数字识别系统可以从谷歌街景图中识别任意长度的数字,在 SVHN 数据集上可以达到96%的正确率。到2013年为止,这个系统已经帮助谷歌抽取了超过1亿个门牌号码,大大加速了谷歌地图的制作过程并节省了巨额的人力成本。

2.语言识别

深度学习在语言识别领域取得了突破性的成绩,并对该领域产生了巨大的影响。深度学习的概念于 2009 年被引入语音识别领域,短短几年时间内,深度学习的方法在 TIMIT数据集上将基于传统的混合高斯模型(Gaussian Mixture Model,GMM)的错误率从21.7%降低到了17.9%。在业界,包括谷歌、苹果、微软、IBM、百度等在内的大型IT公司都提供了基于深度学习算法的语音相关产品,比如谷歌的 Google Now、苹果的 Siri、软件的Xbox和Skype等。

随着数据量的加大,使用深度学习模型的算法无论在正确率的增长数值上还是在增长比率上都要优于使用混合高斯模型的算法。这样的增长在语音识别的历史上是从未出现过的,而深度学习之所以能完成这样的技术突破,最主要的原因是它可以自动从海量数据中提取更加复杂且有效的特征,而不是如高斯混合模型那样需要人工提取特征。

3.自然语言处理

深度学习在自然语言处理领域中也有广泛的应用。在过去的几年中,深度学习已经在语言模型、机器翻译、词性标注、实体识别、情感分析、广告推荐以及搜索排序等方向上取得了突出成就。与深度学习在计算机视觉和语音识别等领域的突破类似,深度学习在自然语言处理问题上的突破也是能够更加智能、自动地提取复杂特征。在自然语言处理领域,使用深度学习实现智能特征提取的一个非常重要的技术是单词向量,它是深度学习解决很多上述自然语言处理问题的基础。

(1)自然语言的发展

随着计算机和互联网的广泛应用,计算机可处理的自然语言文本数量空前增长,面向海量信息的跨语言信息处理、文本挖掘、信息提取、人机交互等应用需求急速增长,自然语言处理研究将对我们的生活产生深远的影响。

(2)自然语言的特点

自然语言处理发展的4个特点:

1)基于句法—语义规则的理性主义方法受到质疑,随着语料库建设和语料库语言学的崛起,大规模真实文本的处理成为自然语言处理的主要战略目标。

2)自然语言处理中越来越多地使用机器自动学习的方法来获取语言知识。

3)统计数学方法越来越受到重视。

4)自然语言处理中越来越重视词汇的作用,出现了强烈的“词汇主义”的倾向。

(3)自然语言的缺陷

自然语言分析主要依赖逻辑语言对这种分析的表述。自然语言的高度形式化描写对计算机程序的机械模仿至关重要,但理解力模仿不同于机械模仿,机械模仿涉及的是形式性质,而理解力模仿涉及的则是准语义性质。现阶段计算机以机械模仿为主并通过逻辑语言与人类的自然语言进行对话。

现代逻辑作为分析自然语言的工具,认为自然语言的缺陷有:

1)表达式的层次结构不够清晰。

2)个体化认知模式体现不够明确。

3)量词管辖的范围不太确切。

4)句子成分的语序不固定。

5)语形和语义不对应。

从自然语言的视角衡量逻辑语言,其不足有:

1)初始词项的种类不够多样。

2)量词的种类比较贫乏。

3)存在量词的辖域在公式系列中不能动态地延伸。

4)由于语境的缺失而使语言传达信息的效率不高。