Keras深度学习与神经网络
上QQ阅读APP看书,第一时间看更新

1.3.2 深度学习的应用情况

随着现代科技的高速发展,深度学习已经推广到各个领域,我们可以非常方便地在互联网媒体平台上看到关于深度学习的科技信息。例如计算机视觉、图像识别、语音识别、自然语言处理、生物医疗、机器人、搜索引擎、推荐系统、保险金融等,它们都应用到了深度学习的技术。

下面详细介绍深度学习在计算机视觉、语音识别与自然语言处理等三个重要领域的应用。

1.计算机视觉

计算机视觉是一门研究机器如何替代人眼“看世界”的学科,具体地说就是用摄像机/摄像头和计算机代替人类的眼睛完成识别、跟踪、测量等工作。计算机视觉也可以通过图像处理技术将图片处理成适合人眼观察或者后续仪器检测的图像。计算机视觉是一门涉及人工智能、神经生物学、心理物理学、计算机科学、图像识别、模式识别等诸多领域的交叉学科。

如前文已经介绍过的,2012年深度学习算法AlexNet在ILSVRC竞赛中取得冠军,这标志着深度学习在计算机视觉领域取得突破性进展,之后,深度学习便受到学术界广泛关注。由于深度学习技术的不断发展,计算机视觉在ILSVRC竞赛的成绩不断刷新纪录,最终错误率已经低于人类视觉。图1.10所示为历届ILSVRC竞赛冠军算法的图像分类错误率的情况。可以看出2013年之后,冠军算法基本上都是深度学习算法。通过对深度学习算法的研究,图像分类错误率基本以每年4%的速度递减。到2015年,算法的图像分类错误率已经低于人工标注的图像分类错误率(人类视觉错误率为5%),实现了计算机视觉领域的一个突破。这证明深度学习打破了传统机器学习算法在图像分类上的瓶颈。现在该比赛已经转向图像识别领域,因为再继续举办这样的比赛已经没有太大意义。

图1.10 历届ILSVRC竞赛冠军算法的图像分类错误率

同时,在计算机视觉领域中也细分了众多技术方向,例如目标检测(见图1.11)、语义分割、人脸技术、光学字符识别、三维重建、视觉搜索等。每个技术方向同样对应了很多商业场景,常见的情景如:光学字符识别是卡片信息识别、文本识别、车牌识别等的重要技术支撑,人脸技术是安全验证、门禁系统、美颜相机等的技术支撑,以及目标检测、目标感知技术等为无人驾驶奠定了技术基础。

图1.11 目标检测网络框架YOLO示例

其中,很多细分的技术利用机器学习的方法也可以实现,然而其效果却远不如深度学习。例如,对于人脸识别技术来说,传统的机器学习技术虽然也可以实现模型,但不能很好地满足人脸识别技术的高精度的要求,不同的人脸、不同的光照环境、不同的表情都是人脸识别技术面临的挑战,机器学习算法很难从复杂的人脸图像中提取足够有效的特征去代表不同的人脸以及同一人脸在不同环境中的变化。而深度学习技术利用大量人脸图像数据进行神经网络的训练,能更加有效地学习到不同人脸的特征表达,从而使得模型的识别能力和泛化能力都有很大的提高。

光学字符识别(optical character recognition,OCR)在计算机视觉领域也是应用非常广泛的技术。该技术是指使用计算机程序对图片中的字符进行检测和识别,这些字符包含数字、字母、汉字、符号等,通过该技术可以将图片上的字符识别为计算机所表达、处理的文本格式。在我国,有一些基础教育公司把 OCR 技术用在产品中去识别教材上的公式、符号,也有一些与车辆相关的公司将 OCR 技术用在对车牌的识别上,还有一些公司将OCR技术用在对卡证的识别上。

2.语音识别

语音识别涉及数字信号处理、语言学、统计学、声学等学科。近年来,随着人工智能的兴起,语音识别在理论和应用方面都取得重大突破。现在语音识别已经应用到许多领域,主要包括语音助手、智能音箱、语音识别听写器、答疑平台、智能导购等。语音识别其实是一种基于语音特征参数的模式识别,通过训练,系统能够把输入的语音按一定模式进行分类,进而依据判定准则找出最佳匹配结果。

语音识别的正式发展可以追溯到1970年,当时语音识别主要集中在小词汇量、孤立词识别方面,使用的方法也主要是简单的模板匹配方法,即首先提取语音信号的特征,构建参数模板,然后将测试语音与参考模板参数进行比较和匹配,将距离最近的样本所对应的词标注为该语音信号的发音。该方法对解决孤立词识别是有效的,但对于大词汇量、非特定人的连续语音识别就无能为力了。

