用于手写汉字识别的深度卷积神经网络的加速压缩方法技术

技术编号:15763809 阅读:894 留言:0更新日期:2017-07-06 02:31
本发明专利技术公开了用于手写汉字识别的深度卷积神经网络的加速压缩方法,包括步骤:构建并训练出一个用于手写汉字识别的深度卷积神经网络;采用低秩分解的策略,对所述深度卷积神经网络的卷积层进行逐层分解训练以减少计算量;采用网络剪枝的策略,去除所述深度卷积神经网络的卷积层以及全连接层的冗余连接以减少存储量;对所述深度卷积神经网络前向代码进行编写。与现有技术相比,本发明专利技术同时采用了对卷积层的低秩分解策略和对整个深度卷积神经网络的剪枝压缩策略,从而大幅度的减少深度卷积神经网络的计算量和存储量;有效的将低秩分解策略和对深度卷积神经网络的剪枝策略融合起来,从而达到整个深度卷积神经网络的有效的加速压缩效果。

Accelerated compression method of depth convolution neural network for handwritten Chinese character recognition

The invention discloses a method for accelerating the compression depth, convolutional neural network recognition of handwritten Chinese characters comprising the steps of: Construction and training of a convolutional neural network for handwritten depth Chinese characters recognition; a low rank decomposition strategy, the depth of layer volume convolutional neural network by layer decomposition training to reduce the amount of computation; using the network pruning strategy, the removal of the convolution layer depth convolutional neural network and redundant connection layer connected to reduce storage; the depth of the convolutional neural network to write code. Compared with the prior art, the invention also uses the low rank decomposition layer volume pruning strategy and the depth of convolutional neural network compression strategies, thus greatly reduce the computation and storage depth of convolutional neural network; the low rank decomposition strategy and the depth of the convolutional neural network pruning strategy fusion together, so as to achieve the depth of convolutional neural network effectively accelerate the compression effect.

