【技术实现步骤摘要】
基于细粒度结构化稀疏的在线训练方法及系统
[0001]本专利技术涉及人工智能加速计算领域和图片分类
,并特别涉及一种基于细粒度结构化稀疏的在线训练方法及系统。
技术介绍
[0002]目前深度神经网络已经在计算机视觉、自然语言处理等领域取得了巨大的成功。但随着深度神经网络的规模越来越大,参数量和计算量越来越多,制约了其在资源受限的硬件平台上的使用,如边缘端、移动端等设备。网络稀疏化技术可以通过一定的规则删减神经网络的权重,从而有效减少深度神经网络的参数量,同时仅会带来微小的精度损失。因此,网络稀疏化技术对深度神经网络应用在边缘端、移动端等场景中具有重要的意义。
[0003]目前的网络稀疏化技术聚焦于两个方面:稀疏粒度和训练方式。
[0004]在稀疏粒度方面,现有的网络稀疏化技术主要分为细粒度稀疏和粗粒度稀疏两大类。细粒度稀疏是对神经网络的不同位置的权重进行稀疏化,一般稀疏化后模型的精度损失非常小,甚至不会产生精度损失。但细粒度稀疏的稀疏方式是非结构化的,稀疏化后的模型参数对硬件并不友好,在部署时存在一些问题,会制约在硬件上的实际性能提升效果。而粗粒度稀疏是对神经网络权重的整个卷积核进行稀疏化,是一种结构化的稀疏方式,因此实际硬件部署后对性能的提升较为明显。但粗粒度稀疏的稀疏方式会在稀疏整个卷积核时丢失该卷积核中的重要权重,因此一般粗粒度稀疏后的模型精度会略低于细粒度稀疏。
[0005]在训练方式方面,现有的稀疏技术主要分为离线训练和在线训练两种方式。离线训练也称两阶段训练方式,第一个阶段训 ...
【技术保护点】
【技术特征摘要】
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.一种基于细粒...
【专利技术属性】
技术研发人员:张蕊,朱时兵,王伟卓,张曦珊,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。