基于细粒度结构化稀疏的在线训练方法及系统技术方案

技术编号:33305916 阅读:50 留言:0更新日期:2022-05-06 12:15
本发明专利技术提出一种基于细粒度结构化稀疏的在线训练方法和系统,包括:基于预设学习率和权重梯度,训练稠密模型;对该稠密模型的权重进行细粒度结构化稀疏,得到稀疏掩码,并基于该稀疏掩码训练稀疏模型,且在训练该稀疏模型的过程中更新该稀疏掩码和该稀疏模型的模型权重;固定该稀疏模型的网络结构再次训练该稀疏模型,且在再次训练该稀疏模型过程中仅更新该稀疏模型的模型权重,保存完成经过再次训练的稀疏模型的模型权重和稀疏掩码作为在线训练结果。稀疏模型比稠密模型的规模小,比稠密模型的通道数也小。在部署模型时采用稀疏模型,由于稀疏模型规模小,可以有效减少计算量,达到加速模型运行速度的技术效果。达到加速模型运行速度的技术效果。达到加速模型运行速度的技术效果。

【技术实现步骤摘要】
基于细粒度结构化稀疏的在线训练方法及系统


[0001]本专利技术涉及人工智能加速计算领域和图片分类
,并特别涉及一种基于细粒度结构化稀疏的在线训练方法及系统。

技术介绍

[0002]目前深度神经网络已经在计算机视觉、自然语言处理等领域取得了巨大的成功。但随着深度神经网络的规模越来越大,参数量和计算量越来越多,制约了其在资源受限的硬件平台上的使用,如边缘端、移动端等设备。网络稀疏化技术可以通过一定的规则删减神经网络的权重,从而有效减少深度神经网络的参数量,同时仅会带来微小的精度损失。因此,网络稀疏化技术对深度神经网络应用在边缘端、移动端等场景中具有重要的意义。
[0003]目前的网络稀疏化技术聚焦于两个方面:稀疏粒度和训练方式。
[0004]在稀疏粒度方面,现有的网络稀疏化技术主要分为细粒度稀疏和粗粒度稀疏两大类。细粒度稀疏是对神经网络的不同位置的权重进行稀疏化,一般稀疏化后模型的精度损失非常小,甚至不会产生精度损失。但细粒度稀疏的稀疏方式是非结构化的,稀疏化后的模型参数对硬件并不友好,在部署时存在一些问题,会制约在硬件上的实际性能提升效果。而粗粒度稀疏是对神经网络权重的整个卷积核进行稀疏化,是一种结构化的稀疏方式,因此实际硬件部署后对性能的提升较为明显。但粗粒度稀疏的稀疏方式会在稀疏整个卷积核时丢失该卷积核中的重要权重,因此一般粗粒度稀疏后的模型精度会略低于细粒度稀疏。
[0005]在训练方式方面,现有的稀疏技术主要分为离线训练和在线训练两种方式。离线训练也称两阶段训练方式,第一个阶段训练一个稠密模型,然后根据训练得到的模型权重的值用特定的规则获得模型的稀疏结构,第二个阶段对稀疏结构的模型进行微调,最终获得稀疏后的模型权重,即第一阶段结束后获得稀疏掩码(稀疏结构),第二阶段结束后获得模型权重。在线训练也称一阶段训练方式,不需要训练稠密模型,直接训练一个稀疏模型,在训练过程中不断更新模型权重和稀疏掩码。训练结束后同时获得稀疏掩码和模型权重。相比之下,离线训练方式训练时间较长,但可能会获得相比在线训练精度较高的稀疏模型。
[0006]目前的稀疏化技术主要是针对推理阶段的模型部署进行模型性能提升。而如何利用稀疏化技术提升训练阶段的性能还没有得到很好的解决。

技术实现思路

[0007]针对上述细粒度稀疏方式精度高但性能较差、粗粒度稀疏方式性能较好但精度低的问题,本专利技术着眼于细粒度结构化稀疏技术,该技术在稀疏化时对卷积权重进行分组稀疏,如将连续4个权重作为一组,稀疏掉其中的2个权重。这种方式可以像细粒度稀疏一样保留更多重要的权重,同时稀疏化后的模型也是结构化的,对硬件部署较为友好,因此细粒度结构化稀疏技术可以兼顾精度和性能。
[0008]针对现有技术的不足,本专利技术提出一种基于细粒度结构化稀疏的在线训练方法,其中包括:
[0009]步骤1、基于预设学习率和权重梯度,训练稠密模型;
[0010]步骤2、对该稠密模型的权重进行细粒度结构化稀疏,得到稀疏掩码,并基于该稀疏掩码训练稀疏模型,且在训练该稀疏模型的过程中更新该稀疏掩码和该稀疏模型的模型权重;
[0011]步骤3、固定该稀疏模型的网络结构再次训练该稀疏模型,且在再次训练该稀疏模型过程中仅更新该稀疏模型的模型权重,保存完成经过再次训练的稀疏模型的模型权重和稀疏掩码作为在线训练结果。
[0012]所述的基于细粒度结构化稀疏的在线训练方法,其中步骤1包括基于下式训练并更新稠密模型的权重:
[0013][0014]式中模型的权重为W
dense
,学习率为l,权重的梯度为
[0015]所述的基于细粒度结构化稀疏的在线训练方法,其中步骤1中该稠密模型的稀疏掩码为全1矩阵。
[0016]所述的基于细粒度结构化稀疏的在线训练方法,其中该步骤2包括:
[0017]步骤21、获取该稠密模型的权重W
dense
和学习率l;
[0018]步骤22、对于W
dense
,使用多种预设模板分别计算每组权重在每种模板下权重绝对值的累加和,取所有预设模板中累加和最大的模板作为该组权重的稀疏掩码m,并得到稀疏权重W
unpruned
=W
dense

m,其中

表示逐元素相乘,权重中被稀疏掉的部分记录为W
pruned
=0;
[0019]步骤23、利用稀疏权重W
unpruned
执行网络的前向传播,前向传播公式为:
[0020]x
i+1
=x
i
*W
unpruned
[0021]式中x
i
为网络中第i层的输入;
[0022]步骤24、该网络执行反向传播,利用网络中第i+1层传播来的topdiff,记为计算第i层的bottomdiff,记为和权重的梯度公式为:
[0023][0024][0025]步骤25、根据权重的梯度和当前的稀疏掩码更新稀疏权重W
unpruned
和权重中被稀疏掉的部分W
pruned
,公式为:
[0026][0027][0028]判断此时是否为一个epoch的结束,若是,则执行步骤26,否则再次执行该步骤23;
[0029]步骤26、利用稀疏权重W
unpruned
和权重中被稀疏掉的部分W
pruned
对稀疏掩码进行更新,首先将W
unpruned
和W
pruned
相加得到W
dense
,然后使用所有预设模板,分别计算W
dense
中每组权重在每种预设模板下权重绝对值的累加和,取所有预设模板中累加和最大的模板作为该组权重的稀疏掩码,由此获得更新后的稀疏掩码m;
[0030]步骤27、利用稀疏掩码m更新W
unpruned
和W
pruned
,公式为
[0031]W
unpruned
=W
dense

m
[0032]W
pruned
=0
[0033]判断此时是否达到设定迭代次数,若是,则执行步骤3,否则再次该步骤23;
[0034]该步骤3包括通过下式固定稀疏掩码,更新稀疏模型权重:
[0035][0036]所述的基于细粒度结构化稀疏的在线训练方法,其中步骤1中该稠密模型为用于图像分类的卷积神经网络;该步骤3包括基于在线训练结果构建稀疏图像分类网络,以对待分类图像进行分类。
[0037]本专利技术还提出了一种基于细粒度结构化稀疏的在线训练系统,包括:
[0038]初始模块,用于以预设学习率和权重梯度,训练稠密模型;
[0039]第一训练模块,用于对该稠密模型的权重进行细粒度结构化稀疏,得到稀疏掩码,并基于该稀疏掩码训练稀疏模本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于细粒度结构化稀疏的在线训练方法,其特征在于,包括:步骤1、基于预设学习率和权重梯度,训练稠密模型;步骤2、对该稠密模型的权重进行细粒度结构化稀疏,得到稀疏掩码,并基于该稀疏掩码训练稀疏模型,且在训练该稀疏模型的过程中更新该稀疏掩码和该稀疏模型的模型权重;步骤3、固定该稀疏模型的网络结构再次训练该稀疏模型,且在再次训练该稀疏模型过程中仅更新该稀疏模型的模型权重,保存完成经过再次训练的稀疏模型的模型权重和稀疏掩码作为在线训练结果。2.如权利要求1所述的基于细粒度结构化稀疏的在线训练方法,其特征在于,步骤1包括基于下式训练并更新稠密模型的权重:式中模型的权重为W
dense
,学习率为l,权重的梯度为3.如权利要求1所述的基于细粒度结构化稀疏的在线训练方法,其特征在于,步骤1中该稠密模型的稀疏掩码为全1矩阵。4.如权利要求1所述的基于细粒度结构化稀疏的在线训练方法,其特征在于,该步骤2包括:步骤21、获取该稠密模型的权重W
dense
和学习率l;步骤22、对于W
dense
,使用多种预设模板分别计算每组权重在每种模板下权重绝对值的累加和,取所有预设模板中累加和最大的模板作为该组权重的稀疏掩码m,并得到稀疏权重W
unpruned
=W
dense

m,其中

表示逐元素相乘,权重中被稀疏掉的部分记录为W
pruned
=0;步骤23、利用稀疏权重W
unpruned
执行网络的前向传播,前向传播公式为:x
i+1
=x
i
*W
unpruned
式中x
i
为网络中第i层的输入;步骤24、该网络执行反向传播,利用网络中第i+1层传播来的topdiff,记为计算第i层的bottomdiff,记为和权重的梯度公式为:公式为:步骤25、根据权重的梯度和当前的稀疏掩码更新稀疏权重W
unpruned
和权重中被稀疏掉的部分W
pruned
,公式为:
判断此时是否为一个epoch的结束,若是,则执行步骤26,否则再次执行该步骤23;步骤26、利用稀疏权重W
unpruned
和权重中被稀疏掉的部分W
pruned
对稀疏掩码进行更新,首先将W
unpruned
和W
pruned
相加得到W
dense
,然后使用所有预设模板,分别计算W
dense
中每组权重在每种预设模板下权重绝对值的累加和,取所有预设模板中累加和最大的模板作为该组权重的稀疏掩码,由此获得更新后的稀疏掩码m;步骤27、利用稀疏掩码m更新W
unpruned
和W
pruned
,公式为W
unpruned
=W
dense

mW
pruned
=0判断此时是否达到设定迭代次数,若是,则执行步骤3,否则再次该步骤23;该步骤3包括通过下式固定稀疏掩码,更新稀疏模型权重:5.如权利要求1所述的基于细粒度结构化稀疏的在线训练方法,其特征在于,步骤1中该稠密模型为用于图像分类的卷积神经网络;该步骤3包括基于在线训练结果构建稀疏图像分类网络,以对待分类图像进行分类。6.一种基于细粒...

【专利技术属性】
技术研发人员:张蕊朱时兵王伟卓张曦珊
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

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

1