[发明专利]一种离线量化工具的精度提升方法有效
申请号: | 202010137113.1 | 申请日: | 2020-03-02 |
公开(公告)号: | CN111368978B | 公开(公告)日: | 2023-03-24 |
发明(设计)人: | 唐琦;黄明飞;王海涛 | 申请(专利权)人: | 开放智能机器(上海)有限公司 |
主分类号: | G06N3/0464 | 分类号: | G06N3/0464 |
代理公司: | 上海申新律师事务所 31272 | 代理人: | 吴轶淳 |
地址: | 200233 上海市徐汇区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 离线 量化 工具 精度 提升 方法 | ||
本发明涉及深度学习领域,尤其涉及一种离线量化工具的精度提升方法。精度提升方法包括:步骤S1,处理单元对每个量化转换因子进行线性处理;步骤S2,处理单元得到所有卷积层输出的第一处理数据;步骤S3,处理单元获得卷积层输出的第二处理数据;步骤S4,根据第一处理数据和第二处理数据确定本次更新相关的量化参数,并将采用被确定的量化参数更新对应的量化转换因子;步骤S5,判断量化转换因子集中是否存在尚未被更新的量化转换因子:若是,则返回步骤S3;若否,则将更新后的量化转换因子集作为精度提升结果输出,随后结束。上述技术方案有益效果在于:进一步提高网络模型的处理精度,加快处理速度,降低经济成本。
技术领域
本发明涉及深度学习领域,尤其涉及一种离线量化工具的精度提升方法。
背景技术
随着AI技术的不断发展,目前基于深度学习的神经网络算法已经成为AI研究的主流方式。出于成本,功耗,隐私性等问题的考虑,越来越多的应用场景把AI算法的计算从云端向移动嵌入式终端设备迁移。
目前的嵌入式终端设备算力、存储资源有限,对神经网络算法模型在嵌入式终端部署时,需要采用网络模型压缩技术,而工业级使用最多的就是将浮点(Float32)的网络模型量化成整型(Int8)的网络模型。减小存储需求,提升网络模型推理速度。
Int8网络模型量化分为两种实现方案:一种是需要训练框架支持的感知量化训练,直接输出Int8网络模型,量化后的Int8网络模型精度较高,然而需要对已有的Float32网络模型进行重训练,需要大量的数据集和长时间训练支撑;另一种是在已有的Float32网络模型基础上,通过模型量化工具和少量的校准图片离线输出Int8网络模型,操作相对简单,不需要重训练,但是精度较低。
发明内容
根据现有技术中存在的上述问题,现提供一种离线量化工具的精度提升方法,用于提高深度学习模型的精度,其特征在于,采用一处理单元将预先设置的训练数据输入一网络模型,所述网络模型中包括多个依次连接的卷积层,每个所述卷积层分别用于对输入至所述卷积层的所述训练数据进行处理并得到处理数据输出,每个所述卷积层的输出端还分别连接所述处理单元;
所述处理单元获取所有所述处理数据并分别提取所述处理数据中的量化转换因子并生成一量化转换因子集,每个所述量化转换因子分别对应于一所述卷积层,所述量化转换因子集中的所述量化转换因子依据对应的所述卷积层的顺序进行排序;
所述精度提升方法包括:
步骤S1,所述处理单元对每个所述量化转换因子进行线性处理,生成多个量化参数形成一量化参数集,每个所述量化参数集分别对应于一所述量化转换因子;
步骤S2,所述处理单元将所述训练数据输入所述网络模型,控制所述网络模型以第一工作模式运行,分别得到所有所述卷积层输出的第一处理数据;
步骤S3,所述处理单元分别根据所述量化参数,再次将所述训练数据输入所述网络模型,控制所述网络模型以第二工作模式运行,获得所述卷积层输出的第二处理数据;
步骤S4,根据所述第一处理数据和所述第二处理数据确定本次更新相关的所述量化参数,并将采用被确定的所述量化参数更新对应的所述量化转换因子;
步骤S5,判断所述量化转换因子集中是否存在尚未被更新的所述量化转换因子:
若是,则返回所述步骤S3;
若否,则将更新后的所述量化转换因子集作为精度提升结果输出,随后结束。
优选的,步骤S1采用下述公式实现:
Scalem=0.75·scale+0.01·scale·m
其中,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于开放智能机器(上海)有限公司,未经开放智能机器(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010137113.1/2.html,转载请声明来源钻瓜专利网。