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

1.1 深度学习简介

深度学习目前在很多领域的表现都优于传统的机器学习算法,在图像分类与识别、语音识别与合成、人脸识别、视频分类与行为识别等领域都有着不俗的表现。除此以外,深度学习还涉及与生活相关的纹理识别、行人检测、场景标记、门牌识别等场景。

人脸识别采用深度学习算法后,其分类精度超过了目前非深度学习算法以及人眼能够达到的分类精度。深度学习技术在语音识别领域更是取得了突破性的进展,在大规模图像分类问题上的效率也远超传统算法。

1.1.1 深度学习的定义

2006年,杰弗里·欣顿(Geoffrey Hinton)等人在顶尖学术刊物《科学》上发表了一篇文章。该文章提出了深度网络训练中梯度消失问题的解决方案:首先使用无监督预训练对权重进行初始化,然后使用有监督训练微调权重。

2012年,拥有8层网络的深度神经网络AlexNet在图片识别竞赛中取得了优异的成绩,展现了深度神经网络强大的学习能力。此后数十层、数百层,甚至上千层的深度神经网络模型被相继提出。通常将利用深度神经网络实现的算法称为深度学习。

深度学习的核心在于自动将简单的特征组合成更加复杂的特征,并使用这些特征解决问题。深度学习是机器学习的一个分支,它除了可以学习特征和任务之间的关联之外,还能自动从简单特征中提取更加复杂的特征。

虽然深度学习在研发之初受到了大脑工作原理的很多启发,但是现代深度学习的发展并不拘泥于模拟人脑神经元和人脑的工作机制。现代的深度学习已经超越了神经科学的观点,它可以更广泛地适用于各种并非受到神经网络启发而产生的机器学习框架。

1.1.2 深度学习常见应用

深度学习在图像分类、图像分割、图像生成、图像说明生成(图像理解)、图像风格转换、物体检测、物体测量、物体分拣、视觉定位、情感分析、无人驾驶、机器翻译、文本到语音转换、手写文字转录、智能问答系统等方面均有应用。这些深度学习的应用与人们的日常生活息息相关,如手机中的语音助手、汽车上的智能辅助驾驶、商店里的人脸支付等。

1.图像分类

图像分类的核心是从给定的分类集合中,为图像分配一个标签。实际上,图像分类是指分析一个输入图像并返回一个将图像分类的标签。标签总是来自预定义的分类集合。深度学习算法可以实现对猫的图像的分类,如图1-1所示。

图1-1 猫的图像的分类

2.图像分割

图像分割就是指能将图像分割成若干个特定的、具有独特性质的区域,并提出感兴趣目标的技术和过程,它是介于图像处理与图像分析之间的关键步骤。现有的图像分割方法主要分为4类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法和基于特定理论的分割方法。图像分割的过程是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即为属于同一区域的像素赋予相同的编号。图像分割对街道车辆图像进行分割的结果如图1-2所示。

图1-2 图像分割

3.图像生成

有一种新的技术能实现不需要另外输入任何图像,只要前期使用大量的真实图像让网络进行学习,即可由网络自动生成新的图像。目前常见的生成模型有变分自编码器(Variational Auto-Encoder,VAE)系列、生成对抗网络(Generative Adversarial Network,GAN)系列等。其中生成对抗网络系列算法近年来取得了巨大的进展,最新的生成对抗网络模型生成的图像效果达到了人眼难辨真伪的程度。图1-3所示的是为网络提供的真实图像,网络根据真实图像生成的新图像如图1-4所示。

图1-3 为网络提供的真实图像

图1-4 网络根据真实图像生成的新图像

4.图像说明生成

神经图像说明(Neural Image Caption,NIC)模型会自动生成输入图像的介绍性文字。该模型由深度的卷积神经网络(Convolutional Neural Network,CNN)和基于自然语言处理的循环神经网络(Recurrent Neural Network,RNN)构成。卷积神经网络提取图像特征,循环神经网络生成文本。输入图1-5所示的原图像,NIC模型可以生成诸如“一个男人和一个女孩坐在地上吃”“一个男人和一个小女孩正坐在人行道上吃,附近有一个蓝色的袋子”“一个男人穿着一件黑色的衬衫和一个穿着橙色礼服的小女孩分享一种美食”等标题。

图1-5 原图像

5.图像风格转换

图像风格转换利用了卷积神经网络可以提取高层特征的功能,不在像素级别进行损失函数的计算,而是将原图像和生成图像都输入到一个已经训练好的神经网络里,在得到的某种特征表示上计算欧氏距离(内容损失函数)。这样得到的图像与原图像内容相似,但像素级别不一定相似,且所得图像更具鲁棒性。输入两幅图像,网络会生成一幅新的图像。两幅输入图像中,一幅称为“内容图像”,如图1-6所示;另一幅称为“风格图像”,如图1-7所示。如果将风格图像的绘画风格应用于内容图像上,那么深度学习网络会按照要求绘制出该风格的图像,如图1-8所示。

图1-6 内容图像

图1-7 风格图像

图1-8 输出图像

6.物体检测

物体检测就是从图像中确定物体的位置,并对物体进行分类。根据骑行图像对骑行者进行检测,如图1-9所示。

图1-9 物体检测