统计语言学的出现使得语音识别如获新生。采用统计学的方法,IBM公司将当时的语音识别率提升到了90%,语音识别的规模从数百词上升到了数万词的级别,从此语音识别有了从实验室走向应用的可能。1980年以后,语音识别研究的重点则逐渐转向大词汇量、非特定人的连续语音识别。1990年以后,在语音识别的系统框架方面没有再出现什么重大突破,它在很长一段时间内发展比较缓慢,错误率一直没有明显下降,直到大数据与深度神经网络(deep neural networks,DNN)时代的到来。

2009年以后,深度学习在语音识别领域取得了瞩目的成绩。辛顿将DNN应用于语音的声学建模,在 TIMIT 数据集上获得了当时最好的结果。2011年年底,微软研究院的俞栋、邓力又把 DNN 应用于大词汇量的连续语音识别任务上,大大降低了语音识别错误率。从此,语音识别进入基于深度学习的时代,这种非常有潜力的发展引起了业界关注。从2010年开始,工业界所生产的语音相关产品基本都基于深度学习的方法。2015年以后,由于“端到端”技术的兴起,语音识别进入了“百花齐放”的时代。2017年,微软公司在Switchboard上的词错误率降低到5.1%,从而让语音识别的准确率首次超越了人类。

当然,当前的技术还存在很多不足,如对于强噪声、超远场、强干扰、多语种、大词汇等场景下的语音识别效果还有待提升。另外,多人语音识别和离线语音识别也是当前需要重点解决的问题。即便是这样,基于深度学习的语音识别已经被应用到了各个领域,包括名噪一时的Siri智能语音系统、安卓平台上的谷歌语音搜索,以及很多家庭都已经拥有的智能音箱。

3.自然语言处理

自然语言处理(natural language processing,NLP)是计算机科学领域与人工智能领域的一个重要研究方向,旨在研究人机之间用自然语言进行有效通信的理论和方法。实现自然语言与计算机进行通信,有着十分重要的实际应用意义和理论意义。由于理解自然语言需要积累大量关于外在世界的广泛知识,以及具有运用这些知识的能力,因此对NLP的研究是充满魅力与挑战的。

我们从算法上可以将NLP梳理成以下两类模型。

一类是基于概率图方法的模型,包括贝叶斯网络、马尔可夫链、隐马尔可夫模型、最大期望算法、条件随机场、最大熵模型等。在深度学习兴起之前,NLP的基本理论算法模型都是靠这些传统的机器学习算法支撑起来的。

另一类就是基于深度学习的方法。对于NLP的研究来说,字可以组成词语,词语可以组成句子,句子可以再构成段落、篇章和文档。但是计算机并不认识这些字或词语,所以我们需要对以字或词汇为代表的自然语言进行数学上的表征。简单来说,就是将词汇转化为计算机可识别的数值形式。然而在自然语言领域,一个非常棘手的问题是在自然语言中有很多词语表达的意思很相近,如“终生”和“一辈子”表达的意思基本相同,但是它们在计算机中的编码差别可能很大,因而计算机可能很难准确地把握其自然语言表达的语义。基于深层神经网络的深度学习方法改变了NLP技术的面貌,把NLP问题的定义和求解从离散的符号域搬到了连续的数值域,导致整个问题的定义和所使用的数学工具与以前完全不同,基于深度学习的词嵌入(词向量)技术极大地促进了NLP研究的发展。

近些年,NLP技术已经被广泛应用到社会上的各个领域。例如,在搜索引擎中,在搜索关键词的时候,搜索引擎除了给我们一系列相关的网页以外,还会直接给出一个具体的答案,这就用到了NLP的问答技术;在金融领域,NLP可以为证券投资提供各种分析数据,如热点挖掘、舆情分析等,还可以进行金融风险分析、欺诈识别等;在法律领域,NLP可以帮助用户进行案例搜索、判决预测、法律文书自动生成、法律文本翻译、智能问答等;在医疗健康领域,NLP技术更是有着广阔的应用前景,如病历的辅助录入、医学资料的检索和分析、辅助诊断等。现代医学资料浩如烟海,新的医学手段、方法发展迅猛,没有任何医生和专家能够掌握所有的医学发展的动态。NLP可以帮助医生快速、准确地找到各种疑难病症的最新研究进展,使得病人更快地享受医学技术进步带来的成果。