System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于软剪枝的图像分类模型压缩方法技术_技高网
当前位置: 首页 > 专利查询>云南大学专利>正文

基于软剪枝的图像分类模型压缩方法技术

技术编号:41816134 阅读:2 留言:0更新日期:2024-06-24 20:32
本发明专利技术公开了一种基于软剪枝的图像分类模型压缩方法,首先获取图像训练样本并对图像分类模型进行初始化,在软剪枝训练阶段的每一轮次训练中,计算得到当前轮次的置零率,当前轮次的每个批次训练完成后,根据置零率得到每层网络参数的更新参数数量,然后选择梯度绝对值最大的参数进行更新,其余参数不更新,每轮次训练结束后,根据置零率将绝对值最小的部分参数置零,在训练达到给定的剪枝轮次时根据预设的剪枝率对图像分类模型进行剪枝,后续则采用常规训练方式进行训练。本发明专利技术能够在网络模型训练过程中动态地调整图像分类模型的结构,在保证分类准确率的前提下实现对图像分类模型的有效压缩。

【技术实现步骤摘要】

本专利技术属于计算机视觉,更为具体地讲,涉及一种基于软剪枝的图像分类模型压缩方法


技术介绍

1、近年来,深度神经网络(dnn)引起了广泛关注,被大量应用在图像分类等领域中。然而图像分类的dnn模型通常具有数百万甚至数十亿个参数,这样复杂的大模型对计算机的cpu和gpu要求极高,且会消耗大量内存,产生巨大的计算成本。图像分类模型压缩旨在解决由于参数量过大、计算负担过重而导致的资源限制和功耗问题,其方法包括但不限于剪枝、量化、蒸馏等技术,能够实现在嵌入式设备、移动终端等资源有限环境中高效运行图像分类模型的目标。

2、传统的三阶段剪枝流程为首先训练一个原始密集的稠密网络,再根据剪枝算法的评估指标识别出网络中冗余的部分进行剪枝,最后对剪枝得到的模型进行微调。然而很多传统的剪枝算法是贪婪、激进的,很可能会造成许多重要的网络连接被错误的剪枝,从而导致大幅的性能下降,因此他们通常需要反复的剪枝、微调操作,这会导致训练过程中巨大的时间和资源消耗。近年来所提出的彩票假说给剪枝领域带来了新的观点,他们认为一个随机初始化的网络中已经包含了一个子网络,其拥有与冗余复杂网络相当的性能,这个子网络可以在训练早期,甚至是在训练之前被发现。

3、虽然已经产生了大量的训练中剪枝方法,但他们的方法或多或少都存在着一些问题。y.guo等人提出了在网络训练过程中动态维护网络结构,但是他们的方法需要额外的判别矩阵来确定最终需要保留哪些连接,在训练中需要不断更新mask矩阵。y.he等人针对结构化剪枝,在训练中允许剪枝后的过滤器进行后续的更新,但是对于每一层他们人为强加了一个固定的稀疏率,然而在深度神经网络中,每一层的参数对最终结果的影响是不同的,对于图像分类任务来说,前面的特征提取层和最后的输出分类层是比较重要的,因此这种人为对每层设置相同的剪枝率的方式明显不是最优解,m.zhu等人提出了渐进式剪枝思想,但是他们的方法是贪婪且不可恢复的,他们的方法受学习率的影响较大。随机梯度下降及其许多变体通常会在训练过程中衰减学习率,他们已经观察到,在学习率极低的情况下进行剪枝会使得后续训练步骤很难从强制权重为零导致的准确率损失中恢复过来。


技术实现思路

1、本专利技术的目的在于克服现有技术的不足,提供一种基于软剪枝的图像分类模型压缩方法,能够在网络模型训练过程中动态地调整图像分类模型的结构,在保证分类准确率的前提下实现对图像分类模型的有效压缩。

2、为了实现上述专利技术目的,本专利技术基于软剪枝的图像分类模型压缩方法包括以下步骤:

3、s1:根据图像分类模型的实际应用场景获取对应的训练样本集,每个训练样本包括图像样本和对应的标签;

4、s2:对待压缩的图像分类模型进行参数初始化,记其参数为w={wi:1≤i≤l},l+1表示图像分类模型的层数,表示第i层的参数矩阵,bi-1、bi分别表示第i-1层、第i层的神经元数量,第0层表示输入层;

