Keras与深度学习实战
上QQ阅读APP看书,第一时间看更新

1.2 深度学习与应用领域

深度学习兴起于图像识别,但是在短短几年时间内,深度学习就被推广到了机器学习的各个领域。如今,深度学习在很多领域都有非常出色的表现,这些领域包括计算机视觉、自然语言处理、语音识别等。深度学习在这些领域的应用,使这些领域迎来了高速发展期。

1.2.1 深度学习与计算机视觉

计算机视觉是深度学习技术最早取得突破性成就的领域。在2010年到2011年间,基于传统机器学习的算法并没有带来正确率(预测正确的样本数量占总样本数量的比例)的大幅度提升,在2012年的ImageNet大规模视觉识别竞赛(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)中,杰弗里·欣顿教授带领的研究小组利用深度学习技术,在ImageNet数据集上将图像分类的错误率(预测错误的样本数量占总样本数量的比例)下降到16%。在2012年到2015年间,通过对深度学习算法的不断研究,深度学习在ImageNet数据集上实现图像分类的错误率以较大的幅度递减,这说明深度学习突破了传统机器学习算法在图像分类上的技术瓶颈,图像分类问题得到了更好的解决。

在ImageNet数据集上,深度学习不仅突破了图像分类的技术瓶颈,也突破了物体识别的技术瓶颈。相对于图像分类,物体识别的难度更高。图像分类问题只需判断图像中包含哪一种物体,但在物体识别问题中,需要给出图像中所包含物体的具体位置,而且一幅图像中可能出现多个需要识别的物体,所有可以被识别的物体都需要用不同的方框标注出来。

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

在计算机视觉领域,光学字符识别(Optical Character Recognition,OCR)也较早地使用了深度学习技术。早在1989年,卷积神经网络就已经成功应用到识别手写邮政编码的问题上,实现了接近95%的正确率。在MNIST手写体数字识别数据集上,最新的深度学习算法可以实现99.77%的正确率,甚至超过了人类的表现。

光学字符识别的深度学习技术在金融界的应用十分广泛,在21世纪初期,杨立昆(Yann LeCun)教授将基于卷积神经网络的手写体数字识别系统应用于银行支票的数额识别,并取得了很好的效果。数字识别技术也可以应用到地图的开发中,有的公司实现的数字识别系统可以从街景图中识别任意长度的数字,并在街景门牌号数据集(Street View House Number,SVHN)数据集上实现96%的正确率。除此之外,文字识别技术可以将扫描的图书数字化,从而实现图书内容的搜索功能。

1.2.2 深度学习与自然语言处理

自然语言处理是计算机科学中令人兴奋的领域,它涉及人类的交流信息。自然语言处理包含机器理解、解释和生成人类语言的方法,有时它也被描述为自然语言理解(Natural Language Understanding,NLU)和自然语言生成(Natural Language Generation,NLG)。传统的自然语言处理采用基于语言学的方法,其模型是基于语言的基本语义和句法元素(如词性)构建的。现代深度学习算法可避开对中间元素的需求,并且可以针对通用任务学习其自身的层次表示。

1966年,自动语言处理咨询委员会在报告中强调了机器翻译从流程到实施成本面临的巨大困难,导致投资方减少了在资金方面的投资,使得自然语言处理的研究几乎停滞。1960年到1970年这十年是世界知识研究的一个重要时期,该时期强调语义而非句法结构,在这个时代,研究人员着重于探索名词和动词之间的语法。这期间出现了处理短语的增强过渡网络,以及以自然语言回答的语言处理系统SHRDLU,随后又出现了LUNAR系统,即一个将自然语言理解与基于逻辑的系统相结合的问答系统。在20世纪80年代初期,自然语言处理步入了基于语法研究自然语言的阶段,语言学家开发了不同的语法结构,并开始将表示用户意图的短语关联起来,开发出许多自然语言处理工具,如SYSTRAN、METEO系统等,在翻译、信息检索中被大量使用。

20世纪90年代是统计语言处理时代,在大多数基于自然语言处理的系统中,使用了许多新的处理数据的方法,例如使用语料库或基于概率和分类的方法处理语言数据。

21世纪初,在自然语言学习会议上,出现了许多有趣的自然语言处理研究,例如分块、命名实体识别和依赖解析等。在此期间,一系列成果得以诞生,如约书亚·本吉奥(Yoshua Bengio)等人提出的第一个神经语言模型,使用查找表来预测单词。随后,许多基于递归神经网络和长短时记忆模型被自然语言处理广泛使用,其中帕宾(Papineni)等人提出的双语评估模型直到今天仍为机器翻译的度量标准。

此后出现的多任务学习技术使得机器可以同时学习多个任务,通过学习大量数据集获得的效率,多任务学习技术密集的表示形式能够捕获各种语义和关系,从而可以完成诸如机器翻译之类的各种任务,并能够以无监督的方式实现“转移学习”。米科洛夫(Mikolov)等人提高了本吉奥提出的训练词嵌入效率,并通过移除隐藏层开发出Word2Vec模型,该模型可以在给定附近单词的情况下准确预测中心单词。

随后出现的基于序列学习的通用神经框架,由编码器神经网络处理输入序列,由解码器神经网络根据输入序列状态和当前输出状态来预测输出。其在机器翻译和问题解答方面都取得了不错的应用效果。

1.2.3 深度学习与语音识别

