一种基于相似度正则的神经网络剪枝方法技术

技术编号:36884082 阅读:20 留言:0更新日期:2023-03-15 21:23
本发明专利技术公开了一种基于相似度正则的神经网络剪枝方法。本方法为:1)对待处理的神经网络进行预训练;2)对预训练后的神经网络进行剪枝:首先设定神经网络的稀疏度为s%;然后计算神经网络参数的第s分位数,将参数绝对值小于该第s分位数的参数全局置零,得掩码m;根据所得掩码m更新所述神经网络的权重矩阵w;3)对剪枝后的神经网络进行微调。本发明专利技术通过提高网络权重矩阵与0矩阵的余弦相似度来降低输出对输入的依赖,从而提高预测的鲁棒性,这样只有少部分输入参与最终的计算,而大部分输入都被抛弃;因此,不仅稀疏网络的预测性能获得了提升,神经网络也可以实现更高的稀疏度。神经网络也可以实现更高的稀疏度。神经网络也可以实现更高的稀疏度。

【技术实现步骤摘要】
一种基于相似度正则的神经网络剪枝方法


[0001]本专利技术属于人工智能领域,是一种通过引入相似度正则化来获得改进的神经网络剪枝方法。

技术介绍

[0002]作为人工智能领域的一个分支,神经网络已经在计算机视觉、自然语言处理等领域得到了广泛应用,然而一个神经网络往往由上千万的参数构成,这为模型的训练与推理都带来了巨大的开销。因此,研究者们提出了许多模型压缩方法。在这些方法中,神经网络剪枝通过直接移除冗余权重来减少参数量,这种将预训练的密集网络经过剪枝所获得的模型被称为稀疏网络,而被移除的权重占原始权重数量的比值被标记为稀疏度。网络的稀疏度越高则参数量越小,尽管其性能也会受到一定的影响,但所需要的计算和存储开销大幅降低。因此,业内经常在算力孱弱的边缘设备上部署极稀疏网络,以提高响应速度。
[0003]为了提高稀疏网络的精度,Han等人首先在NeurIPS 2015中提出在预训练阶段应用L2正则项来简化密集网络,之后Liu等人在ICCV 2017中发现L1正则项的效果更好。一般来说,在网络剪枝前的预训练过程中应用较高的惩罚权重可以提升正则项的作用,从而使后续获得的稀疏网络表现更好,但过高的惩罚权重本身就会干扰训练过程,因此以往的工作只能设置很小的惩罚权重,导致最终对稀疏网络所产生的性能提升十分有限。

技术实现思路

[0004]针对现有技术中存在的问题,本专利技术的目的在于提供一种基于相似度正则的神经网络剪枝方法,旨在为神经网络训练中引入强力的正则化效果,从而简化后续的剪枝流程。与之前的基于范数的正则项使权重在数值上接近于0不同,本专利技术使权重在统计上相似于零。具体来说,通过提高网络权重矩阵与0矩阵的余弦相似度来降低输出对输入的依赖,从而提高预测的鲁棒性,这样只有少部分输入参与最终的计算,而大部分输入都被抛弃。对应的,被抛弃输入的权重也可以被安全地剪除。因此,不仅稀疏网络的预测性能获得了提升,神经网络也可以实现更高的稀疏度。
[0005]本专利技术的技术方案为:
[0006]一种基于相似度正则的神经网络剪枝方法,其步骤包括:
[0007]1)对待处理的神经网络进行预训练:
[0008]11)为了计算神经网络第i层的权重w
i
与0矩阵的相似度,首先对其w
i
进行标准化以消除量纲,得到标准化权重计算标准化权重与0.5矩阵(即经过正则化的0矩阵)的余弦相似度γ(w
i
),所述神经网络的层数为n层,i=1~n,n为大于1的自然数;所述神经网络为压缩特征在内部进行单项传递的神经网络;
[0009]12)将所述神经网络中所有层的余弦相似度取平均,得到所述神经网络与0矩阵的整体相似度Γ(w);然后将整体相似度Γ(w)加入所述神经网络的损失函数中,得到损失函
数其中,m为训练样本集x中的训练样本总数,y
j
为第j个训练样本x
j
的标签,CE代表交叉熵函数,λ是惩罚权重,f
w
(x
j
)为神经网络f
w
对输入训练样本x
j
的预测输出结果;
[0010]13)利用所述神经网络对应的训练样本集x训练所述神经网络,利用所得损失值生成梯度对所述神经网络的参数进行优化;
[0011]14)重复步骤11