5、s3:令训练轮次t=1;

6、s4:执行第t轮软剪枝训练,具体步骤包括:

7、s4.1:采用如下公式计算当前训练轮次的置零率d:

8、

9、其中,d表示预设的最终剪枝率,t表示预设的软剪枝训练轮次最大值,表示以训练轮次t为变量的单调递增函数,且

10、s4.2:将训练样本集划分为k个训练批次;

11、s4.3:令训练批次序号k=1;

12、s4.4:将当前训练批次中的图像样本输入当前图像分类模型,根据标签和图像分类结果计算得到损失函数j,然后计算得到每层参数的梯度矩阵记每个参数的梯度为

13、s4.5:对于每层的网络参数,根据当前轮次的置零率d计算出该层所要更新的参数个数ni:

14、

15、其中,|| ||0表示求取0范数;

16、s4.6:对于每层的网络参数,将参数按照梯度绝对值从大到小进行排列,选择前ni个参数作为该层在本轮次更新的参数,其梯度保持不变,将其余参数的梯度置为0;

17、s4.7:根据当前的梯度对所有网络参数进行更新;

18、s4.8:判断是否k<k,如果是,进入步骤s4.9,否则进入步骤s4.10;

19、s4.9:令k=k+1,返回步骤s4.4;

20、s4.10:将图像分类模型当前的所有参数按照其绝对值从大到小进行排列,将最后d×n个参数置为0,n表示图像分类模型中所有参数数量;

21、s5:判断是否t≤t,如果是,进入步骤s6,否则进入步骤s7;

22、s6:令t=t+1,返回步骤s4;

23、s7:根据当前图像分类模型中为0的参数对图像分类模型进行剪枝;

24、s8:令t=t+1;

25、s9:判断是否t<tmax,tmax表示网络总训练轮次,如果是,进入步骤s10,否则图像分类模型压缩结束;

26、s10:将训练样本集划分为k个训练批次,然后依次将每个训练批次中的图像样本输入当前图像分类模型,根据标签和图像分类结果计算得到损失函数j,对当前图像分类模型进行参数更新;返回步骤s8。

27、本专利技术基于软剪枝的图像分类模型压缩方法,首先获取图像训练样本并对图像分类模型进行初始化,在软剪枝训练阶段的每一轮次训练中,计算得到当前轮次的置零率,当前轮次的每个批次训练完成后,根据置零率得到每层网络参数的更新参数数量,然后选择梯度绝对值最大的参数进行更新,其余参数不更新,每轮次训练结束后,根据置零率将绝对值最小的部分参数置零,在训练达到给定的剪枝轮次时根据预设的剪枝率对图像分类模型进行剪枝,后续则采用常规训练方式进行训练。

28、本专利技术具有以下有益效果:

29、1)本专利技术摒弃了“预训练-剪枝-微调”的三阶段剪枝流程,给定网络的剪枝率,在图像分类模型训练结束后便能自动获得一个高性能的模型,减少了时间和资源的消耗。

30、2)本专利技术通过对网络训练过程中的梯度限制和增量式全局置零操作,避免了对网络重要连接的错误剪枝,能够在压缩过程中同时有效保证模型的分类准确率。

本文档来自技高网...

【技术保护点】

1.一种基于软剪枝的图像分类模型压缩方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的图像分类模型压缩方法,其特征在于,所述步骤S4.1中置零率d的计算公式如下:

3.根据权利要求1所述的图像分类模型压缩方法,其特征在于,所述步骤S4.1中置零率d计算公式如下:

4.根据权利要求1所述的图像分类模型压缩方法,其特征在于,所述步骤S4.1中置零率d计算公式如下:

5.根据权利要求1所述的图像分类模型压缩方法,其特征在于,所述软剪枝训练轮次最大值T=0.5tmax,tmax表示网络总训练轮次。

【技术特征摘要】

1.一种基于软剪枝的图像分类模型压缩方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的图像分类模型压缩方法,其特征在于,所述步骤s4.1中置零率d的计算公式如下:

3.根据权利要求1所述的图像分类模型压缩方法,其特征在于,所述步骤s4.1中置零...

【专利技术属性】
技术研发人员:王汝欣朱科翰张艺博张锦弘
申请(专利权)人:云南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1