一种运行在ARM上的卷积神经网络字符识别方法技术

技术编号:26846521 阅读:25 留言:0更新日期:2020-12-25 13:09
一种运行在ARM上的卷积神经网络字符识别方法,包括:神经网络的权重层全部量化成2的n次幂,激活层全部量化成8位有符号整数。这种神经网络在计算中,所有的乘法运算都可以用移位运算进行代替,充分发挥了ARM处理器位运算高效的优点、摒弃了ARM浮点运算耗时长的缺点,使得复杂的神经网络计算得以在低运算能力、低功耗的嵌入式设备上部署。

【技术实现步骤摘要】
一种运行在ARM上的卷积神经网络字符识别方法
本专利技术属于人工智能领域,特别是一种运行在嵌入式设备上的整数卷积神经网络字符识别方法。
技术介绍
通常字符识别的方法分为结构特征识别、统计特征识别和深度学习特征识别三个方向。在结构特征识别中,基于字符结构特征和相交点特征的虚线,形成识别判断树实现字符识别,字符结构往往会产生较大的变化,甚至出现局部断裂粘连等复杂情况。因此采用结构特征识别的方法并没有较好的结果。在统计特征识别中,多采用八方向梯度特征和梯度方向直方图特征,并且采用支持向量机和最近邻分类两种模式识别方法。统计特征相比于结构特征更能表现出不同字符的特性,但是对分辨率很低的情形,统计特征往往很难区别相似字符。在基于深度学习的特征识别时,研究人员得到的结果相比于上面两种方法更加优秀。不同结构的卷积神经网络都取得了较好的结果。然而,在硬件设备上部署基于深度学习的识别方案时,无法同时满足识别精度和实时性两个特性,满足不了时间和精度上的双重需求。
技术实现思路
一种运行在ARM上的卷积神经网络字符识别方法,包括:S100.对输入训练完毕的卷积神经网络,设置每次量化的比例R,按从大到小排序,每次将比例为R的权值量化为2的n次幂;迭代运行上述步骤直到量化后的网络与量化前的网络错误率差别小于设定阈值;S200.输入一组校正样本集,计算权值已量化完毕的卷积神经网络每层输出的激活值。对每层的激活值进行一次性的8位有符号整数量化。进一步地,所述S100包括:S101.输入训练完毕的浮点型卷积神经网络、设定每轮量化权重的比例R;S102.根据运算速度限制和量化精度需求,确定量化权值位数b;初始化与卷积神经网络相同大小的量化标记矩阵,量化标记矩阵为全为1的矩阵Tl;S103.遍历卷积神经网络中所有权值,获得所有权值中绝对值最大的值记为max(abs(W1)),根据该值获得n2;S104.根据量化权值位数b和n2,得到全局的最小权值指数值n1;S105.根据全局的权值指数值n1、n2和权值位数b,得到量化后的权值范围P1;S106.对卷积神经网络中每一层权值按照绝对值大小进行先大后小的排序,按照量化比例R获得每一层量化阈值T1;S107.将网络中各层权值绝对值与该层的量化阈值T1相比,如果T1小于当前权值的绝对值,则将其量化为S105中P1里与其最接近的权值;否则,则该权值不变;S108.输入经步骤S107部分量化的网络与对应的标记矩阵Tl,使用训练数据集对量化网络进行前向传播,计算损失函数;S109.根据卷积神经网络反向传播算法与S108中计算的损失函数,对部分量化的网络进行逐层梯度计算;S110.将S109得到的梯度用于更新各层未量化的权值,重复S107-S109训练网络若干轮;S111.判断当前轮量化比例R,若已经达到100%则停止;否则返回S110继续执行;S112.输出权值全为2的幂次的量化神经网络。进一步地,S103中变量n2获取公式为:其中,max(abs(w1))为所有权值中绝对值最大的值。进一步地,S104中根据量化权值位数b和n2,得到全局的最小权值指数值n1的公式为:n1=n2+1-2(b-1)/2其中,n2为全局最大权值指数变量,b为量化权值位数。进一步地,S105中根据全局的权值变量指数值n1,n2和权值位数b,得到量化后的权值范围P1为:进一步地,所述S108中,对所有权值生成标记矩阵,其中未量化的权值标记为1,量化的权值标记为0。进一步地,所述S109中,使用随机梯度下降法更新权值时,按照以下公式:其中Tl为标记网络矩阵,Tl=0表示已经量化的部分,Tl=1表示还未量化的部分,即权值Wl(i,j)更新时,仅更新未被量化的权值。进一步地,所述S112输出的训练后的量化网络,权值100%由2的n次幂组成,这种网络使用移位运算进行代替乘法运算。进一步地,所述S200包括:S201.输入为权重已量化的神经网络和一组约500张的校准样本集;S202.在校准样本集上运行神经网络前向计算过程,统计网络模型中间层输出的激活值分布直方图;S203.使用不同的阈值T2将浮点激活值分布直方图截断,并映射到整数激活值分布直方图;S204.计算每个整数激活值分布与原浮点激活值分布的相对熵;S205.迭代运行S203、S204两个步骤,选择熵最少的一个整数值分布,取得相对熵最小时对应的T2值;S206.根据神经网络每层确定的T2值,算出每层激活值浮点数映射到整数值的量化系数;S207.神经网络计算时,当前层的输入按步骤S100中得到的幂次权重移位计算出激活值,该激活值再按照S206中的量化系数映射到整数;量化后的整数激活值作为后续层的输入;S208.神经网络实际推理计算时,逐层循环经过步骤S207直至到达输出层。进一步地,S203中设定饱和阈值初始值T0,将激活值里绝对值大于T0的,采用截断的方式限定为T0。进一步地,S204中衡量整数激活值分布与原浮点激活值分布之间的相似性时,采用Kullback-Leibler散度。进一步地,S206中激活值按照最小、最大线性关系映射到-127到+127之间。本专利技术与现有技术相比至少具有以下有益效果:与传统嵌入式实现的字符识别方法相比,本专利技术引入了最新的深度学习神经网络,依据大量样本自动生成识别模型,解决了传统方法中人工设置参数适应性差的问题。同时,由于神经网络的计算复杂性,部署在低功耗、低算力的嵌入式设备上时,存在计算量降低的难题。本专利技术采用逐步迭代量化的策略将卷积神经网络的权值进行2的幂次量化,在得到权值量化好的激活值进行8位整型量化,得到量化后的网络和标记矩阵,经过卷积神经网络训练,与现有技术相比,有着更高效的计算方式,在进行卷积运算时将卷积空间中的权值从高比特位的浮点数,变成了低比特位的特定权值,当表示需要对数据进行移位时,就可以将卷积层的乘加运算变成移位与加法运算,可极大加快卷积神经网络的计算速度。通过网络量化,训练,再量化,再训练的过程,可以将优秀的网络量化为低比特位表示的2的n次幂的权值网络,在保存精度的同时将时间消耗降到最低。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1为本专利技术实施例中,一种运行在ARM处理器上的卷积神经网络字符识别方法流程图;图2为本专利技术实施例中,卷积神经网络的权值量化重训练流程图;图3为本专利技术实施例中,卷积神经网络的权值逐步量化过程示意图;图4为本专利技术实施例中,卷积神经网络的激活值截断量化示意图。具体实施方式实施例1本实施例公开了一种运行在ARM上的卷积本文档来自技高网...