物体检测是机器视觉技术最主要的应用之一,例如为建立大安全大应急框架,完善公共安全体系,对汽车违规行驶的检测,为了保障行车、行人的安全而在路口安装的交通检测系统,用于检测司机是否存在驾驶速度超过限制,违规变道,闯红灯,遮挡车牌,没系安全带等违规行为,提高公共安全治理水平。

人工检测存在着较多的弊端,如准确率低,长时间工作时,人工的准确率更无法保障;检测速度慢,容易出现错判和漏判。因此,机器视觉技术在物体检测的应用方面也就显得非常重要。

物体检测比物体识别更难。原因在于物体检测需要从图像中确定物体的位置,有时图像中可能存在多个物体。对于这样的问题,人们提出了多种基于卷积神经网络的算法,这些算法有着非常优秀的性能。

在使用卷积神经网络进行物体检测的算法中,区域卷积神经网络(Region-Convolutional Neural Network,R-CNN)被较早地运用在物体检测上,因此该算法较为成熟。R-CNN算法在提高训练和测试的速度的同时也提高了检测精度。

7.物体测量

在日常生活中,物体测量通常是对物体的质量、长度、高度、体积等进行测量。在机器视觉领域,通常使用光的反射进行非接触测量,如图1-10所示,某款手机使用非接触光学测量方法对桌子进行测量。物体测量技术还多用于工业方面,主要对汽车零部件、齿轮、半导体元件管脚等进行测量。

图1-10 非接触光学测量

8.物体分拣

物体分拣是在检测、识别之后进行的一个环节,通过机器视觉技术对图像中的目标进行检测和识别,实现自动分拣,如图1-11所示。在工业领域,物体分拣常用于食品分拣、表面瑕疵零件自动分拣、棉花纤维分拣等。同时,物体分拣在物流、仓库中的运用更为广泛。在分拣过程中,机器按照物品种类、物品大小、出入库的先后顺序等对物体进行分拣。

图1-11 物体分拣

9.视觉定位

视觉定位要求机器能够快速、准确地找到被测零件并确认其位置,如图1-12所示。在半导体封装领域,设备需要通过机器视觉技术取得的芯片位置信息调整拾取头,准确拾取芯片并进行绑定。这就是视觉定位在机器视觉工业领域的基本应用。

图1-12 视觉定位

10.情感分析

情感分析的核心就是从一段文字中判断作者对主体的评价是好还是差。针对通用场景下带有主观描述的中文文本,深度学习算法可以自动判断该文本的情感极性并给出相应的置信度。情感极性分为积极、消极、中性或更多维的情绪。情感分析的例子如图1-13所示。

图1-13 情感分析的例子

11.无人驾驶

无人驾驶被认为是深度学习在短期内能实现技术落地的一个应用方向,很多公司投入大量资源在无人驾驶上,百度的无人巴士“阿波龙”已经在北京、武汉等地展开试运营。无人驾驶的行车视野如图1-14所示,无人驾驶主要利用深度学习算法,结合传感器来指挥和操纵车辆,从而构建一个完全智能调度的移动出行网络。

图1-14 无人驾驶的行车视野

12.机器翻译

常用的机器翻译模型有Seq2Seq、BERT、GPT、GPT-2等。OpenAI公司提出的GPT-2模型参数量高达15亿,发布之初甚至以技术安全考虑为由拒绝开源GPT-2模型。

目前深度学习在机器翻译领域取得了很大的进步,如我国坚持科技自立自强,科大讯飞的翻译机支持多语种(英语、日语、韩语、西班牙语、法语等)离线翻译、拍照翻译,并且也能顺利翻译四川话、河南话、东北话、山东话等方言。除了日常的对话外,翻译机还可以用于行业领域的翻译,如外贸、能源、法律、体育、电力、医疗、金融、计算机等行业领域。科大讯飞翻译机如图1-15所示,其实时翻译记录如图1-16所示。

图1-15 科大讯飞翻译机

图1-16 科大讯飞实时翻译记录

13.文本到语音转换

从文本中生成人类的语音,通常被称为文本到语音转换(Text To Speech,TTS),它有许多的应用,是语音驱动的设备、导航系统和视力障碍者设备中不可缺少的工具。从根本上说,文本到语音转换能让人在不需要视觉交互的情况下与技术进行互动。百度研究院发布的Deep Voice是一个文本到语音转换系统,完全由深度神经网络构建。文本到语音转换将自然语言的文本很流畅、自然地变为语音,也因此出现了语音小说。

14.手写文字转录

手写文字转录是指自动识别用户手写的文字,并将其直接转化为计算机可以识别的文字。用户手写文字字形的提取,包括利用文本行的水平投影进行行切分,以及利用文本行的垂直投影进行字切分,然后将提取的用户手写文字字形特征向量与计算机文字的字形特征向量进行匹配,并建立用户手写体与计算机字体的对应关系,生成计算机可识别的文字。

15.智能问答系统

由于网络在日常生活的应用,用户可以足不出户地在手机上完成购物、缴费等,但是这些行为带来了沟通不便的问题,例如用户在缴纳手机话费时,不清楚账单里的扣费详情。因此基于深度学习和自然语言处理(Natural Language Processing,NLP)的智能问答系统受到了广泛的关注。用户在智能问答系统中输入问题,智能问答系统提取问题中的关键字,然后输出与关键字相关的答案,这样能极大程度地减少人力和物力的投入。