我的工程实践是《基于深度学习的手写汉字识别》,接下来我会基于这个课题,来详细阐述一下整个领域建模的过程。
1.收集应用领域的信息
(1)课题背景
在上个世纪60年代,美国IBM公司开始进行了对印刷体汉字的模式识别研究工作,1996年Casey和Nag用模板匹配法成功的识别出了1000个印刷体汉字,在全球范围内,汉字识别开始展开了。而就在这个时候,研究界对手写汉字识别也掀起了高潮。因为汉字在日语中占有一定的地位,手写体汉字识别(HCCR)在一开始是由日本率先尝试研究的,在80年代,国内开始了对手写汉字的研究,因为汉语作为我们的母语,汉字主要在我国广泛使用,对汉字的种类、内涵、造字原理国内的掌握情况较透彻,所以关于手写汉字识别的深入研究主要集中在国内。
(2)功能需求
一般而言,传统的手写中文单字识别系统主要包括数据预处理、特征提取和分类识别三部分。然而,近些年来,传统的手写汉字识别框架进展并不明显,原地踏步,急需寻找其它的解决方案。而深度学习正满足了手写汉字识别革新需求。实践证明,在深度学习技术协助下,联机HCCR、脱机HCCR的识别率都大为提升,同原有的识别技术相比进步非常明显,这也是我的工程实践的方向。通过深度学习中的神经网络模型进行训练,最终获得一个较高的识别率。
2.头脑风暴
(1)重要的应用领域概念
深度学习:深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。 深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
神经网络:人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
CNN:卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一 。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariant classification),因此也被称为“平移不变人工神经网络(Shift-Invariant Artificial Neural Networks, SIANN)” 。
数据预处理:数据预处理(data preprocessing)是指在主要的处理以前对数据进行的一些处理。如对大部分地球物理面积性观测数据在进行转换或增强处理之前,首先将不规则分布的测网经过插值转换为规则网的处理,以利于计算机的运算。另外,对于一些剖面测量数据,如地震资料预处理有垂直叠加、重排、加道头、编辑、重新取样、多路编辑等。
(2)上面概念的属性以及之间的关系
深度学习与神经网络的关系:
深度学习的概念源于人工神经网络的研究。深度学习是为了让层数较多的多层神经网络可以训练,能够工作而演化出来的一系列的新的结构和新的方法。(如BP算法、梯度下降算法)
深度学习与数据预处理的关系:
以卷积神经网络为例,未经过预处理的图像数据是无法通过卷积神经网络进行卷积操作的。图像预处理是一个复杂的过程,可能需要对图像进行灰度化、直方图均衡化、提取特征、resize图像的大小等等以达到输入的要求。因此数据预处理往往是在训练模型之前必须经过的操作,只有预处理后的数据才能够喂入神经网络来训练模型。
下面是我的工程实践需要训练的一个HCCR-Googlenet模型
(3)对领域概念进行分类(关联、继承、聚合)
可大体分为三类:
1.图像预处理类
属性:训练集图像、测试集图像
方法:图像灰度化(二值化)、直方图均衡化、图像翻转、对比度增强、特征提取
2.神经网络模型类
属性:Googlenet、Resnet、HCCR-Googlenet等CNN神经网络
方法:梯度下降法、BP算法、交叉验证方法等等
3.验证结果类
属性:验证集图像
方法:图像预处理、召回率计算、精确度计算、loss计算、绘制学习图像
(4)使用UML类图记录结果