13)多次完成对所述神经网络的预训练;
[0012]2)对预训练后的神经网络进行剪枝:首先设定神经网络的稀疏度为s%;然后计算神经网络参数的第s分位数,将参数绝对值小于该第s分位数的参数全局置零,得掩码m;根据所得掩码m更新所述神经网络的权重矩阵w;
[0013]3)对剪枝后的神经网络进行微调:
[0014]31)将神经网络的损失函数更新为
[0015]32)利用所述训练样本集x训练所述神经网络,利用所得损失值生成梯度,然后利用掩码m对所得梯度进行置零后对所述神经网络的参数进行优化;
[0016]33)重复步骤32)多次完成对所述神经网络的微调。
[0017]进一步的,所述神经网络为前馈神经网络或卷积神经网络。
[0018]进一步的,利用公式w=w

m更新所述神经网络的权重矩阵w。
[0019]进一步的,|
·
|为L1范数,‖
·
‖为L2范数,w
0.5
为内部元素均为0.5的与w同形的矩阵。
[0020]进一步的,所述神经网络为边缘设备中用于目标检测任务的Faster RCNN网络。
[0021]进一步的,所述训练样本为人脸图像,所述目标检测任务为人脸识别任务。
[0022]进一步的,所述训练样本为车辆图像,所述目标检测任务为车牌识别任务。
[0023]一种图像特征提取方法,其特征在于,将一待处理图像输入上述方法得到的神经网络进行特征提取,得到该待处理图像的特征;其中所述神经网络为CNN骨干网络。
[0024]一种人脸识别方法,其特征在于,将一待识别的人脸图像输入人脸识别模型,得到匹配的人脸;其中所述人脸识别模型采用上述方法得到的神经网络。
[0025]一种机器翻译方法,其特征在于,将一待翻译语句输入上述方法得到的神经网络进行翻译,得到该待翻译语句的翻译结果;其中所述神经网络为大规模预训练模型。
[0026]本专利技术不仅可以用于人脸识别、车牌识别的边缘计算场景中部署的目标检测任务的神经网络模型,也可以用于简化基于Transformer架构的大规模预训练语言模型,来大幅降低模型的部署成本。例如人脸识别与车牌识别系统通常被部署于小区、写字楼的入口处,摄像头、显示屏幕、推理芯片等所有组件都集中于同一套边缘设备内部。一般的,对摄像头采集到的实时图像,首先经过骨干网络进行特征提取,然后经由RPN进行候选框生成,从而实现对目标的实时框选与分类。受制于成本原因,这些边缘设备往往算力有限,但对算法的响应速度与准确率依然有着较高的要求。因此,本专利技术可应用于对特征提取中的CNN骨干网络进行剪枝操作,通过移除大量的参数从而降低模型部署对设备的算力与存储要求,同时提升响应速度,快速完成人脸的特征提取步骤,将特征图传入后续步骤以加速人脸或车牌信息的识别过程。
[0027]对大规模预训练模型而言,以机器翻译为例,用户输入的语句经过分词和降维后传入基于编码器

解码器的Transformer架构中,而其中每一个注意力模块都存在多层前馈神经网络进行特征对齐。这些前馈网络通常具备大量的冗余参数,其带来的矩阵乘法操作同样为模型部署和在线推理带来大量的计算负担。本专利技术可应用于对这些前馈神经网络进行稀疏化,使得机器翻译服务的提供者在相同的硬件条件下更快地完成线上推理与翻译结果展示。
[0028]场景应用举例:
[0029]本专利技术主要改变了神经网络训练时的损失函数。对一个n层的神经网络来说,在训练时应用优化目标如下:
[0030][00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于相似度正则的神经网络剪枝方法,其步骤包括:1)对待处理的神经网络进行预训练:11)对神经网络第i层的权重w
i
进行标准化以消除量纲,得到标准化权重计算标准化权重与0.5矩阵(即经过正则化的0矩阵)的余弦相似度γ(w
i
),所述神经网络的层数为n层,i=1~n,n为大于1的自然数;所述神经网络为压缩特征在内部进行单项传递的神经网络;12)将所述神经网络中所有层的余弦相似度取平均,得到所述神经网络与0矩阵的整体相似度Γ(w);然后将整体相似度Γ(w)加入所述神经网络的损失函数中,得到损失函数其中,m为训练样本集x中的训练样本总数,y
j
为第j个训练样本x
j
的标签,CE代表交叉熵函数,λ是惩罚权重,f
w
(x
j
)为神经网络f
w
对输入训练样本x
j
的预测输出结果;13)利用所述神经网络对应的训练样本集x训练所述神经网络,利用所得损失值生成梯度对所述神经网络的参数进行优化;14)重复步骤11

13)多次完成对所述神经网络的预训练;2)对预训练后的神经网络进行剪枝:首先设定神经网络的稀疏度为s%;然后计算神经网络参数的第s分位数,将参数绝对值小于该第s分位数的参数全局置零,得掩码m;根据所得掩码m更新所述神经网络的权重矩阵w;3)对剪枝后的神经网络进行微调:31)将神经网络的损失函数更新为32)利用所述训练样本集x训练所述神经网络,利用所得损失值生...

【专利技术属性】
技术研发人员:陈小军王少璞熊刚赵振东丁阳阳李晓颖
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:

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

1