【技术保护点】
1.一种运行在ARM上的卷积神经网络字符识别方法,其特征在于,包括:/nS100.对输入训练完毕的卷积神经网络,设置每次量化的比例R,按从大到小排序,每次将比例为R的权值量化为2的n次幂;迭代运行上述步骤直到量化后的网络与量化前的网络错误率差别小于设定阈值;/nS200.输入一组校正样本集,计算权值已量化完毕的卷积神经网络每层输出的激活值,对每层的激活值进行一次性的8位有符号整数量化。/n

【技术特征摘要】
1.一种运行在ARM上的卷积神经网络字符识别方法,其特征在于,包括:
S100.对输入训练完毕的卷积神经网络,设置每次量化的比例R,按从大到小排序,每次将比例为R的权值量化为2的n次幂;迭代运行上述步骤直到量化后的网络与量化前的网络错误率差别小于设定阈值;
S200.输入一组校正样本集,计算权值已量化完毕的卷积神经网络每层输出的激活值,对每层的激活值进行一次性的8位有符号整数量化。


2.如权利要求1所述的一种卷积神经网络权重按照2的幂次量化的方法,其特征在于,所述S100包括:
S101.输入训练完毕的浮点型卷积神经网络、设定每轮量化权重的比例R;
S102.根据运算速度限制和量化精度需求,确定量化权值位数b;初始化与卷积神经网络相同大小的量化标记矩阵,量化标记矩阵为全为1的矩阵Tl;
S103.遍历卷积神经网络中所有权值,获得所有权值中绝对值最大的值记为max(abs(W1)),根据该值获得n2;
S104.根据量化权值位数b和n2,得到全局的最小权值指数值n1;
S105.根据全局的权值指数值n1、n2和权值位数b,得到量化后的权值范围P1;
S106.对卷积神经网络中每一层权值按照绝对值大小进行先大后小的排序,按照量化比例R获得每一层量化阈值T1;
S107.将网络中各层权值绝对值与该层的量化阈值T1相比,如果T1小于当前权值的绝对值,则将其量化为S105中P1里与其最接近的权值;否则,则该权值不变;
S108.输入经步骤S107部分量化的网络与对应的标记矩阵Tl,使用训练数据集对量化网络进行前向传播,计算损失函数;
S109.根据卷积神经网络反向传播算法与S108中计算的损失函数,对部分量化的网络进行逐层梯度计算;
S110.将S109得到的梯度用于更新各层未量化的权值,重复S107-S109训练网络若干轮;
S111.判断当前轮量化比例R,若已经达到100%则停止;否则返回S110继续执行;
S112.输出权值全为2的幂次的量化神经网络。


3.如权利要求1的一种运行在ARM上的卷积神经网络字符识别方法,其特征在于,S103中变量n2获取公式为:



其中,max(abs(W1))为所有权值中绝对值最大的值。


4.如权利要求1的一种运行在ARM上的卷积神经网络字符识别方法,其特征在于,S104中根据量化权值位数b和n2,得到全局的最小权值...

【专利技术属性】
技术研发人员:黄炎杜飞飞
申请(专利权)人:武汉卓目科技有限公司
类型:发明
国别省市:湖北;42

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

1