CN108985442B - 手写模型训练方法、手写字识别方法、装置、设备及介质 - Google Patents
手写模型训练方法、手写字识别方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN108985442B CN108985442B CN201810564639.0A CN201810564639A CN108985442B CN 108985442 B CN108985442 B CN 108985442B CN 201810564639 A CN201810564639 A CN 201810564639A CN 108985442 B CN108985442 B CN 108985442B
- Authority
- CN
- China
- Prior art keywords
- chinese
- character
- chinese character
- training
- recognition model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种手写模型训练方法、手写字识别方法、装置、设备及介质。该手写模型训练方法包括:基于待处理中文字训练样本中每个字的像素值特征矩阵,获取规范中文字训练样本,采用所述规范中文字训练卷积神经网络,并基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型;获取并采用非规范中文字训练样本,训练获取调整中文手写字识别模型;获取并采用待测试中文字样本得到出错字训练样本;采用出错字训练样本更新中文手写字识别模型的权值和偏置,获取目标中文手写字识别模型。采用该手写模型训练方法,能够得到识别手写字识别率高的目标中文手写字识别模型。
Description
技术领域
本发明涉及字识别领域,尤其涉及一种手写模型训练方法、手写字识别方法、装置、设备及介质。
背景技术
传统手写字识别方法大多包括二值化处理、字符分割、特征提取和支持向量机等步骤进行识别,采用传统手写字识别方法在识别较为潦草的手写字及非规范字(例如非宋体、非隶书和非楷体等字)时,识别的精确度不高,使得其识别效果不理想。传统手写字识别方法很大程度上只能识别规范字,对实际生活中各种各样的手写字进行识别时,准确率较低。
发明内容
本发明实施例提供一种手写模型训练方法、装置、设备及介质,以解决当前手写字识别准确率不高的问题。
一种手写模型训练方法,包括:
基于待处理中文字训练样本中每个字的像素值特征矩阵,获取规范中文字训练样本,采用所述规范中文字训练卷积神经网络,并基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型;
获取非规范中文字训练样本并采用所述非规范中文字训练所述规范中文字识别模型,采用基于批量梯度下降的后向传播算法更新所述规范中文字识别模型的权值和偏置,获取调整中文手写字识别模型;
获取待测试中文字样本,采用所述调整中文手写字识别模型识别所述待测试中文字样本,获取识别结果与真实结果不符的出错字,把所有所述出错字作为出错字训练样本;
采用所述出错字训练样本训练所述调整中文手写字识别模型,并基于批量梯度下降的后向传播算法更新调整中文手写字识别模型的权值和偏置,获取目标中文手写字识别模型。
一种手写模型训练装置,包括:
规范中文字识别模型获取模块,用于基于待处理中文字训练样本中每个字的像素值特征矩阵,获取规范中文字训练样本,采用所述规范中文字训练卷积神经网络,并基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型;
调整中文手写字识别模型获取模块,用于获取非规范中文字训练样本并采用所述非规范中文字训练所述规范中文字识别模型,采用基于批量梯度下降的后向传播算法更新所述规范中文字识别模型的权值和偏置,获取调整中文手写字识别模型;
出错字训练样本获取模块,用于获取待测试中文字样本,采用所述调整中文手写字识别模型识别所述待测试中文字样本,获取识别结果与真实结果不符的出错字,把所有所述出错字作为出错字训练样本;
目标中文手写字识别模型获取模块,用于采用所述出错字训练样本训练所述调整中文手写字识别模型,并基于批量梯度下降的后向传播算法更新调整中文手写字识别模型的权值和偏置,获取目标中文手写字识别模型。
本发明实施例还提供一种手写字识别方法、装置、设备及介质,以解决当前手写字识别准确率不高的问题。
一种手写字识别方法,包括:
获取待识别中文字,采用目标中文手写字识别模型识别所述待识别中文字,获取所述待识别中文字在所述目标中文手写字识别模型中的输出值;所述目标中文手写字识别模型是采用所述手写模型训练方法获取到的;
根据所述输出值和预设的中文语义词库获取目标概率输出值,基于所述目标概率输出值获取所述待识别中文字的识别结果。
本发明实施例提供一种手写字识别装置,包括:
输出值获取模块,用于获取待识别中文字,采用目标中文手写字识别模型识别所述待识别中文字,获取所述待识别中文字在所述目标中文手写字识别模型中的输出值;所述目标中文手写字识别模型是采用所述手写模型训练方法获取到的;
识别结果获取模块,用于根据所述输出值和预设的中文语义词库获取目标概率输出值,基于所述目标概率输出值获取所述待识别中文字的识别结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述手写模型训练方法的步骤。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述手写字识别方法的步骤。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述手写模型训练方法的步骤。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述手写字识别方法的步骤。
本发明实施例所提供的手写模型训练方法、装置、设备及介质中,采用规范中文字训练样本训练并获取规范中文字识别模型,该规范中文字识别模型具备识别规范中文手写字能力,再通过非规范中文字对规范中文字识别模型进行调整性的更新,使得更新后获取的调整中文手写字识别模型在具备识别标准规范字能力的前提下,通过训练更新的方式学习手写中文字的深层特征,使得调整中文手写字识别模型能够较好地识别手写中文字。然后采用调整中文手写字识别模型识别待测试中文字样本,获取识别结果与真实结果不相符的出错字,并采用出错字训练样本训练调整中文手写字识别模型,将所有出错字作为出错字训练样本输入到调整中文手写字识别模型中进行训练更新,获取目标中文手写字识别模型。采用出错字训练样本能够进一步优化识别准确率,可以进一步地降低训练模型时产生的过分学习和过度削弱的影响。而且,各个模型训练时采用的是基于批量梯度下降的后向传播算法,能够保证对模型中参数的充分更新,全面地根据产生的误差进行参数更新,提高所获取的模型的识别准确率。
本发明实施例所提供的手写字识别方法、装置、设备及介质中,将待识别中文字输入到目标中文手写字识别模型中进行识别,并结合预设的中文语义词库获取识别结果。采用该目标中文手写字识别模型对中文手写字进行识别时,可以得到精确的识别结果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中手写模型训练方法的一应用环境图;
图2是本发明一实施例中手写模型训练方法的一流程图;
图3是图2中步骤S10的一具体流程图;
图4是图2中步骤S10的另一具体流程图;
图5是图2中步骤S30的一具体流程图;
图6是本发明一实施例中手写模型训练装置的一示意图;
图7是本发明一实施例中手写字识别方法的一流程图;
图8是本发明一实施例中手写字识别装置的一示意图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出本发明实施例提供的手写模型训练方法的应用环境。该手写模型训练方法的应用环境包括服务端和客户端,其中,服务端和客户端之间通过网络进行连接,客户端是可与用户进行人机交互的设备,包括但不限于电脑、智能手机和平板等设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。本发明实施例提供的手写模型训练方法应用于服务端。
如图2所示,图2示出本发明实施例中手写模型训练方法的一流程图,该手写模型训练方法包括如下步骤:
S10:基于待处理中文字训练样本中每个字的像素值特征矩阵,获取规范中文字训练样本,采用规范中文字训练卷积神经网络,并基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型。
其中,待处理中文字训练样本是指初始获取的,未经处理的训练样本。像素值特征矩阵即采用像素值作为特征,并采用矩阵的方式进行表示的矩阵。规范中文字训练样本是指根据标准规范字(如楷体、宋体或隶书等字体,一般选择楷体或者宋体)所获取的训练样本,可以理解地,待处理中文字训练样本中的字属于标准规范字。卷积神经网络(Convolutional Neural Network,简称CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,能够进行图像处理和识别。卷积神经网络与一般的深度神经网络(Deep Neural Networks,简称DNN)的主要区别在于卷积神经网络包括卷积层和池化层,这为卷积神经网络能够对带有文字的图像进行处理和识别提供重要的技术支持。批量梯度下降(Batch Gradient Descent,简称BGD)是指在更新网络中每一参数时都使用所有的样本在训练过程中产生的误差进行更新的处理方法。后向传播算法(BackPropagation,简称BP算法)是神经网络学习中一种训练与学习方法,用来调整神经网络中各个节点之间的权值和偏置。采用后向传播算法对神经网络中的权值和偏置进行调整时需要求出误差函数的最小值,而在本实施例中,误差函数的最小值具体采用批量梯度下降的处理方法求出。
本实施例中,基于待处理中文字训练样本中每个字的像素值特征矩阵,获取规范中文字训练样本,该训练样本是由楷体、宋体或隶书等中文字体的标准规范字获取而来,本实施例中以宋体为例进行说明。可以理解地,这里的标准规范字是指目前中文字体中主流字体的字,如计算机设备的输入法中的默认字体宋体,常用于临摹的主流字体楷体等;而像日常生活中比较少使用的中文字体如草书、幼圆,则不列入该标准规范字的范围。在获取规范中文字训练样本后,将规范中文字训练样本输入到卷积神经网络中进行训练,采用基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型。该规范中文字识别模型在训练过程中学习了规范中文字训练样本的深层特征,使得该模型能够对标准规范字进行精确的识别,具备对标准规范字的识别能力。需要说明的是,无论规范中文字训练样本采用的是楷体、宋体或隶书等其他中文字体对应的标准规范字,由于这些标准规范字在字识别的层面上差别并不大,因此该规范中文字识别模型可以对楷体、宋体或隶书等标准规范字进行精确的识别,得到较准确的识别结果。
S20:获取非规范中文字训练样本并采用非规范中文字训练规范中文字识别模型,采用基于批量梯度下降的后向传播算法更新规范中文字识别模型的权值和偏置,获取调整中文手写字识别模型。
其中,非规范中文字训练样本是指根据手写中文字所获取的训练样本,该手写中文字具体可以是按照楷体、宋体或隶书等字体对应的标准规范字的字体形态通过手写方式得到的字。可以理解地,该非规范中文字训练样本与规范中文字训练样本的区别在于非规范中文字训练样本是由手写中文字所获取的,既然是手写的,当然就包含各种各样不同的字体形态。
本实施例中,服务端获取非规范中文字训练样本,该训练样本包含有手写中文字的特征,采用非规范中文字训练规范中文字识别模型,将非规范中文字训练样本输入到规范中文字识别模型中进行训练并调整,采用基于批量梯度下降的后向传播算法更新规范中文字识别模型的权值和偏置,获取调整中文手写字识别模型。可以理解地,规范中文字识别模型具备识别标准规范中文字的能力,但是在对手写中文字进行识别时并没有较高的识别精确度。因此本实施例采用非规范中文字训练样本进行训练,让规范中文手写字识别模型在已有识别标准规范字的基础上,对模型中的参数(权值和偏置)进行调整,获取调整中文手写字识别模型。该调整中文手写字识别模型在原本识别标准规范字的基础上学习手写中文字的深层特征,使得该调整中文手写字识别模型结合了标准规范字和手写中文字的深层特征,能够同时对标准规范字和手写中文字进行有效的识别,得到准确率较高的识别结果。
卷积神经网络在进行字识别时,是根据字的像素分布进行判断的,在实际生活中的手写中文字与标准规范字(如楷体)存在差别,但是这种差别相比与其他不对应标准规范字的差别小很多的,例如,手写中文字的“我”和标准规范字的“我”在像素分布上存在差别,但是这种差别相比于手写中文字“你”和标准规范字“我”之间的差别明显小很多。可以这样认为,即使手写中文字与相对应的标准规范字之间存在一定的差别,但是这种差别与不相对应的标准规范字的差别小得多,因此,可以通过最相似(即差别最小)的原则确定识别结果。调整中文手写字识别模型是由卷积神经网络训练而来的,该模型结合标准规范字和手写中文字的深层特征,能够根据该深层特征对手写中文字进行有效的识别。
需要说明的是,本实施例的步骤S10和步骤S20的顺序是不可调换的,先执行步骤S10再执行步骤S20。先采用规范中文训练样本训练卷积神经网络可以使获取的规范中文字识别模型拥有较好的识别能力,使其对标准规范字有精确的识别结果。在拥有良好的识别能力的基础上再进行步骤S20的微调,使得训练获取的调整中文手写字识别模型能够根据学习到的手写中文字的深层特征对手写中文字进行有效的识别,使其对手写中文字识别有较精确的识别结果。若先执行步骤S20或只执行步骤S20,由于手写中文字有各种各样的形态,直接采用手写中文字训练学习到的特征并不能反映手写中文字的本质特征,会使一开始模型就学“坏”,导致后来再怎么进行调整也难以使得对手写中文字识别有精确的识别结果。虽然每个人的手写中文字都不一样,但是极大部分都是与标准规范字相似(如手写中文字模仿标准规范字)。因此,一开始根据标准规范字进行模型训练更符合客观情况,要比直接对手写中文字进行模型训练的效果更好,可以在“好”的模型下进行相应的调整,获取手写中文字识别率高的调整中文手写字识别模型。
S30:获取待测试中文字样本,采用调整中文手写字识别模型识别待测试中文字样本,获取识别结果与真实结果不符的出错字,把所有出错字作为出错字训练样本。
其中,待测试中文字样本是指根据标准规范字和手写中文字所获取的用于测试的训练样本,该步骤采用的标准规范字和步骤S10中用于训练的标准规范字是相同的(因为如楷体、宋体等字体所对应的每个字都是唯一确定的);采用的手写中文字与和步骤S20中用于训练的手写中文字可以是不同的(不同人手写的中文字是不完全相同的,手写中文字所对应的每个字可以对应多种字体形态,为了与步骤S20用于训练的非规范中文字训练样本区分开来,避免模型训练过拟合的情况,一般该步骤采用与步骤S20不同的手写中文字)。
本实施例中,将训练好的调整中文手写字识别模型用来识别待测试中文字样本,该待测试中文字样本包括标准规范字和其预先设置好的标签值(即真实结果),以及手写中文字和其预先设置好的标签值。训练时标准规范字和手写中文字可以是采用混合的方式输入到调整中文手写字识别模型。在采用调整中文手写字识别模型对待测试中文字样本进行识别时,将获取到相应的识别结果,把识别结果与标签值(真实结果)不相符的所有出错字作为出错字训练样本。该出错字训练样本反映调整中文字手写识别模型仍然存在识别精度不足的问题,以便后续根据该出错字训练样本进一步更新、优化调整中文手写字识别模型。
由于调整中文手写字识别模型的识别精度实际上受到规范中文字训练样本和非规范中文字训练样本的共同影响,在先采用规范中文字训练样本更新网络参数,再采用非规范中文字训练样本更新网络参数的前提下,会导致获取到的调整中文手写字识别模型过度学习非规范中文字训练样本的特征,使得获取的调整中文手写字识别模型对非规范中文字训练样本(包括手写中文字)拥有非常高的识别精度,但却过度学习该非规范中文字样本的特征,影响除该非规范中文字训练样本以外的手写中文字的识别精度,因此,步骤S30采用待测试中文字样本对调整中文手写字识别模型进行识别,能够很大程度上消除训练时采用的非规范中文字训练样本的过度学习。即通过调整中文手写字识别模型识别待测试中文字样本,以找出由于过度学习而产生的误差,该误差具体可以通过出错字反映出来,因此能够根据该出错字进一步地更新、优化调整中文手写字识别模型的网络参数。
S40:采用出错字训练样本训练调整中文手写字识别模型,并基于批量梯度下降的后向传播算法更新调整中文手写字识别模型的权值和偏置,获取目标中文手写字识别模型。
本实施例中,采用出错字训练样本训练调整中文手写字识别模型,将出错字训练样本输入到调整中文手写字识别模型中进行训练,该出错字训练样本反映了在训练调整中文手写字识别模型时,由于过度学习非规范中文字训练样本的特征,导致调整中文手写字识别模型在识别非规范中文字训练样本以外的手写中文字时出现的识别不精确的问题。并且,由于先采用规范中文字训练样本再采用非规范中文字训练样本训练模型的原因,会过度削弱原先学习的标准规范字的特征,这会影响模型初始搭建的对标准规范字进行识别的“框架”。利用出错字训练样本可以很好地解决过度学习和过度削弱的问题,可以根据出错字训练样本反映的识别精确度上的问题,在很大程度上消除原本训练过程中产生的过度学习和过度削弱带来的不利影响。具体地,采用出错字训练样本进行训练时采用的是基于批量梯度下降的后向传播算法,根据该算法更新调整中文手写字识别模型的权值和偏置,获取目标中文手写字识别模型,该目标中文手写字识别模型是指最终训练出来的可用于识别中文手写字的模型。在更新网络参数,采用后向传播算法时选择批量梯度下降能够对整个出错字训练样本在训练过程中产生的误差都进行反向传播更新,保证对模型中参数的充分更新,全面地根据产生的误差进行参数更新,提高目标中文手写字识别模型的识别准确率。
步骤S10-S40中,采用规范中文字训练样本训练并获取规范中文字识别模型,再通过非规范中文字对规范中文字识别模型进行调整性的更新,使得更新后获取的调整中文手写字识别模型在具备识别标准规范字能力的前提下,通过训练更新的方式学习手写中文字的深层特征,使得调整中文手写字识别模型能够较好地识别手写中文字。然后采用调整中文手写字识别模型识别待测试中文字样本,获取识别结果与真实结果不相符的出错字,并采用出错字训练样本训练调整中文手写字识别模型,将所有出错字作为出错字训练样本输入到调整中文手写字识别模型中进行训练更新,获取目标中文手写字识别模型。采用出错字训练样本可以在很大程度上消除原本训练过程中产生的过度学习和过度削弱带来的不利影响,能够进一步优化识别准确率。步骤S10-S40中,各个模型训练时采用的是基于批量梯度下降的后向传播算法,采用批量梯度下降能够保证对模型中参数的充分更新,对训练样本在训练过程中产生的误差都进行反向传播更新,全面地根据产生的误差进行参数更新,提高所获取的模型的识别准确率。
在一实施例中,如图3所示,步骤S10中,基于待处理中文字训练样本中每个字的像素值特征矩阵,获取规范中文字训练样本,具体包括如下步骤:
S101:获取待处理中文字训练样本中每个字的像素值特征矩阵,将像素值特征矩阵中每个像素值进行归一化处理,获取每个中文字的归一化像素值特征矩阵,其中,归一化处理的公式为MaxValue为每个中文字的像素值特征矩阵中像素值的最大值,MinValue为每个中文字的像素值特征矩阵中像素值的最小值,x为归一化前的像素值,y为归一化后的像素值。
本实施例中,获取待处理中文字训练样本中每个中文字的像素值特征矩阵,每个像素值特征矩阵代表着对应字的特征,在这里用像素值代表字的特征,由于字是基于二维表示的(一般一个字用一张m×n的图像表示),故像素值可以采用矩阵表示,即形成像素值特征矩阵。计算机设备能够识别像素值特征矩阵的形式,读取像素值特征矩阵中的数值。服务端获取像素值特征矩阵后,采用归一化处理的公式对特征矩阵中的每个中文字的像素值进行归一化处理,获取归一化像素值特征。本实施例中,采用归一化处理方式能够将每个中文字的像素值特征矩阵都压缩在同一个范围区间内,能够加快与该像素值特征矩阵相关的计算,有助于提高训练规范中文字识别模型的训练效率。
S102:将每个中文字的归一化像素值特征矩阵中的像素值划分为两类像素值,基于两类像素值建立每个中文字的二值化像素值特征矩阵,将每个中文字的二值化像素特征矩阵组合作为规范中文字训练样本。
本实施例中,将归一化像素值特征矩阵中的像素值划分为两类像素值,该两类像素值是指像素值中只包含像素值A或者像素值B。具体地,可以将归一化像素特征矩阵中大于或等于0.5的像素值取为1,将小于0.5的像素值取为0,建立每个中文字的相应的二值化像素值特征矩阵,每个中文字的二值化像素特征矩阵中的原始只包含0或1。在建立每个中文字的二值化像素值特征矩阵后,将每个中文字的二值化像素值特征矩阵对应的字组合作为规范中文字训练样本。例如,在一张包含字的图像中,包含字像素的部分和空白像素的部分。字上的像素值一般颜色会比较深,二值化像素值特征矩阵中的“1”代表字像素的部分,而“0”则代表图像中空白像素的部分。可以理解地,通过建立每个中文字的二值化像素值特征矩阵可以进一步简化对字的特征表示,仅采用0和1的矩阵就可以将每个中文字表示并区别开来,能够提高计算机处理关于字的特征矩阵的速度,进一步提高训练规范中文字识别模型的训练效率。
步骤S101-S102对待处理中文字训练样本进行归一化处理并进行二类值的划分,获取每个中文字的二值化像素值特征矩阵,并将每个中文字的二值化像素值特征矩阵作为规范中文字训练样本,能够显著缩短训练规范中文字识别模型的时长。
在一实施例中,如图4所示,步骤S10中,采用规范中文字训练卷积神经网络,并基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型,具体包括如下步骤:
S111:将规范中文字训练样本输入到卷积神经网络中,获取规范中文字训练样本在卷积神经网络中的前向输出。
其中,卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,能够进行图像处理和识别。卷积神经网络通常包括至少两个非线性可训练的卷积层,至少两个非线性的池化层和至少一个全连接层,即包括至少五个隐含层,此外还包括输入层和输出层。
本实施例中,将规范中文字训练样本输入到卷积神经网络中进行训练,规范中文字训练样本在卷积神经网络经过各层处理后(具体为权值和偏置对规范中文字训练样本的响应处理),会在卷积神经网络的每一层都得到处理后相应的输出值。由于卷积神经网络包含的层数较多,且各层的功能不同,因此各层的输出是不同的。
具体地,若第l层是卷积层,则卷积层的输出可以表示为al=σ(zl)=σ(al-1*Wl+bl),其中,al表示第l层的输出,zl表示未采用激活函数处理前的输出,al-1表示l-1层的输出(即上一层的输出),σ表示激活函数(对于卷积层采用的激活函数σ为ReLU,相比其他激活函数的效果会更好),*表示卷积运算,Wl表示第l层的权值,bl表示第l层的偏置。若第l层是池化层,则池化层的输出可以表示为al=pool(al-1),其中pool是指下采样计算,该下采样计算可以选择最大池化的方法,最大池化实际上就是在n*n的样本中取最大值,作为采样后的样本值。除了最大池化之外,常用的还有平均池化,即取在n*n的样本中取各样本的平均值作为采样后的样本值。若第l层是全连接层,则计算该全连接层的输出与传统深度神经网络计算输出的方式相同,用公式表示为al=σ(zl)=σ(Wlal-1+bl),参数的含义与上述提及的解释相同,在此不再进行赘述。特别地,对于输出层L,激活函数σ采用的是softmax函数,计算输出层L输出的公式为aL=softmax(zl)=softmax(WLaL-1+bL)。根据上述卷积神经网络每一层的计算公式,可以求出卷积神经网络中每一层的输出,并最终得到输出层的输出aL,该输出即前向输出。可以理解地,步骤S111中得到的前向输出,能够反映规范中文字训练样本在卷积神经网络中的输出情况,可以根据该输出情况与客观事实(真实结果)进行比较,以根据两者之间的误差对卷积神经网络进行调整。
其中,真实结果即客观事实,例如输入的字为楷体的“太”,则前向输出的结果可能是“大”等其他结果,而真实结果就是原本输入的“太”,可以将真实结果理解为训练样本的标签值,用于计算与前向输出的误差。
本实施例中,由于卷积神经网络对规范中文字训练样本进行处理后得到的前向输出与真实结果是存在误差的,那么可以根据该误差构建对应的误差函数,以便利用该误差函数训练卷积神经网络,更新权值和偏置,以使更新后的权值和偏置在处理输入的训练样本是能够得到与真实结果相同或更相似的前向输出。具体地,可以根据实际情况构建合适的误差函数,本实施例构建的误差函数为能够较好地反映前向输出和真实结果之间的误差。
S113:根据误差函数,采用基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型,其中,在卷积神经网络的全连接层,更新权值的公式为在卷积神经网络的卷积层,更新权值的公式为Wl'表示更新后的权值,Wl表示更新前的权值,α表示学习率,m表示规范中文字训练样本,i表示输入的第i个字样本,δi,l表示输入的第i个字样本在第l层的灵敏度,ai,l-1表示输入的第i个字样本在第l-1层的输出,T表示矩阵转置运算,*表示卷积运算,rot180表示将矩阵翻转180度的运算;在卷积神经网络的全连接层,更新偏置的公式为在卷积神经网络的卷积层,更新偏置的公式为bl'表示更新后的偏置,bl表示更新前的偏置,α表示学习率,m表示规范中文字训练样本,i表示输入的第i个字样本,δi,l表示输入的第i个字样本在第l层的灵敏度,(u,v)是指进行卷积运算时获取的卷积特征图中每一个卷积特征图中的小块位置。
本实施例中,在构建合适的误差函数后,采用基于批量梯度下降的后向传播算法更新网络参数,并将更新后的卷积神经网络作为规范中文字识别模型。具体地,在后向传播过程中由于卷积神经网络各层有较大差异,因此应根据每一层的实际情况进行后向传播,对网络参数进行更新。在反向传播过程中,首先对更新后输出层的权值和偏置进行计算,采用误差函数分别对权值W和偏置b进行求偏导的运算,能够得到公共的因子,即输出层的灵敏度δL(L表示输出层),由该灵敏度δL能够依次求出第l层的灵敏度δl,根据δl求得神经网络中第l层的梯度,再利用梯度更新卷积神经网络的权值和偏置。具体地,若当前为全连接层,则其中,Wl+1表示l+1层的权值,T表示矩阵转置运算,δl+1表示l+1层的灵敏度,表示两个矩阵对应元素相乘的运算(Hadamard积),σ表示激活函数,zl表示在计算前向传播过程中未采用激活函数处理前的输出。若当前为卷积层,则其中,*表示卷积运算,rot180表示将矩阵翻转180度的运算,公式中其余参数的含义参见上文度参数含义进行解释的内容,在此不再赘述。若当前为池化层,则upsample表示上采样运算。根据上述卷积神经网络各个层求相应的灵敏度δl,根据灵敏度δl更新层l的权值和偏置。池化层没有权值和偏置,因此只需要更新全连接层和卷积层的权值和偏置即可。
具体地,步骤S113中,若当前是全连接层,则更新权值的公式表示为其中,Wl'表示更新后的权值,Wl表示更新前的权值,α表示学习率,m表示规范中文字训练样本,i表示输入的第i个字样本,δi,l表示输入的第i个字样本在第l层的灵敏度,ai,l-1表示输入的第i个字样本在第l-1层的输出,T表示矩阵转置运算,即l层权值W的梯度;更新偏置的公式表示为bl'表示更新后的偏置,bl表示更新前的偏置α表示学习率,m表示规范中文字训练样本,i表示输入的第i个字样本,δi,l表示输入的第i个字样本在第l层的灵敏度。若当前是卷积层,则更新权值的公式为更新偏置的公式为其中,(u,v)是指进行卷积运算时获取的卷积特征图中每一个卷积特征图中的小块(组成卷积特征图的元素)位置。通过采用批量梯度下降的后向传播算法,对卷积神经网络中各层的权值和偏置进行相应的更新获取规范中文字识别模型。
步骤S111-S113能够根据规范中文字训练样本在卷积神经网络得到的前向输出构建误差函数并根据该误差函数反传更新权值和偏置,能够获取规范中文字识别模型,该模型学习了规范中文字训练样本的深层特征,能够精确地识别标准规范字。
需要说明的是,本实施例中训练各个模型的步骤(S10、S20和S40)都采用了基于批量梯度下降的后向传播算法。以步骤S10获取规范中文字识别模型的步骤为例进行说明,采用基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置的过程包括如下步骤:
获取规范中文字训练样本中的一个字对应的二值化像素值特征矩阵,把该二值化像素值特征矩阵输入到卷积神经网络中得到前向输出,计算该前向输出与真实结果之间的误差,依次输入规范中文字训练样本中剩余的字对应的二值化像素值特征矩阵,计算相应的前向输出与真实结果之间误差,并累加误差得到卷积神经网络对于规范中文字训练样本的总误差,采用总误差进行一次基于梯度下降的反向传播算法,更新网络的权值和偏置,重复上述计算总误差和采用总误差更新网络的权值和偏置的过程,直到误差小于停止迭代阈值ε时,结束该循环,得到更新好的权值和偏置,即得到规范中文字识别模型。
采用基于批量梯度下降的后向传播算法能够将所有规范中文字训练样本在卷积神经网络训练时产生的误差都进行反传更新,保证产生的所有误差都能对网络进行调整和更新,能够全面地训练卷积神经网络。采用基于批量梯度下降的后向传播算法能够提高模型训练的有效性,使得训练获取的规范中文字识别模型拥有精确的识别能力。
在一实施例中,如图5所示,步骤S30中,采用调整中文手写字识别模型识别待测试中文字样本,获取识别结果与真实结果不符的出错字,把所有出错字作为出错字训练样本,具体包括如下步骤:
S31:将待测试中文字样本输入到调整中文手写字识别模型,获取待测试中文字样本中每一个字在调整中文手写字识别模型中的输出值。
本实施例中,采用调整中文手写字识别模型对待测试中文字样本进行识别,待测试中文字样本中包含若干中文字。在中文字库中,常用的中文字大概有三千多个,在调整中文手写字识别模型的输出层应设置中文字库中每一个字与输入的待测试中文字样本相似程度的概率值,该概率值为待测试中文字样本中每一字在调整中文手写字识别模型中的输出值,具体可以是通过softmax函数实现。简单地说,当输入“我”字时,在调整中文手写字识别模型中将会获取其与中文字库中每一个字对应的输出值(用概率表示),如与中文字库中“我”对应的输出值为99.5%,其余字的输出值加起来为0.5%。通过设置待测试中文字样本,在经过调整中文手写字识别模型识别后的与中文字库中每一个字对应的输出值,可以根据该输出值得到合理的识别结果。
S32:选取每一字对应的输出值中的最大输出值,根据最大输出值获取每一字的识别结果。
本实施例中,选择每一字对应的所有输出值中的最大输出值,根据该最大输出值即可获取该字的识别结果。可以理解地,输出值直接反映了输入的待测试中文字样本中的字与中文字库中每一个字的相似程度,而最大输出值则表明待测试字样本最接近中文字库中的某个字,则可以根据该最大输出值对应的字即为该字的识别结果,如输入“我”字最后输出的识别结果为“我”。
S33:根据识别结果,获取识别结果与真实结果不符的出错字,把所有出错字作为出错字训练样本。
本实施例中,将得到的识别结果与真实结果(客观事实)作比较,将比较识别结果与真实结果不符的出错字作为出错字训练样本。可以理解地,该识别结果只是待测试中文字训练样本在调整中文手写字识别模型识别出来的结果,与真实结果相比有可能是不相同的,反映了该模型在识别的精确度上仍有不足,而这些不足可以通过出错字训练样本进行优化,以达到更精确的识别效果。
步骤S31-S33根据待测试中文字样本中每一个字在调整中文手写字识别模型中的输出值,从输出值中选择能够反映字间相似程度的最大输出值;再通过最大输出值得到识别结果,并根据识别结果得到出错字训练样本,为后续利用出错字训练样本进一步优化识别精确度提供了重要的技术前提。
在一实施例中,在步骤S10之前,即在获取规范中文字训练样本的步骤之前,该手写模型训练方法还包括如下步骤:初始化卷积神经网络,其中,卷积神经网络初始化的权值满足公式 nl表示在第l层输入的训练样本的样本个数,S()表示方差运算,Wl表示第l层的权值,表示任意,l表示卷积神经网络中的第l层。
卷积神经网络中包括各层之间各个神经元连接的权值和偏置,这些权值和偏置决定卷积神经网络的识别效果。
本实施例中,初始化卷积神经网络,该初始化操作即设置卷积神经网络中权值和偏置的初始值。具体地,设Cl的卷积神经网络中第l层的卷积,由卷积神经网络的性质可知Cl=Wlxl+bl,其中,Wl表示第l层的权值,xl表示第l层输入的用于初始化的训练样本,bl表示第l层的偏置。则Cl的方差可求得为S(Cl)=nlS(Wlxl),其中,S()表示方差运算,nl表示在第l层输入的训练样本的样本个数。在卷积神经网络进行训练时,权值的均值过大可能导致梯度过大,而无法有效找到误差函数的极小值,因此此处将权值W设为满足均值0的情况,则上述Cl的方差表达式可进一步写为S(Cl)=nlS(Wl)E((xl)2),其中,E()表示数学期望运算。
特别地,卷积神经网络中卷积层采用的激活函数为ReLU(Rectified LinearUnit,中文名称为线性整流函数),又称修正线性单元,是一种人工神经网络中常用的激活函数,通常指代以斜坡函数及其变种为代表的非线性函数。由激活函数ReLU能够得到xl=ReLU(Cl-1)和将这两个式子代入到上述Cl的方差表达式S(Cl)=nlS(Wl)E((xl)2),得到在卷积神经网络训练时应尽量保持方差一致,才不会导致方差在训练过程中变得越来越大或越来越小,导致梯度收敛得过快或过慢,从而出现无法有效找到误差函数的极小值或训练的速度过慢的问题。因此,为了使方差保持一致,由上式可知,权值应满足 表示任意,则根据该式可以相应地设置卷积神经网络的权值。偏置在初始设置时可以设置为较小的值,如设置在区间[-0.3,0.3]之间。--这种初始化参数的方法适用于卷积神经网络,其他神经网络用这种不一定适合。
合理地初始化卷积神经网络可以使网络在初期有较灵活的调整能力,可以在训练过程中对网络进行有效的调整,能够快速有效地找到误差函数的极小值,有利于卷积神经网络的更新和调整,使得基于卷积神经网络进行模型训练获取的模型在进行中文手写字识别时具备精确的识别效果。
本实施例所提供的手写模型训练方法中,根据式 初始化卷积神经网络的权值,用较小的值如区间[-0.3,0.3]初始化偏置,采用该初始化的方式能够快速有效地找到误差函数的极小值,有利于卷积神经网络的更新和调整。对待处理中文字训练样本进行归一化处理并进行二类值的划分,获取二值化像素值特征矩阵,并将特征矩阵对应的字作为规范中文字训练样本,能够显著缩短训练规范中文字识别模型的时长。根据规范中文字训练样本在卷积神经网络得到的前向输出构建误差函数并根据该误差函数反传更新权值和偏置,能够获取规范中文字识别模型,该模型学习了规范中文字训练样本的深层特征,能够精确地识别标准规范字。接着通过非规范中文字对规范中文字识别模型进行调整性的更新,使得更新后获取的调整中文手写字识别模型在具备识别规范中文手写字能力的前提下,通过训练更新的方式学习非规范中文字的深层特征,使得调整中文手写字识别模型能够较好地识别非规范中文手写字。接着,根据待测试中文字样本中每一个字在调整中文手写字识别模型中的输出值,从输出值中选择能够反映字间相似程度的最大输出值,利用最大输出值得到识别结果,并根据识别结果得到出错字训练样本,并将所有出错字作为出错字训练样本输入到调整中文手写字识别模型中进行训练更新,获取目标中文手写字识别模型。采用出错字训练样本可以在很大程度上消除原本训练过程中产生的过度学习和过度削弱带来的不利影响,能够进一步优化识别准确率。此外,本实施例所提供的手写模型训练方法中,各个模型训练时采用的是基于批量梯度下降的后向传播算法,采用批量梯度下降能够保证对模型中参数的充分更新,对训练样本在训练过程中产生的误差都进行反向传播更新,全面地根据产生的误差进行参数更新,提高所获取的模型的识别准确率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出与实施例中手写模型训练方法一一对应的手写模型训练装置的原理框图。如图6所示,该手写模型训练装置包括规范中文字识别模型获取模块10、调整中文手写字识别模型获取模块20、出错字训练样本获取模块30和目标中文手写字识别模型获取模块40。其中,规范中文字识别模型获取模块10、调整中文手写字识别模型获取模块20、出错字训练样本获取模块30和目标中文手写字识别模型获取模块40的实现功能与实施例中手写模型训练方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。
规范中文字识别模型获取模块10,用于基于待处理中文字训练样本中每个字的像素值特征矩阵,获取规范中文字训练样本,采用规范中文字训练卷积神经网络,并基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型。
调整中文手写字识别模型获取模块20,用于获取非规范中文字训练样本并采用非规范中文字训练规范中文字识别模型,采用基于批量梯度下降的后向传播算法更新规范中文字识别模型的权值和偏置,获取调整中文手写字识别模型。
出错字训练样本获取模块30,用于获取待测试中文字样本,采用调整中文手写字识别模型识别待测试中文字样本,获取识别结果与真实结果不符的出错字,把所有出错字作为出错字训练样本。
目标中文手写字识别模型获取模块40,用于采用出错字训练样本训练调整中文手写字识别模型,并基于批量梯度下降的后向传播算法更新调整中文手写字识别模型的权值和偏置,获取目标中文手写字识别模型。
优选地,规范中文字识别模型获取模块10包括归一化像素值特征矩阵获取单元101、规范中文字训练样本获取单元102、前向输出获取单元111、误差函数构建单元112和规范中文字识别模型获取单元113。
归一化像素值特征矩阵获取单元101,用于获取待处理中文字训练样本中每个字的像素值特征矩阵,将像素值特征矩阵中每个像素值进行归一化处理,获取每个中文字的归一化像素值特征矩阵,其中,归一化处理的公式为MaxValue为每个中文字的像素值特征矩阵中像素值的最大值,MinValue为每个中文字的像素值特征矩阵中像素值的最小值,x为归一化前的像素值,y为归一化后的像素值。
规范中文字训练样本获取单元102,用于将每个中文字的归一化像素值特征矩阵中的像素值划分为两类像素值,基于两类像素值建立每个中文字的二值化像素值特征矩阵,将每个中文字的二值化像素特征矩阵组合作为规范中文字训练样本。
前向输出获取单元111,用于将规范中文字训练样本输入到卷积神经网络中,获取规范中文字训练样本在卷积神经网络中的前向输出。
规范中文字识别模型获取单元113,用于根据误差函数,采用基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型,其中,在卷积神经网络的全连接层,更新权值的公式为在卷积神经网络的卷积层,更新权值的公式为Wl'表示更新后的权值,Wl表示更新前的权值,α表示学习率,m表示规范中文字训练样本,i表示输入的第i个字样本,δi,l表示输入的第i个字样本在第l层的灵敏度,ai,l-1表示输入的第i个字样本在第l-1层的输出,T表示矩阵转置运算,*表示卷积运算,rot180表示将矩阵翻转180度的运算;在卷积神经网络的全连接层,更新偏置的公式为在卷积神经网络的卷积层,更新偏置的公式为bl'表示更新后的偏置,bl表示更新前的偏置,α表示学习率,m表示规范中文字训练样本,i表示输入的第i个字样本,δi,l表示输入的第i个字样本在第l层的灵敏度,(u,v)是指进行卷积运算时获取的卷积特征图中每一个卷积特征图中的小块位置。
优选地,出错字训练样本获取模块30包括模型输出值获取单元31、模型识别结果获取单元32和出错字训练样本获取单元33。
模型输出值获取单元31,用于将待测试中文字样本输入到调整中文手写字识别模型,获取待测试中文字样本中每一个字在调整中文手写字识别模型中的输出值。
模型识别结果获取单元32,用于选取每一字对应的输出值中的最大输出值,根据最大输出值获取每一字的识别结果。
出错字训练样本获取单元33,用于根据识别结果,获取识别结果与真实结果不符的出错字,把所有出错字作为出错字训练样本。
优选地,该手写模型训练装置还包括初始化模块50,用于初始化卷积神经网络,其中,卷积神经网络初始化的权值满足公式 nl表示在第l层输入的训练样本的样本个数,S()表示方差运算,Wl表示第l层的权值,l表示卷积神经网络中的第l层。
图7示出本实施例中手写字识别方法的一流程图。该手写字识别方法可应用在银行、投资和保险等机构配置的计算机设备,用于对手写中文字进行识别,达到人工智能目的。如图7所示,该手写字识别方法包括如下步骤:
S50:获取待识别中文字,采用目标中文手写字识别模型识别待识别中文字,获取待识别中文字在目标中文手写字识别模型中的输出值,目标中文手写字识别模型是采用上述手写模型训练方法获取到的。
其中,待识别中文字是指要进行识别的中文字。
本实施例中,获取待识别中文字将待识别中文字输入到目标中文手写字识别模型中进行识别,获取待识别中文字在目标中文手写字识别模型中的输出值,一个待识别中文字对应有三千多个(具体数量以中文字库为准)输出值,可以基于该输出值确定该待识别中文字的识别结果。具体地,待识别中文字具体是采用计算机能够直接识别的二值化像素值特征矩阵表示。
S60:根据输出值和预设的中文语义词库获取目标概率输出值,基于目标概率输出值获取待识别中文字的识别结果。
其中,预设的中文语义词库是指预先设置好的基于词频的描述中文词语间语义关系的词库。例如,在该中文语义词库中对于“X阳”这两个字的词,“太阳”出现的概率为30.5%,“大阳”出现的概率为0.5%,剩余的如“骄阳”等“X阳”的两个字的词出现的概率之和为69%。目标概率输出值是结合输出值和预设的中文语义词库,得到的用于获取待识别中文字的识别结果的概率值。
具体地,采用输出值和预设的中文语义词库获取目标概率输出值包括如下步骤:(1)选取待识别中文字中每一字对应的输出值中最大值作为第一概率值,根据第一概率值获取待识别中文字初步的识别结果。(2)根据该初步的识别结果和中文语义词库获取待识别字的向左语义概率值和向右语义概率值。可以理解地,对于一文本,该文本中的字是有先后顺序的,如“红X阳”,则对于“X”字而言,有向左向右两个方向词语“红X”和“X阳”对应的概率值,即向左语义概率值和向右语义概率值。(3)分别设置待识别中文字中每一字对应的输出值的权值、向左语义概率值的权值和向右语义概率值的权值。具体地,可以赋予待识别中文字中每一字对应的输出值0.4的权值,赋予向左语义概率值0.3的权值,赋予0.3向右语义概率值的权值。(4)根据上述设置的各个权值分别乘以各自对应的概率值得到各个加权运算后的概率值,将各个加权运算后的概率值相加得到目标概率输出值(目标概率输出值有多个,具体个数可以按中文字库为准),并选取目标概率输出值中最大值对应的字作为待识别中文字的识别结果。实际上,可以先选取输出值中,数值最大的前5个概率值,该前5个概率值代表最有可能的5个字(识别结果),只对这5字结合中文语义词库算出目标概率输出值,则目标概率输出值就只有5个,可以大大提高识别的效率。通过结合输出值和预设的中文语义词库,可以得到精确的识别结果。可以理解地,对于单个字(非文本)的识别,则可以根据输出值中最大值直接得到相应的识别结果即可,而不必加入基于中文语义的识别。
步骤S50-S60,采用目标中文手写字识别模型识别待识别中文字,结合输出值和预设的中文语义词库获取待识别中文字的识别结果。采用该目标中文手写字识别模型本身拥有较高的识别精确度,再结合中文语义词库进一步提高中文手写的识别准确率。
本发明实施例所提供的手写字识别方法中,将待识别中文字输入到目标中文手写字识别模型中进行识别,并结合预设的中文语义词库获取识别结果。采用该目标中文手写字识别模型对中文手写字进行识别时,可以得到精确的识别结果。
图8示出与实施例中手写字识别方法一一对应的手写字识别装置的原理框图。如图8所示,该手写字识别装置包括输出值获取模块60和识别结果获取模块70。其中,输出值获取模块60和识别结果获取模块70的实现功能与实施例中手写字识别方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。
手写字识别装置包括输出值获取模块60,用于获取待识别中文字,采用目标中文手写字识别模型识别待识别中文字,获取待识别中文字在目标中文手写字识别模型中的输出值;目标中文手写字识别模型是采用手写模型训练方法获取到的。
识别结果获取模块70,用于根据输出值和预设的中文语义词库获取目标概率输出值,基于目标概率输出值获取待识别中文字的识别结果。
本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现实施例中手写模型训练方法,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现实施例中手写模型训练装置的各模块/单元的功能,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现实施例中手写字识别方法中各步骤的功能,为避免重复,此处不一一赘述。或者,该计算机程序被处理器执行时实现实施例中手写字识别装置中各模块/单元的功能,为避免重复,此处不一一赘述。
图9是本发明一实施例提供的计算机设备的示意图。如图9所示,该实施例的计算机设备80包括:处理器81、存储器82以及存储在存储器82中并可在处理器81上运行的计算机程序83,该计算机程序83被处理器81执行时实现实施例中的手写模型训练方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器81执行时实现实施例中手写模型训练装置中各模型/单元的功能,为避免重复,此处不一一赘述。或者,该计算机程序被处理器81执行时实现实施例中手写字识别方法中各步骤的功能,为避免重复,此处不一一赘述。或者,该计算机程序被处理器81执行时实现实施例中手写字识别装置中各模块/单元的功能。为避免重复,此处不一一赘述。
计算机设备80可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可包括,但不仅限于,处理器81、存储器82。本领域技术人员可以理解,图9仅仅是计算机设备80的示例,并不构成对计算机设备80的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器81可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器82可以是计算机设备80的内部存储单元,例如计算机设备80的硬盘或内存。存储器82也可以是计算机设备80的外部存储设备,例如计算机设备80上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器82还可以既包括计算机设备80的内部存储单元也包括外部存储设备。存储器82用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器82还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种手写模型训练方法,其特征在于,包括:
基于待处理中文字训练样本中每个字的像素值特征矩阵,获取规范中文字训练样本,采用所述规范中文字训练卷积神经网络,并基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型;
获取非规范中文字训练样本并采用所述非规范中文字训练所述规范中文字识别模型,采用基于批量梯度下降的后向传播算法更新所述规范中文字识别模型的权值和偏置,获取调整中文手写字识别模型;
获取待测试中文字样本,采用所述调整中文手写字识别模型识别所述待测试中文字样本,获取识别结果与真实结果不符的出错字,把所有所述出错字作为出错字训练样本;
采用所述出错字训练样本训练所述调整中文手写字识别模型,并基于批量梯度下降的后向传播算法更新调整中文手写字识别模型的权值和偏置,获取目标中文手写字识别模型。
2.根据权利要求1所述的手写模型训练方法,其特征在于,所述基于待处理中文字训练样本中每个字的像素值特征矩阵,获取规范中文字训练样本,包括:
获取待处理中文字训练样本中每个字的像素值特征矩阵,将所述像素值特征矩阵中每个像素值进行归一化处理,获取每个中文字的归一化像素值特征矩阵,其中,归一化处理的公式为MaxValue为每个中文字的像素值特征矩阵中像素值的最大值,MinValue为每个中文字的像素值特征矩阵中像素值的最小值,x为归一化前的像素值,y为归一化后的像素值;
将每个中文字的归一化像素值特征矩阵中的像素值划分为两类像素值,基于所述两类像素值建立每个中文字的二值化像素值特征矩阵,将每个中文字的二值化像素特征矩阵组合作为规范中文字训练样本。
3.根据权利要求1所述的手写模型训练方法,其特征在于,所述采用所述规范中文字训练卷积神经网络,并基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型,包括:
将规范中文字训练样本输入到卷积神经网络中,获取所述规范中文字训练样本在所述卷积神经网络中的前向输出;
根据所述误差函数,采用基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型,其中,在所述卷积神经网络的全连接层,更新权值的公式为在所述卷积神经网络的卷积层,更新权值的公式为Wl'表示更新后的权值,Wl表示更新前的权值,α表示学习率,m表示规范中文字训练样本,i表示输入的第i个字样本,δi,l表示输入的第i个字样本在第l层的灵敏度,ai,l-1表示输入的第i个字样本在第l-1层的输出,T表示矩阵转置运算,*表示卷积运算,rot180表示将矩阵翻转180度的运算;在所述卷积神经网络的全连接层,更新偏置的公式为在所述卷积神经网络的卷积层,更新偏置的公式为bl'表示更新后的偏置,bl表示更新前的偏置,α表示学习率,m表示规范中文字训练样本,i表示输入的第i个字样本,δi,l表示输入的第i个字样本在第l层的灵敏度,(u,v)是指进行卷积运算时获取的卷积特征图中每一个卷积特征图中的小块位置。
4.根据权利要求1所述的手写模型训练方法,其特征在于,所述采用调整中文手写字识别模型识别待测试中文字样本,获取识别结果与真实结果不符的出错字,把所有所述出错字作为出错字训练样本,包括:
将待测试中文字样本输入到调整中文手写字识别模型,获取所述待测试中文字样本中每一个字在所述调整中文手写字识别模型中的输出值;
选取每一所述字对应的输出值中的最大输出值,根据所述最大输出值获取每一所述字的识别结果;
根据识别结果,获取识别结果与真实结果不符的出错字,把所有所述出错字作为出错字训练样本。
6.一种手写字识别方法,其特征在于,包括:
获取待识别中文字,采用目标中文手写字识别模型识别所述待识别中文字,获取所述待识别中文字在所述目标中文手写字识别模型中的输出值;所述目标中文手写字识别模型是采用权利要求1-5任一项所述手写模型训练方法获取到的;
根据所述输出值和预设的中文语义词库获取目标概率输出值,基于所述目标概率输出值获取所述待识别中文字的识别结果。
7.一种手写模型训练装置,其特征在于,包括:
规范中文字识别模型获取模块,用于基于待处理中文字训练样本中每个字的像素值特征矩阵,获取规范中文字训练样本,采用所述规范中文字训练卷积神经网络,并基于批量梯度下降的后向传播算法更新卷积神经网络的权值和偏置,获取规范中文字识别模型;
调整中文手写字识别模型获取模块,用于获取非规范中文字训练样本并采用所述非规范中文字训练所述规范中文字识别模型,采用基于批量梯度下降的后向传播算法更新所述规范中文字识别模型的权值和偏置,获取调整中文手写字识别模型;
出错字训练样本获取模块,用于获取待测试中文字样本,采用所述调整中文手写字识别模型识别所述待测试中文字样本,获取识别结果与真实结果不符的出错字,把所有所述出错字作为出错字训练样本;
目标中文手写字识别模型获取模块,用于采用所述出错字训练样本训练所述调整中文手写字识别模型,并基于批量梯度下降的后向传播算法更新调整中文手写字识别模型的权值和偏置,获取目标中文手写字识别模型。
8.一种手写字识别装置,其特征在于,包括:
输出值获取模块,用于获取待识别中文字,采用目标中文手写字识别模型识别所述待识别中文字,获取所述待识别中文字在所述目标中文手写字识别模型中的输出值;所述目标中文手写字识别模型是采用权利要求1-5任一项所述手写模型训练方法获取到的;
识别结果获取模块,用于根据所述输出值和预设的中文语义词库获取目标概率输出值,基于所述目标概率输出值获取所述待识别中文字的识别结果。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述手写模型训练方法的步骤;或者,所述处理器执行所述计算机程序时实现如权利要求6所述手写字识别方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述手写模型训练方法的步骤;或者,所述处理器执行所述计算机程序时实现如权利要求6所述手写字识别方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810564639.0A CN108985442B (zh) | 2018-06-04 | 2018-06-04 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
PCT/CN2018/094248 WO2019232855A1 (zh) | 2018-06-04 | 2018-07-03 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810564639.0A CN108985442B (zh) | 2018-06-04 | 2018-06-04 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108985442A CN108985442A (zh) | 2018-12-11 |
CN108985442B true CN108985442B (zh) | 2023-04-18 |
Family
ID=64540010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810564639.0A Active CN108985442B (zh) | 2018-06-04 | 2018-06-04 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108985442B (zh) |
WO (1) | WO2019232855A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795552B (zh) * | 2019-10-22 | 2024-01-23 | 腾讯科技(深圳)有限公司 | 一种训练样本生成方法、装置、电子设备及存储介质 |
CN111753802B (zh) * | 2020-07-06 | 2024-06-21 | 北京猿力未来科技有限公司 | 识别方法及装置 |
CN111967459B (zh) * | 2020-10-21 | 2021-01-22 | 北京易真学思教育科技有限公司 | 模型训练方法、图像识别方法、装置、设备及存储介质 |
CN112308058B (zh) * | 2020-10-25 | 2023-10-24 | 北京信息科技大学 | 一种手写字符的识别方法 |
CN113449726A (zh) * | 2021-07-08 | 2021-09-28 | 中国工商银行股份有限公司 | 文字比对及识别方法、装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105184226A (zh) * | 2015-08-11 | 2015-12-23 | 北京新晨阳光科技有限公司 | 数字识别方法和装置及神经网络训练方法和装置 |
CN106599941A (zh) * | 2016-12-12 | 2017-04-26 | 西安电子科技大学 | 基于卷积神经网络与支持向量机的手写数字识别方法 |
CN107844740A (zh) * | 2017-09-05 | 2018-03-27 | 中国地质调查局西安地质调查中心 | 一种脱机手写、印刷汉字识别方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706882B (zh) * | 2009-11-23 | 2013-04-03 | 浙江大学 | 基于嵌入式平台的神经网络模型在线训练方法 |
CN104008405A (zh) * | 2013-02-26 | 2014-08-27 | 佳能株式会社 | 手写字符识别方法和装置 |
US9014481B1 (en) * | 2014-04-22 | 2015-04-21 | King Fahd University Of Petroleum And Minerals | Method and apparatus for Arabic and Farsi font recognition |
CN103996057B (zh) * | 2014-06-12 | 2017-09-12 | 武汉科技大学 | 基于多特征融合的实时手写体数字识别方法 |
-
2018
- 2018-06-04 CN CN201810564639.0A patent/CN108985442B/zh active Active
- 2018-07-03 WO PCT/CN2018/094248 patent/WO2019232855A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105184226A (zh) * | 2015-08-11 | 2015-12-23 | 北京新晨阳光科技有限公司 | 数字识别方法和装置及神经网络训练方法和装置 |
CN106599941A (zh) * | 2016-12-12 | 2017-04-26 | 西安电子科技大学 | 基于卷积神经网络与支持向量机的手写数字识别方法 |
CN107844740A (zh) * | 2017-09-05 | 2018-03-27 | 中国地质调查局西安地质调查中心 | 一种脱机手写、印刷汉字识别方法及系统 |
Non-Patent Citations (1)
Title |
---|
曲丽娜.基于Web的联机手写汉字识别仿真系统设计.吉林工程技术师范学院学报.2018,(10),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN108985442A (zh) | 2018-12-11 |
WO2019232855A1 (zh) | 2019-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108764195B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN109086653B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN108985442B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN109086654B (zh) | 手写模型训练方法、文本识别方法、装置、设备及介质 | |
US20230037908A1 (en) | Machine learning model training method and device, and expression image classification method and device | |
CN105447498B (zh) | 配置有神经网络的客户端设备、系统和服务器系统 | |
CN109002461B (zh) | 手写模型训练方法、文本识别方法、装置、设备及介质 | |
WO2022042123A1 (zh) | 图像识别模型生成方法、装置、计算机设备和存储介质 | |
CN109034280B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN110866530A (zh) | 一种字符图像识别方法、装置及电子设备 | |
Ahmad et al. | Offline Urdu Nastaleeq optical character recognition based on stacked denoising autoencoder | |
CN108021908B (zh) | 人脸年龄段识别方法及装置、计算机装置及可读存储介质 | |
CN109948149A (zh) | 一种文本分类方法及装置 | |
CN113987236B (zh) | 基于图卷积网络的视觉检索模型的无监督训练方法和装置 | |
CN111784699B (zh) | 一种对三维点云数据进行目标分割方法、装置及终端设备 | |
CN113486175B (zh) | 文本分类方法、文本分类装置、计算机设备及存储介质 | |
US20230185998A1 (en) | System and method for ai-assisted system design | |
CN108985151B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN109034279B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN114065840A (zh) | 一种基于集成学习的机器学习模型调整方法及设备 | |
CN112183336A (zh) | 表情识别模型训练方法、装置、终端设备及存储介质 | |
Ali et al. | High Accuracy Arabic Handwritten Characters Recognition Using Error Back Propagation Artificial Neural Networks | |
US11609936B2 (en) | Graph data processing method, device, and computer program product | |
CN109086651B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN113505783B (zh) | 基于少次学习的甲骨文单字识别方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |