一种针对深度学习分割任务的模型压缩和加速方法技术

技术编号:37124307 阅读:14 留言:0更新日期:2023-04-01 05:20
本申请提供一种针对深度学习分割任务的模型压缩和加速方法,所述方法包括获取U

【技术实现步骤摘要】
一种针对深度学习分割任务的模型压缩和加速方法


[0001]本专利技术涉及深度学习
,特别涉及一种针对深度学习分割任务的模型压缩和加速方法。

技术介绍

[0002]随着深度学习技术的蓬勃发展,涌现出许多具有高精度和强泛化能力的深度学习语义分割算法,例如Mask

RCNN、DeepLab系列和Unet等,这些算法在工业质检、自动驾驶和医学影像等领域展现出较高应用价值。但是,性能优秀的语义分割模型存在推理速度慢和参数冗余等问题,难以满足实际应用中高推理速度场景下的需求,不利于部署落地和广泛应用。
[0003]针对这些问题解决方法是通过剪枝、量化、知识蒸馏技术对大模型进行压缩,得到轻量化的小模型能够在牺牲少许精度的前提下极大的减少参数量,推理速度更快。剪枝是一项非常有效的模型压缩技术,经过模型稀疏化后剪去冗余参数,达到模型压缩和加速的目的。虽然传统观点认为减少模型参数是一种防止过拟合的方法,但是在深度学习实践中,参数较少的神经网络小模型反而会发生较严重的过拟合,表现出较差的泛化能力。

技术实现思路

[0004]本申请提供一种针对深度学习分割任务的模型压缩和加速方法,以优化现有的模型压缩和加速的方法。
[0005]所述方法包括:
[0006]获取U

net网络模型;
[0007]在所述U

net网络模型的最后一层的特征图中添加3
×
3的均值池化层得到最优教师模型;
[0008]构建损失函数
[0009]将所述最优教师模型代入所述损失函数得到目标教师模型;
[0010]获取学生模型,并对所述学生模型和所述目标教师模型进行稀疏训练处理得到压缩模型,所述稀疏训练处理包括随机掩膜处理;
[0011]对所述压缩模型以此进行至少一次微调迭代训练处理得到目标小模型。
[0012]优选的,所述随机掩膜处理包括:
[0013]对所述学生模型特征图上的每个位置的像素值随机设置为0得到第一学生模型,以此让所述学生模型通过剩余像素值不为0的部分来学习所述目标教师模型的特征。
[0014]优选的,所述稀疏训练处理还包括:
[0015]利用1
×
1卷积对所述第一学生模型进行升维处理得到第二学生模型;
[0016]通过两层3
×
3卷积让所述第二学生模型学习所述目标教师模型的表征能力得到第三学生模型;
[0017]对所述第三学生模型进行权重删除处理得到所述压缩模型。
[0018]优选的,所述对所述第三学生模型进行权重删除处理得到所述压缩模型步骤包括:
[0019]训练所述第三学生模型至模型损失不再下降,得到第四学生模型;
[0020]加载所述第四学生模型的权重;
[0021]设置剪枝率,设置剪枝通道个数为t;
[0022]对所述第四学生模型BN层的γ值取绝对值并按照从小到大排成序列;
[0023]记录序列前t个剪枝通道索引;
[0024]根据所述剪枝率并按照所述通道索引删除所述第四学生模型BN层的部分权重得到第五学生模型;
[0025]根据所述剪枝率并按照所述通道索引删除所述第五学生模型BN层相邻每个卷积层的部分权重得到第六学生模型,并保存所述第六学生模型权重的文件;
[0026]获取所述第六学生模型每个卷积层的剪枝数量和BN层的剪枝数量;
[0027]根据所述第六学生模型每个卷积层剪枝数量修改所述第六学生模型的每个卷积层的输入和输出的通道个数,根据所述第六学生模型BN层的剪枝数量修改BN层的通道个数得到压缩模型。
[0028]优选的,所述微调迭代训练处理包括:
[0029]对所述压缩模型重新训练至模型损失不再下降得到第一小模型;
[0030]获取所述第一小模型的参数量和所述第四学生模型的参数量;
[0031]判断所述第一小模型的参数量是否不大于所述第四学生模型的参数量与压缩比率的乘积;
[0032]若是,则将所述第一小模型输出作为目标小模型。
[0033]优选的,所述对所述压缩模型以此进行至少一次微调迭代训练处理得到目标小模型步骤包括:
[0034]当所述第一小模型的参数量大于所述第四学生模型的参数量与压缩比率的乘积时;
[0035]将所述第一小模型和所述最优教师模型代入所述损失函数并重复进行所述稀疏训练处理和所述微调迭代训练处理得到第二小模型;
[0036]获取所述第二小模型的参数量;
[0037]判断所述第二小模型的参数量是否不大于所述第四学生模型的参数量与压缩比率的乘积;
[0038]若是,则将所述第二小模型输出作为目标小模型;
[0039]若否,则对所述第二小模型重复进行所述稀疏训练处理和所述微调迭代训练处理直至得到小模型的参数量不大于所述第四学生模型的参数量与压缩比率的乘积。
[0040]优选的,所述损失函数包括总损失函数、L1正则化函数和特征蒸馏损失函数;
[0041]所述总损失函数公式为:
[0042]L=L
CrossEntropy
+λ∑g(γ)+αL2(S,T)+|F2‑
G
b
|;
[0043]其中,所述L
CrossEntropy
为语义分割模型常用的交叉熵损失函数,g(γ)为L1正则化函数,γ为尺度因子,L2(S,T)为特征蒸馏损失函数,λ为L1正则项的惩罚系数,α为特征蒸馏损失项的超参数系数,F2为边缘特征,G
b
为边缘标签;
卷积让所述第二学生模型学习所述目标教师模型的表征能力的流程图。
具体实施方式
[0064]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0065]图1为本申请一种针对深度学习分割任务的模型压缩和加速方法的流程图。
[0066]参考图1可知,本实施例提供一种针对深度学习分割任务的模型压缩和加速方法,所述方法包括:
[0067]S100,获取U

net网络模型。
[0068]具体的,在本实施例中,所述U

net网络模型是一种改进的FCN结构,作为一个图像语义分割网络,主要用于对医学图像进行处理,根据所述U

net网络模型获取的压缩模型可优化深度学习的效率;需要说明的是,所述U

net网络模型并非仅可针对医学图像的处理,根据不同的需求进行适应性修改,也可适用于如工业质检或自动驾驶等

[0069]所述方法还包括:
[0070]S200,在所述U
...

【技术保护点】

【技术特征摘要】
1.一种针对深度学习分割任务的模型压缩和加速方法,其特征在于,所述方法包括:获取U

net网络模型;在所述U

net网络模型的最后一层的特征图中添加3
×
3的均值池化层得到最优教师模型;构建损失函数;将所述最优教师模型代入所述损失函数得到目标教师模型;获取学生模型,并对所述学生模型和所述目标教师模型进行稀疏训练处理得到压缩模型,所述稀疏训练处理包括随机掩膜处理;对所述压缩模型以此进行至少一次微调迭代训练处理得到目标小模型。2.根据权利要求1所述的一种针对深度学习分割任务的模型压缩和加速方法,其特征在于,所述随机掩膜处理包括:对所述学生模型特征图上的每个位置的像素值随机设置为0得到第一学生模型,以此让所述学生模型通过剩余像素值不为0的部分来学习所述目标教师模型的特征。3.根据权利要求2所述的一种针对深度学习分割任务的模型压缩和加速方法,其特征在于,所述稀疏训练处理还包括:利用1
×
1卷积对所述第一学生模型进行升维处理得到第二学生模型;通过两层3
×
3卷积让所述第二学生模型学习所述目标教师模型的表征能力,得到第三学生模型;对所述第三学生模型进行权重删除处理得到所述压缩模型。4.根据权利要求3所述的一种针对深度学习分割任务的模型压缩和加速方法,其特征在于,所述对所述第三学生模型进行权重删除处理得到所述压缩模型步骤包括:训练所述第三学生模型至模型损失不再下降,得到第四学生模型;加载所述第四学生模型的权重;设置剪枝率,设置剪枝通道个数为t;对所述第四学生模型BN层的γ值取绝对值并按照从小到大排成序列;记录序列前t个剪枝通道索引;根据所述剪枝率并按照所述通道索引删除所述第四学生模型BN层的部分权重得到第五学生模型;根据所述剪枝率并按照所述通道索引删除所述第五学生模型BN层相邻每个卷积层的部分权重得到第六学生模型,并保存所述第六学生模型权重的文件;获取所述第六学生模型每个卷积层的剪枝数量和BN层的剪枝数量;根据所述第六学生模型每个卷积层剪枝数量修改所述第六学生模型的每个卷积层的输入和输出的通道个数,根据所述第六学生模型BN层的剪枝数量修改BN层的通道个数得到压缩模型。5.根据权利要求4所述的一种针对深度学习分割任务的模型压缩和加速方法,其特征在于,所述微调迭代训练处理包括:对所述压缩模型重新训练至模型损失不再下降,得到第一小模型;获取所述第一小模型的参数量和所述第四学生模型的参数量;判断所述第一小模型的参数量是否不大于所述第四学生模型的参数量与压缩比率的
乘积;若是,则将所述第一小模型输出作为目标小模型。6....

【专利技术属性】
技术研发人员:程幸福杨艺
申请(专利权)人:凌云光技术股份有限公司
类型:发明
国别省市:

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

1