[发明专利]用于压缩神经网络的方法和装置有效
申请号: | 201711478743.X | 申请日: | 2017-12-29 |
公开(公告)号: | CN109993298B | 公开(公告)日: | 2023-08-08 |
发明(设计)人: | 张刚 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06N3/0495 | 分类号: | G06N3/0495;G06N3/082 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 压缩 神经网络 方法 装置 | ||
1.一种用于压缩神经网络的方法,包括:
获取待压缩的经训练后的神经网络,其中,所述神经网络的占用空间超出占用空间阈值;
从所述神经网络的各层中选取至少一层作为待压缩层;
按照待压缩层在所述神经网络中所处的层级的层级数由大到小的顺序,依次对每个待压缩层执行以下处理步骤:基于指定数目,对该待压缩层中的参数进行量化,并利用机器学习方法,基于预置的训练样本对经量化后的神经网络进行训练;
将对选取出的各个待压缩层进行所述处理步骤后所得的神经网络确定为经压缩后的神经网络,并存储所述经压缩后的神经网络;
其中,所述基于指定数目,对该待压缩层中的参数进行量化,包括:
基于该待压缩层中的参数的参数值,确定包含所述指定数目个映射值的映射值集合;对该待压缩层中的参数进行量化以将该参数置为所述映射值集合中的映射值。
2.根据权利要求1所述的方法,其中,所述从所述神经网络的各层中选取至少一层作为待压缩层,包括:
若所述神经网络包括卷积层和全连接层,则选取至少一个卷积层和/或至少一个全连接层作为待压缩层。
3.根据权利要求1所述的方法,其中,所述利用机器学习方法,基于预置的训练样本对经量化后的神经网络进行训练,包括:
执行以下量化训练操作:利用机器学习方法,基于所述训练样本对经量化后的神经网络进行训练;如果当前经训练后的神经网络的精度不低于预设精度,则停止执行所述量化训练操作;
如果当前经训练后的神经网络的精度低于所述预设精度,则扩大所述指定数目,并重新执行所述量化训练操作。
4.根据权利要求3所述的方法,其中,所述基于该待压缩层中的参数的参数值,确定包含所述指定数目个映射值的映射值集合,包括:
按照参数值大小对该待压缩层中的参数进行排序,将经排序后的参数划分成所述指定数目个参数序列;
对于每个参数序列,基于该参数序列中的参数的参数值,确定与该参数序列对应的映射值;
将所确定的与所述指定数目个参数序列分别对应的映射值生成映射值集合。
5.根据权利要求4所述的方法,其中,所述基于该参数序列中的参数的参数值,确定与该参数序列对应的映射值,包括:
若该参数序列中的参数的数量为奇数,则将该参数序列中的处于中间位置的参数的参数值确定为与该参数序列对应的映射值。
6.根据权利要求4所述的方法,其中,所述基于该参数序列中的参数的参数值,确定与该参数序列对应的映射值,还包括:
确定该参数序列中的参数的参数值的平均值,将所述平均值确定为与该参数序列对应的映射值。
7.根据权利要求4所述的方法,其中,所述对该待压缩层中的参数进行量化以将该参数的参数值置为所述映射值集合中的映射值,包括:
对于该待压缩层中的每个参数,在所述指定数目个参数序列中确定该参数所在的目标参数序列,将该参数置为所述映射值集合中的与所述目标参数对应的映射值。
8.根据权利要求3所述的方法,其中,所述扩大所述指定数目,包括:
将所述指定数目增加预设值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711478743.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:量化实现方法及相关产品
- 下一篇:数据训练方法及装置、存储介质、电子装置