深度学习在语音识别领域取得的成绩也是突破性的。2009年,深度学习算法被引入语音识别领域,并对该领域产生了巨大的影响。TIMT数据集为630个人说的10个给定的句子,每一个句子都有标记,在此数据集上基于传统的混合高斯模型(Gaussian Mixed Model,GMM)的错误率为21.7%,而使用深度学习模型后错误率从21.7%降低到17.9%。错误率降低的幅度很快引起了学术界和工业界的广泛关注。从2010年到2014年,在语音识别领域的两大学术会议IEEE ICASSP和INTERSPEECH上,深度学习的文章呈现出逐年递增的趋势。

在工业界,许多国内外大型IT公司开始提供与语音识别相关的产品。2009年,有IT公司启动语音识别的应用,使用的是混合高斯模型。到2012年,基于深度学习的语音识别模型已取代混合高斯模型,并成功将语音识别的错误率降低了20%,这个改进幅度超过了过去很多年的总和。基于深度学习的语音识别被应用到了各个领域,其中最广为人知的是苹果公司推出的Siri系统。Siri系统可以对用户的语音输入进行识别并完成相应的操作,这在很大程度上方便了用户的使用。目前,Siri系统支持包括汉语在内的20多种不同的语言。

另外一个成功应用语音识别的系统是微软公司的同声传译系统。在2012年的“二十一世纪的计算”国际学术研讨会上,微软公司高级副总裁理查德·拉什德(Richard Rashid)现场演示了微软公司开发的从英语到汉语的同声传译系统。同声传译系统不仅要求计算机能够对输入的语音进行识别,而且要求计算机将识别出来的结果翻译成另外一门语言,并将翻译好的结果通过语音合成的方式输出。在深度学习诞生之前,完成同声传译系统中的任意一个部分都是非常困难的。而随着深度学习的出现和发展,语音识别、机器翻译以及语音合成都实现了巨大的技术突破。如今,微软公司研发的同声传译系统已经被成功地应用到Skype网络电话中。

1.2.4 深度学习与机器学习

为了更好地理解深度学习(Deep Learning,DL)和机器学习(Machine Learning,ML)的关系,图1-17很好地展示了二者之间的关系。深度学习是机器学习的一个子领域,它除了可以学习特征和任务之间的关联以外,还能自动从简单特征中提取更加复杂的特征。

图1-17 深度学习和机器学习的关系

人工智能助推现代产业发展,构建新一代信息技术、人工智能等一批新的增长引擎。机器学习是人工智能(Artificial Intelligence,AI)的一个子领域,近期相关技术很流行。与人工智能一样,机器学习不是一种替代技术,而是对传统程序方法的补充。传统程序是根据输入,编写一套规则,从而获得理想的输出;而机器学习是根据输入与输出编写算法,最终获得一套规则。传统程序和机器学习的流程对比如图1-18所示。

图1-18 传统程序和机器学习的流程对比

大多数机器学习在结构化数据的处理上表现良好。影响机器学习效果的一个重要环节是特征工程,数据科学家需要花费大量时间来构建合适的特征,从而使机器学习算法能够正常执行且取得满意的效果。但在某些领域,例如自然语言处理的特征工程则面临着高维度问题的挑战。在面对高维度问题时,使用典型的机器学习技术(例如线性回归,随机森林等)来解决就非常具有挑战性。

深度学习是机器学习的一个特殊分支,传统的机器学习算法通过手动提取特征的方法来训练算法,而深度学习算法能够自动提取特征进行训练。例如,利用深度学习算法来预测图像是否包含面部特征,从而实现对面部特征的提取。其中,深度学习网络第一层检测图像的边缘,第二层检测形状(例如鼻子和眼睛),最后一层检测面部形状或更复杂的结构。每层都基于上一层的数据表示进行训练。

随着图形处理单元(Graphics Processing Unit,GPU)、大数据以及诸如Torch、TensorFlow、Caffe和PyTorch等深度学习框架的兴起,深度学习的应用在过去几年中得到了极大的发展。除此之外,大公司开源在庞大数据集上训练的模型,帮助初创企业较为轻松地在多个用例上构建先进的系统。

1.2.5 深度学习与人工智能

人工智能是计算机科学的一个分支,它企图了解智能的本质,并生产一种新的、能以与人类智能相似的方式做出反应的机器,对模拟、延伸和扩展人类智能的理论、方法和技术进行研究与开发,是一门技术科学。

人工智能目前可以按学习能力分为弱人工智能、强人工智能和超人工智能。

(1)弱人工智能(Artif icial Narrow Intelligence,ANI),只专注于完成某个特定的任务,是擅长如语音识别、图像识别或翻译等某一方面的人工智能。弱人工智能用于解决特定的、具体的问题,是大都基于统计数据,并以此构建出的模型。由于弱人工智能只能处理较为单一的问题,且并没有达到模拟人脑思维的程度,因此弱人工智能仍然属于“工具”的范畴,与传统的“产品”在本质上并无区别。

(2)强人工智能(Artif icial General Intelligence,AGI),属于人类级别的人工智能。强人工智能在各方面都能和人类比肩,它能够进行思考、计划、解决问题、抽象思维、理解复杂理念、快速学习和从经验中学习等,并且和人类一样得心应手。

(3)超人工智能(Artif icial Super Intelligence,ASI),在几乎所有领域都比最聪明的人脑还要聪明许多,包括科学创新、认识和社交技能等。在超人工智能阶段,人工智能已经跨过“奇点”,其计算和思维能力已经远超人脑。此时的人工智能已经不是人类可以理解和想象的。人工智能将打破人脑受到的维度限制,其所观察和思考的内容,人脑已经无法理解。这样的人工智能将引起巨大的社会变革。

可以说,人工智能的根本在于智能,而机器学习则是部署支持人工智能的计算方法,深度学习是实现机器学习的一种技术。