【技术实现步骤摘要】
一种卷积神经网络的剪枝处理方法、数据处理方法及设备
本申请涉及机器学习领域,尤其涉及一种卷积神经网络的剪枝处理方法、数据处理方法及设备。
技术介绍
近年来,卷积神经网络大量应用在计算机视觉(如,图像分类、目标检测、视频分析等)、机器翻译、语音识别等领域中,然而随着卷积神经网络技术的发展,其网络结构的设计愈发复杂,导致卷积神经网络的模型较大、计算复杂度较高,这限制了卷积神经网络在移动设备(如,手机)、可穿戴设备等计算能力和存储空间有限的硬件资源上的应用。因此,为了将卷积神经网络应用到计算资源受限的小型移动设备上,需要对其进行压缩和加速,一种常见的模型压缩方法是对卷积神经网络进行剪枝处理。剪枝是通过减少卷积层中卷积核的数量(也可称为通道数)来减少模型大小和降低模型计算复杂度。一种常用的剪枝方法是使用静态的通道控制因子来决定各个卷积核的重要性,其训练过程主要是:首先为卷积神经网络设置或添加通道控制因子,该通道控制因子用一维向量表示,该一维向量里的每个元素与该卷积神经网络的一个卷积核对应,每个元素的取值用于表征对应卷积核的重要性;之后训练卷积神经网络的通道控制因子,根据该通道控制因子的取值删除不重要的卷积核(即剪枝),最后迭代训练剪枝后的卷积神经网络。上述这种传统的剪枝方法是一种永久删除通道的剪枝方法,通过该方法可以获得一个“静态”的卷积神经网络,该剪枝后的卷积神经网络忽略了不同输入数据对网络参数和容量的不同需求,实际上,卷积核的重要性在很大程度上取决于输入数据。
技术实现思路
本申请实施 ...
【技术保护点】
1.一种卷积神经网络的剪枝处理方法,其特征在于,包括:/n根据目标任务确定第一子损失函数,所述第一子损失函数用于表征输入目标卷积神经网络的训练样本与输出的预测结果之间的差异,所述目标卷积神经网络为用于进行训练的卷积神经网络,所述目标卷积神经网络在针对不同训练样本的训练过程中具有不同的网络参数和损失函数,所述训练样本为训练集中的样本;/n根据通道重要性函数与动态权重得到第二子损失函数,在所述第一子损失函数的取值没有达到第一阈值的情况下,所述动态权重的取值根据所述第一子损失函数的取值得到,所述动态权重的取值与所述第一子损失函数的取值呈反相关关系;/n根据所述第一子损失函数与所述第二子损失函数得到目标损失函数;/n利用所述目标损失函数对所述目标卷积神经网络进行稀疏化训练,得到训练后的目标卷积神经网络,所述稀疏化为根据所述通道重要性函数的取值对所述目标卷积神经网络的卷积核进行剪枝。/n
【技术特征摘要】
1.一种卷积神经网络的剪枝处理方法,其特征在于,包括:
根据目标任务确定第一子损失函数,所述第一子损失函数用于表征输入目标卷积神经网络的训练样本与输出的预测结果之间的差异,所述目标卷积神经网络为用于进行训练的卷积神经网络,所述目标卷积神经网络在针对不同训练样本的训练过程中具有不同的网络参数和损失函数,所述训练样本为训练集中的样本;
根据通道重要性函数与动态权重得到第二子损失函数,在所述第一子损失函数的取值没有达到第一阈值的情况下,所述动态权重的取值根据所述第一子损失函数的取值得到,所述动态权重的取值与所述第一子损失函数的取值呈反相关关系;
根据所述第一子损失函数与所述第二子损失函数得到目标损失函数;
利用所述目标损失函数对所述目标卷积神经网络进行稀疏化训练,得到训练后的目标卷积神经网络,所述稀疏化为根据所述通道重要性函数的取值对所述目标卷积神经网络的卷积核进行剪枝。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一子损失函数与所述第二子损失函数得到目标损失函数包括:
将所述第一子损失函数与所述第二子损失函数相加,得到所述目标损失函数。
3.根据权利要求1所述的方法,其特征在于,在根据所述第一子损失函数与所述第二子损失函数得到目标损失函数之前,所述方法还包括:
根据第一相似度和第二相似度得到第三子损失函数,所述第一相似度用于表征第一训练样本被提取的特征图与第二训练样本被提取的特征图之间的相似度,所述第二相似度用于表征第一通道重要性参数与第二通道重要性参数之间的相似度,所述第一通道重要性参数为输入所述第一训练样本后获得的所述通道重要性函数的取值,所述第二通道重要性参数为输入所述第二训练样本后获得的所述通道重要性函数的取值,所述第一训练样本与所述第二训练样本为所述训练集中两个不同的样本;
所述根据所述第一子损失函数与所述第二子损失函数得到目标损失函数包括:
根据所述第一子损失函数、所述第二子损失函数及所述第三子损失函数得到所述目标损失函数。
4.根据权利要求3所述的方法,其特征在于,所述根据第一相似度和第二相似度得到第三子损失函数包括:
将所述第一相似度与所述第二相似度之间的距离函数作为所述第三子损失函数。
5.根据权利要求3-4中任一项所述的方法,其特征在于,
所述第一相似度具体用于表征所述第一训练样本被提取的特征图与第二训练样本被提取的特征图之间的余弦相似度;
所述第二相似度具体用于表征所述第一通道重要性参数与所述第二通道重要性参数之间的余弦相似度。
6.根据权利要求3-5中任一项所述的方法,其特征在于,所述根据所述第一子损失函数、所述第二子损失函数及所述第三子损失函数得到所述目标损失函数包括:
将所述第一子损失函数、所述第二子损失函数及第一乘积结果相加,得到所述目标损失函数,所述第一乘积结果为将所述第三子损失函数与第一预设系数相乘后的结果。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述动态权重的取值根据所述第一子损失函数的取值得到包括:
所述动态权重的取值由第一比值与第二预设系数相乘得到,所述第一比值为第一差值与所述第一阈值之间的比值,所述第一差值为所述第一阈值与所述第一子损失函数的取值之间的差值。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述根据通道重要性函数与动态权重得到第二子损失函数包括:
将所述通道重要性函数与所述动态权重相乘,得到所述第二子损失函数。
9.根据权利要求1-8中任一项所述的方法,其特征在于,
在所述第一子损失函数的取值达到所述第一阈值的情况下,所述动态权重的取值为零。
10.根据权利要求1-9中任一项所述的方法,其特征在于,根据目标任务确定第一子损失函数包括:
在所述目标任务为分类任务的情况下,确定交叉熵损失函数为所述第一子损失函数。
11.一种数据处理方法,其特征在于,包括:
获取与目标任务相关的输入数据;
根据所述输入数据对训练后的目标卷积神经网络进行剪枝,得到剪枝后的子网络,所述训练后的目标卷积神经网络利用目标损失函数训练得到,所述目标损失函数根据第一子损失函数及第二子损失函数得到,所述第一子损失函数根据所述目标任务确定,所述第二子损失函数根据通道重要性函数与动态权重确定,所述第一子损失函数用于表征输入所述目标卷积神经网络的训练样本与输出的预测结果之间的差异,在所述第一子损失函数的取值没有达到第一阈值的情况下,所述动态权重的取值根据所述第一子损失函数的取值得到,所述动态权重的取值与所述第一子损失函数的取值呈反相关关系,所述目标损失函数用于在所述目标卷积神经网络训练时对所述目标卷积神经网络进行稀疏化,所述稀疏化为根据所述通道重要性函数的取值对所述目标卷积神经网络的卷积核进行剪枝;
通过所述子网络对所述输入数据进行处理,得到输出数据。
12.根据权利要求11所述的方法,其特征在于,所述根据所述输入数据对训练后的目标卷积神经网络进行剪枝,得到剪枝后的子网络包括:
根据所述输入数据和剪枝率对训练后的目标卷积神经网络进行剪枝,得到剪枝后的子网络,其中,所述剪枝率为被剪枝的卷积核在所述目标神经网络中所有卷积核中所占的比例。
13.根据权利要求11-12中任一项所述的方法,其特征在于,所述动态权重的取值根据所述第一子损失函数的取值得到包括:
所述动态权重的取值由第一比值与第二预设系数相乘得到,所述第一比值为第一差值与所述第一阈值之间的比值,所述第一差值为所述第一阈值与所述第一子损失函数的取值之间的差值。
14.根据权利要求11-13中任一项所述的方法,其特征在于,在所述第一子损失函数的取值达到第一阈值的情况下,所述动态权取值为零。
15.根据权利要求11-14中任一项所述的方法,其特征在于,所述输入数据包括:
图像数据、音频数据、文本数据。
16.一种训练设备,其特征在于,包括:
第一确定模块,用于根据目标任务确定第一子损失函数,所述第一子损失函数用于表征输入目标卷积神经网络的训练样本与输出的预测结果之间的差异,所述目标卷积神经网络为用于进行训练的卷积神经网络,所述目标卷积神经网络在针对不同训练样本的训练过程中具有不同的网络参数和损失函数,所述训练样本为训练集中的样本;
第二确定模块,用于根据通道重要性函数与动态...
【专利技术属性】
技术研发人员:唐业辉,许奕星,王云鹤,许春景,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。