【技术实现步骤摘要】
用于手写汉字识别的深度卷积神经网络的加速压缩方法
本专利技术涉及模式识别和人工智能
,尤其涉及用于手写汉字识别的深度卷积神经网络的加速压缩方法。
技术介绍
汉字源于象形文字,已经有几千年的历史,依旧是世界上使用人数最多的文字,众多的书写者,就意味着其有众多的书写风格,大量的类别以及相似字的存在,导致脱机手写汉字识别一直都是模式识别以及人工智能领域一个较难的问题。目前,脱机手写汉字识别已经被大量的运用在古代文档扫描、手写票据识别、扫描仪以及自然场景的文字识别等众多领域,现在基于传统的数据预处理,然后进行特征提取,最后在加分类的框架对于脱机手写汉字的识别方法,其性能已经达到瓶颈,然而由于最近深度卷积神经网络的兴起,把脱机手写汉字的识别率提高到了一个新的高度。然而,要想利用卷积神经网络达到一个更好的结果,人们往往直接把网络做大做深,甚至训练多个网络,然后在进行集成,虽然这样的做法可以略微可以提高网络的识别率,但是其引入的计算量和参数的存储量会急剧增加。这样一来就导致脱机手写汉字识别无法被大规模应用到实际生活中去,尤其是移动设备和嵌入式设置中。
技术实现思路
为克服现有技术的不足,针对现有技术中基于卷积神经网络的手写脱机汉字识别计算量大以及存储量大的缺点,采用低秩分解和网络剪枝的策略分别降低网络的计算量和存储量,提出用于手写汉字识别的深度卷积神经网络的加速压缩方法。本专利技术的技术方案是这样实现的:用于手写汉字识别的深度卷积神经网络的加速压缩方法,包括步骤S1:构建并训练出一个用于手写汉字识别的深度卷积神经网络;S2:采用低秩分解的策略,对所述深度卷积神经网络的卷积层进行逐层分解训练以减少计算量;S3:采用网络剪枝的策略,去除所述深度卷积神经网络的卷积层以及全连接层的冗余连接以减少存储量;S4:对所述深度卷积神经网络前向代码进行编写。进一步地,步骤S1包括步骤S11:设计所述深度卷积神经网络的结构,设置卷积层、池化层和全连接层参数,选取激活函数;S12:将训练集的数据作为深度卷积神经网络的输入,采用随机梯度下降法对深度卷积神经网络进行训练,当深度卷积神经网络在训练集上的误差完全收敛时,终止训练,保存深度卷积神经网络各个层的参数。更进一步地,步骤S11中每个卷积层与激活函数的之间以及第一个全连接层与激活函数之间添加有批归一化层,所述激活函数采用PReLU。进一步地,步骤S2包括步骤S21:通过已知低秩分解之前卷积层的计算复杂度和需要加速的倍数,计算各个低秩分解之后第一个卷积层输出特征图的数目;S22:对整个深度卷积神经网络进行逐层低秩分解训练;S23:对深度卷积神经网络进行微调。进一步地,步骤S3包括步骤S31:对已经低秩分解后的深度卷积神经网络模型进行再训练,去掉网络中的冗余连接;S32:对深度卷积神经网络的各层的剩余连接的权值进行k-means聚类;S33:对聚类所得的结果进行微调;S34:对深度卷积神经网络的层参数进行编码。进一步地,步骤S4包括步骤S41:编写卷积层的前向代码;S42:编写池化层的前向代码;S43:编写全连接层的前向代码。本专利技术的有益效果在于,与现有技术相比,本专利技术具有如下优点及有益效果:同时采用了对卷积层的低秩分解策略和对整个深度卷积神经网络的剪枝压缩策略,从而大幅度的减少深度卷积神经网络的计算量和存储量;有效的将低秩分解策略和对深度卷积神经网络的剪枝策略融合起来,从而达到整个深度卷积神经网络的有效的加速压缩效果。附图说明图1是本专利技术用于手写汉字识别的深度卷积神经网络的加速压缩方法流程图;图2是本专利技术用于手写汉字识别的深度卷积神经网络的加速压缩方法细化后的流程图;图3是本专利技术中原始卷积的示意图;图4是本专利技术中卷积层低秩分解的示意图;图5是传统的低秩分解策略的示意图;图6是本专利技术中改进后低秩分解训练的示意图;图7是本专利技术中低秩分解以及网络剪枝的整体示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1和图2,本专利技术包括以下四个过程:S1:设计并训练一个适用于脱机手写汉字识别的深度卷积神经网络;S2:根据所需加速的倍数,计算出低秩分解后第一个卷积层输出特征图的数目,然后对深度卷积神经网络的卷积层进行逐层分解以减少其计算量;S3:采用深度卷积神经网络剪枝的策略,去除深度卷积神经网络的卷积层以及全连接层的冗余连接以减少存储量;S4:对深度卷积神经网络各层编写网络的前向代码。具体来说,先设计出一个深度卷积神经网络进行训练,得到一个初始的模型,然后根据各个卷积输入输出的大小以及卷积核大小和加速的倍数,从而计算出各个要低秩分解的卷积层分解后中间层特征图的输出,再依据我们提出逐层分解的策略,对深度卷积神经网络进行逐层训练,当对深度卷积神经网络进行低秩分解之后,然后再对深度卷积神经网络各层砍掉其冗余的连接,随后对这层的参数进行聚类,进一步得到较大的压缩倍数,再对深度卷积神经网络进行微调,最后对整个深度卷积神经网络进行前向代码的编写。以下分别对本专利技术的主要步骤进行详细说明。步骤S1:设计和训练出一个用于脱机手写汉字的深度卷积神经网络。S11:设计深度卷积神经网络模型。在本专利技术中,设置的深度卷积神经网络模型结构,其输入为1×96×96,其一共包含五个卷积层,每个卷积层的卷积核大小均为3×3,卷积的步长设为1且在特征图的四周均有加一的补全,这可以使得特征图经过卷积操作后大小不发生变化;其包含四个最大池化层,其中池化核的大小3×3,其步长为2,每经过依次池化之后特征图的宽高均将减半;包含一个全连接层,其输出神经元的个数为1024;最后是一个输出层,输出3755类;其中值得说明的是,在每个卷积层和全连接层后面均接有批归一化层以及采用PReLU作为激活函数。初始网络的整体结构表示为:Input-96C3-MP3-128C3-MP3-160C3-MP3-256C3-256C3-MP3-384C3-384C3-MP3-1024FC-OutputS2:对设计好的深度卷积神经网络进行训练。训练时做分类问题,采用随机梯度下降法对深度卷积神经网络进行训练,训练时包括前向传播和反向传播两个步骤,前向网络传播网络的误差,反向传播对各个层的参数进行更新,对深度卷积神经网络的参数不断进行优化。在进行训练时,每训练一万次时,都会用此时模型将测试集的数据全测试一遍,最后取测试时获得最高结果的模型保持下来。步骤S2:根据所需加速的倍数,计算低秩分解后各个层第一个卷积层输出特征图的数目。S21:通过已知低秩分解之前卷积层的计算复杂度以及需要加速的倍数,来计算低秩分解之后第一个卷积层输出特征图的数目。原始的卷积过程如图3所示,可知某卷积层的输入输出特征图为与中C和N为输入与输出特征图的数目,H与W为输入特征图的高与宽,H′和W′为输出特征图的高和宽,卷积核为一个四维向量其中卷积核的大小为K×K,由卷积的定义可知,有其计算复杂度为:O(CNK2H′W′)。经过低秩分解之后,如图4所示,将输入特征图与卷积变成,本文档来自技高网...
用于手写汉字识别的深度卷积神经网络的加速压缩方法

【技术保护点】
用于手写汉字识别的深度卷积神经网络的加速压缩方法,其特征在于,包括步骤S1:构建并训练出一个用于手写汉字识别的深度卷积神经网络;S2:采用低秩分解的策略,对所述深度卷积神经网络的卷积层进行逐层分解训练以减少计算量;S3:采用网络剪枝的策略,去除所述深度卷积神经网络的卷积层以及全连接层的冗余连接以减少存储量;S4:对所述深度卷积神经网络前向代码进行编写。

【技术特征摘要】
1.用于手写汉字识别的深度卷积神经网络的加速压缩方法,其特征在于,包括步骤S1:构建并训练出一个用于手写汉字识别的深度卷积神经网络;S2:采用低秩分解的策略,对所述深度卷积神经网络的卷积层进行逐层分解训练以减少计算量;S3:采用网络剪枝的策略,去除所述深度卷积神经网络的卷积层以及全连接层的冗余连接以减少存储量;S4:对所述深度卷积神经网络前向代码进行编写。2.如权利要求1所述的用于手写汉字识别的深度卷积神经网络的加速压缩方法,其特征在于,步骤S1包括步骤S11:设计所述深度卷积神经网络的结构,设置卷积层、池化层和全连接层参数,选取激活函数;S12:将训练集的数据作为深度卷积神经网络的输入,采用随机梯度下降法对深度卷积神经网络进行训练,当深度卷积神经网络在训练集上的误差完全收敛时,终止训练,保存深度卷积神经网络各个层的参数。3.如权利要求2所述的用于手写汉字识别的深度卷积神经网络的加速压缩方法,其特征在于,步骤S11中每个卷积层与激活函数的之间以及第一个全连接层与激活...

【专利技术属性】
技术研发人员:肖学锋金连文杨亚锋梁凯焕常天海
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1