[发明专利]基于多粒度剪枝的网络模型压缩方法及装置在审
申请号: | 201710568710.8 | 申请日: | 2017-07-13 |
公开(公告)号: | CN107368885A | 公开(公告)日: | 2017-11-21 |
发明(设计)人: | 曾建平;王军;李志国;班华忠;朱明;张智鹏 | 申请(专利权)人: | 北京智芯原动科技有限公司 |
主分类号: | G06N3/02 | 分类号: | G06N3/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100101 北京市朝阳区北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 粒度 剪枝 网络 模型 压缩 方法 装置 | ||
1.基于多粒度剪枝的网络模型压缩方法,其特征在于,该方法包括以下一个或者两个或者三个步骤:
输入通道粒度层次剪枝步骤,采用不重要元素剪枝法,将网络模型的输入通道的粒度层次中不重要元素进行剪枝;
卷积核粒度层次剪枝步骤,采用不重要元素剪枝法,对网络模型的卷积核的粒度层次中不重要元素进行剪枝;
权重参数粒度层次剪枝步骤,采用不重要元素剪枝法,对网络模型的权重参数的粒度层次中不重要元素进行剪枝。
2.如权利要求1所述的方法,其特征在于,所述不重要元素剪枝法包括:
不重要元素的置零步骤,计算当前粒度层次中每个元素的重要度,将不重要元素对应的值置零;
剪枝微调步骤,根据训练数据微调整个网络模型;
损失判断步骤,计算微调后的网络模型的精确度损失,若所述精确度损失小于精确度损失阈值,则继续执行不重要元素的置零步骤,否则结束。
3.如权利要求2所述的方法,其特征在于,所述不重要元素的置零步骤包括:元素重要度排序步骤,统计当前粒度层次中每个待剪枝元素的权重参数向量We,计算所述待剪枝元素的重要度对所有待剪枝元素按照重要度EIVi从小到大进行升序排列,得到重要度升序集合,并计算所有待剪枝元素的重要度总和N为当前粒度层次权重参数的数量;
剪枝阈值计算步骤,根据能量剪枝率阈值EPR,计算剪枝能量EP=EIVS×EPR,统计升序集合中重要度的累计分布,选取与剪枝能量相等的累计分布所对应的重要度作为剪枝阈值;
损失函数影响量计算步骤,输入一组测试数据,计算网络的损失函数值Loss,计算损失函数影响量
置零步骤,对于当前粒度层次中每个待剪枝元素i,如果待剪枝元素的重要度EIVi小于剪枝阈值,并且损失函数影响量ELi小于0,则将该待剪枝元素i对应的值置零。
4.如权利要求2所述的方法,所述输入通道粒度层次剪枝步骤的不重要元素剪枝法的当前粒度层次为网络模型的输入通道的粒度层次;所述卷积核粒度层次剪枝步骤的不重要元素剪枝法中的当前粒度层次为网络模型的卷积核的粒度层次;所述权重参数粒度层次剪枝步骤的不重要元素剪枝法中的当前粒度层次为网络模型的权重参数的粒度层次。
5.如权利要求3所述的方法,所述能量剪枝率阈值EPR的取值范围为0.01~0.2。
6.如权利要求2所述的方法,所述精确度损失阈值的取值范围为0.01~0.1。
7.如权利要求4所述的方法,所述网络为深度学习网络;优选地,所述网络包括但不限于以下一种或者多种的组合:卷积神经网络、深度信念网络、递归神经网络。
8.基于多粒度剪枝的网络模型压缩装置,其特征在于,该装置包括以下一个或者两个或者三个模块:
输入通道粒度层次剪枝模块,用于采用不重要元素剪枝模块,将网络模型的输入通道的粒度层次中不重要元素进行剪枝;
卷积核粒度层次剪枝模块,用于采用不重要元素剪枝模块,对网络模型的卷积核的粒度层次中不重要元素进行剪枝;
权重参数粒度层次剪枝模块,用于采用不重要元素剪枝模块,对网络模型的权重参数的粒度层次中不重要元素进行剪枝。
9.如权利要求8所述的装置,其特征在于,所述不重要元素剪枝模块包括:
不重要元素的置零模块,用于计算当前粒度层次中每个元素的重要度,将不重要元素对应的值置零;
剪枝微调模块,用于根据训练数据微调整个网络模型;
损失判断模块,用于计算微调后的网络模型的精确度损失,若所述精确度损失小于精确度损失阈值,则继续执行不重要元素的置零模块,否则结束。
10.如权利要求9所述的装置,其特征在于,所述不重要元素的置零模块包括:元素重要度排序模块,用于统计当前粒度层次中每个待剪枝元素的权重参数向量We,计算所述待剪枝元素的重要度对所有待剪枝元素按照重要度EIVi从小到大进行升序排列,得到重要度升序集合,并计算所有待剪枝元素的重要度总和N为当前粒度层次权重参数的数量;剪枝阈值计算模块,用于根据能量剪枝率阈值EPR,计算剪枝能量EP=EIVS×EPR,统计升序集合中重要度的累计分布,选取与剪枝能量相等的累计分布所对应的重要度作为剪枝阈值;
损失函数影响量计算模块,用于输入一组测试数据,计算网络的损失函数值Loss,计算损失函数影响量
置零模块,用于对于当前粒度层次中每个待剪枝元素i,如果待剪枝元素的重要度EIVi小于剪枝阈值,并且损失函数影响量ELi小于0,则将该待剪枝元素i对应的值置零。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智芯原动科技有限公司,未经北京智芯原动科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710568710.8/1.html,转载请声明来源钻瓜专利网。