[发明专利]一种神经网络的4比特量化方法及系统在审
申请号: | 202010589233.5 | 申请日: | 2020-06-24 |
公开(公告)号: | CN111882058A | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 王曦辉 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/04 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王申雨 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 神经网络 比特 量化 方法 系统 | ||
1.一种神经网络的4比特量化方法,其特征在于,所述方法包括:
加载神经网络的预训练模型;
在所述预训练模型中,统计各饱和激活层satRelu的初始值;
在所述神经网络中添加伪量化节点,并利用satRelu的初始值进行神经网络的重训练,获取伪量化模型;
判断所述伪量化模型的精度是否收敛到设定的精度;
如果是,对所述伪量化模型进行推理前处理,转换为可用于推理运算的4比特的推理模型,所述推理前处理过程包括:常量折叠、二次量化以及激活等价变换;
如果否,继续进行神经网络的重训练。
2.根据权利要求1所述的一种神经网络的4比特量化方法,其特征在于,在所述预训练模型中,统计各饱和激活层satRelu的初始值的方法,包括:
将所述神经网络中所有的激活层relu替换为饱和激活层satRelu;
根据所获取的命令,获取各饱和激活层satRelu的激活值;
根据所述激活值,利用直方图统计分布数据;
选取所述直方图中位于99.999%点位的激活值作为饱和激活层satRelu中参数max的初始值,其中,satRelu定义为:
且反向传播中,satRelu对于参数max的梯度为:satRelu对于输入x的梯度为max为饱和激活层satRelu的最大值。
3.根据权利要求2所述的一种神经网络的4比特量化方法,其特征在于,在神经网络的重训练过程中,采用L2正则化的方法对参数max进行压缩。
4.根据权利要求2所述的一种神经网络的4比特量化方法,其特征在于,重训练周期≤10,参数max的取值≤1。
5.根据权利要求1所述的一种神经网络的4比特量化方法,其特征在于,在所述神经网络中添加伪量化节点,并利用satRelu的初始值进行神经网络的重训练,获取伪量化模型的方法,包括:
在神经网络的权重层之前插入权重伪量化层,且在激活层之前插入激活伪量化层;
利用公式y=quant(w)=clip(round(w*scale))/scale,对权重伪量化层进行神经网络的重训练,其中,w为权重值,n取值为4,比例系数scale为:
利用公式y=quant(x)=clip(round(x*scale))/scale,对激活伪量化层进行神经网络的重训练,其中,x为每层的激活值,max为satRelu的最大值,n取值为4,比例系数scale为:
6.根据权利要求2-4中任一所述的一种神经网络的4比特量化方法,其特征在于,进行神经网络的重训练时,反向传播过程采用直通估计器计算梯度。
7.一种神经网络的4比特量化系统,其特征在于,所述系统包括:
加载模块,用于加载神经网络的预训练模型;
统计模块,用于在所述预训练模型中,统计各饱和激活层satRelu的初始值;
重训练模块,用于在所述神经网络中添加伪量化节点,并利用satRelu的初始值进行神经网络的重训练,获取伪量化模型;
判断模块,用于判断所述伪量化模型的精度是否收敛到设定的精度;
转换模块,用于当所述伪量化模型的精度收敛到设定的精度时,对所述伪量化模型进行推理前处理,转换为可用于推理运算的4比特的推理模型,所述推理前处理过程包括:常量折叠、二次量化以及激活等价变换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010589233.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种轮胎分解机
- 下一篇:一种基因序列优化方法、装置、设备及介质