可用于轻量级神经网络的纯整型量化方法

文档序号:25880007发布日期:2021-07-16 18:26阅读:77来源:国知局
可用于轻量级神经网络的纯整型量化方法

1.本发明涉及一种可用于轻量级神经网络的量化方法。


背景技术:

2.近年,大量工作探究了针对传统模型的量化技术。但是这些技术应用到轻量级网络时会带来较大的精度损失。比如:jacob benoit et al.quantization and training of neural networks for efficient integer

arithmetic

only inference.in cvpr,pages 2704

2713,2018在量化mobilenetv2时在imagenet数据集精度从73.03%降到0.1%;raghura krishnamoorthi.quantizing deep convolutional networks for efficient inference:a whitepaper.corr,abs/1806.08342,2018取得了2%的精度损失。为了恢复这些精度损失,很多工作采用重训练或训练时量化技术。但是这些技术很耗时,并且需要数据集支持。nagel等人提出了dfq算法来解决上面提到的问题,他们认为在权重的分布差异导致了传统量化方法在采用了深度分离卷积的模型上表现差。为此,nagel等人提出了跨层权重均衡,将权重的均衡性在不同的层之间做调整。但是这项技术只能应用在以relu作为激活函数的网络模型,但是目前大部分轻量级网络采用了relu6。直接将relu6替换为relu又会造成显著的精度损失。并且nagel等人提出的方法不适用于纯整型量化。


技术实现要素:

3.本发明要解决的技术问题是:将轻量级神经网络技术和量化技术简单地组合在一起会导致或者显著的精度下降,或者是较长的重训练时间;此外,目前很多量化方法只将权重和特征图量化,但是偏置和量化系数还是浮点数,这对asic/fpga很不友好。
4.为了解决上述技术问题,本发明的技术方案是提供了一种可用于轻量级神经网络的纯整型量化方法,其特征在于,包括以下步骤:
5.步骤1、设特征图有n个通道,n≥1,获得当前一层特征图各通道的像素值的最大值;
6.步骤2、对特征图每个通道的像素做如下处理:
7.将特征图第n个通道的每一个像素的像素值除以步骤1获得的第n个通道的最大值的t次方,t∈[0,1];
[0008]
有n组与下一层特征图的n个通道相对应的权值,每组权值由n个与当前一层特征图的n个通道相对应的权值组成,对每组权值做如下处理:
[0009]
第n组权值中的n个权值分别对应乘以步骤1获得的n个通道的像素值的最大值;
[0010]
步骤3、经过步骤2处理的特征图与经过步骤2处理的n组权值卷积后得到下一层特征图。
[0011]
优选地,当所述t=0时,没有做不均衡性转移;当所述t=1时,将当前一层特征图通道间的不均衡性全部转移到了后一层的权重。
[0012]
优选地,所述当前一层为轻量级神经网络中除最后一层外的任意一层。
[0013]
在skynet和mobilenet上分别验证了本发明提供的算法,在skynet上取得了int8无损量化,在mobilenetv2上取得了迄今最高的量化精度。
附图说明
[0014]
图1为1x1卷积做不均衡转移的示意图。
具体实施方式
[0015]
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
[0016]
发明人分析了神经网络的量化流程并对其进行建模,发现张量的均衡性可以作为量化误差的预测指标。在该指标的指引下,本发明提出了可调不均衡转移算法来优化特征图的量化误差,具体包括以下内容:
[0017]
鉴于目前的神经网络计算模式,权重可以逐通道量化,特征图只能逐层量化,因此权重的量化误差较小,但是特征图的量化误差较大。
[0018]
本发明将神经网络中当前一层特征图各通道的每一个像素的像素值除以其所在通道的像素值的最大值,再做量化就可以实现等效的逐通道量化。为了保证计算结果不变,与上述特征图做卷积的权重各通道的值要乘以对应特征图通道的像素值的最大值。这样便实现了将当前一层特征图通道间的不均衡性全部转移到了后一层的权重中。
[0019]
但是在实际情况中,将特征图的通道间不均匀性全部转移并非最优解。为了调节不均衡性转移的程度,本发明额外添加了一个超参数不均衡性转移系数t,在上述步骤中,特征图各通道的每个像素的像素值除以其所在通道的像素值的最大值的t次方,其中t的范围是0到1。当t=0时,相当于没有做不均衡性转移;当t=1时,相当于前文提到的将全部不均衡性转移。通过调节t,本发明可以得到最优的量化精度。这种操作适用于任何网络模型、任意卷积核大小。
[0020]
图1给出了一个1x1卷积做不均衡转移的示意图,虚线圈出的张量共享同一个量化系数。a1的每个通道的每个像素的像素值分别除以各自通道的像素值的最大值,而后w2对应通道乘以这个最大值,这样计算结果没有别改变,但是a1的均衡性大大增加。与此同时,权重的均衡性没有显著的下降。因此可以降低特征图的量化误差,进而提升模型量化后的精度。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1