本发明涉及人工智能,具体而言,尤其涉及一种融合组正则化剪枝和重要性剪枝的人工智能模型压缩方法。
背景技术:
1、人工智能已经被成功地应用于各种不同的实际任务中,其中深度神经网络是最成功的人工智能模型之一,并在多个应用领域取得了最先进的性能。深度神经网络能够使用大规模网络从大量数据中提取有用特征,这是它能够成功的主要因素。然而,这使得深度神经网络普遍存在参数规模庞大、计算复杂等特征,从而阻碍了它在移动和嵌入式设备上的部署。随着这一问题的出现,各种网络压缩方法应运而生。
2、网络剪枝是重要的人工智能模型压缩方法,常被用于压缩深度神经网络模型,它通过去除网络中一些不重要的部分,在不影响原始精度的情况下获得更加紧凑的网络。特别是结构性剪枝,能够将网络中地冗余结构整体去除,有利于实现模型的压缩和加速。
3、现存的结构性剪枝方法主要包括基于重要性的方法和基于正则化的方法。基于重要性的方法通过一些重要性标准,对网络结构进行排序,对重要性较低的结构进行修剪。这种修剪方法需要较多的重训练来恢复因剪枝带来的精度损失,会增加大量的计算成本。基于正则化的方法能够在训练过程中对网络权重进行惩罚,将冗余的结构的权重压缩至零,并将其从网络中去除。由于这些权重很小,对网络的输出几乎没有贡献,它们的去除并不会造成大的精度损失,不需要太多的重训练就可以得到较好的精度。因此,这种方法不会增加计算成本。
4、网络剪枝是重要的人工智能模型压缩方法,其中基于组正则化的结构性剪枝方法能够有效的修剪网络模型中的冗余结构,同时实现网络模型压缩和模型加速。然而,现存的组正则化方法通常使用固定的惩罚因子将权重压缩至零,这其中存在一个不合理的假设,即假设所有权重都是同等重要的。在实际情况下,神经网络的权重往往具有不同的重要性。一些权重可能对网络的性能具有较大的贡献,而另一些权重可能对网络的性能影响较小。因此,使用相同的惩罚因子,简单地将所有权重按相同的惩罚强度压缩至零,会导致网络性能的下降。另外,惩罚因子作为超参数,它的取值缺乏通用的理论指导,通常需要根据不同的问题进行调参,需要消耗大量的时间成本和计算成本。
5、组正则化方法是专门用于结构性剪枝的正则化方法,其结构性剪枝效果已经得到了很多工作的验证。然而,现存的组正则化方法通常使用固定的惩罚因子将权重压缩至零,这其中存在一个不合理的假设,即假设所有权重都是同等重要的。这种假设与实际情况相悖,在实际情况下,神经网络的权重往往具有不同的重要性。一些权重可能对网络的性能具有较大的贡献,而另一些权重可能对网络的性能影响较小。因此,使用相同的惩罚因子,简单地将所有权重按相同的惩罚强度压缩至零,会导致网络性能的下降。另外,惩罚因子作为超参数,它的取值缺乏通用的理论指导,通常需要根据不同的问题进行调参,需要消耗大量的时间成本和计算成本。
技术实现思路
1、根据上述提出的技术问题,本发明提出了一种融合组正则化剪枝和重要性剪枝的模型压缩方法。该方法在组正则化剪枝中,根据权重组的重要性自适应地调整惩罚因子。使用自适应调整的惩罚因子,能够更合理地对网络进行剪枝,更好地保留对网络性能有重要贡献的权重组。
2、本发明采用的技术手段如下:
3、一种融合组正则化剪枝和重要性剪枝的人工智能模型压缩方法,包括:
4、s1、对深度卷积神经网络中的权重和偏置进行初始化,并初始化组正则化惩罚因子;
5、s2、将交叉熵损失函数和组正则化损失函数相加得到网络训练的总损失函数;
6、s3、根据总损失函数进行反向传播,计算损失函数的梯度,并更新网络的权重和偏置,以最小化损失函数;
7、s4、通过多次迭代的训练过程,不断优化权重和偏置,最终得到训练完善的网络参数;
8、s5、在训练结束后,对网络进行剪枝操作,压缩网络模型;
9、s6、对剪枝后的网络进行微调训练,帮助网络适应剪枝后的结构。
10、进一步地,所述步骤s1,具体包括:
11、s11、将权重和偏置从正态分布中随机采样为一个较小的值;
12、s12、对组正则化因子初始化设置为0。
13、进一步地,所述步骤s2,具体包括:
14、s21、将交叉熵损失函数表示为;
15、s22、将组正则化损失函数表示为;
16、s23、将交叉熵损失函数和组正则化损失函数相加得到网络训练的总损失函数:
17、
18、其中,表示网络中所有权重的集合,是预测的损失函数,即交叉熵损失函数,是对每个权值的非结构正则化,表示范数操作,权重衰减,是对第层组的结构化稀疏正则化项,是第层中权重组的数量;
19、s24、对采用group lasso,group lasso正则项表示为:
20、。
21、进一步地,所述步骤s3,具体包括:
22、s31、使用损失函数对网络的输出进行微分,得到损失函数对输出的梯度;
23、s32、根据链式法则依次计算每一层的梯度,直到计算出损失函数对每个参数(权重与偏置)的梯度;
24、s33、如果计算出了损失函数对每个参数的梯度,则使用优化算法来更新网络的参数。
25、进一步地,所述步骤s33中,更新网络的参数使用的优化算法为:
26、新参数 = 旧参数 - 学习率 * 参数的梯度
27、其中,学习率是一个超参数,用于控制参数更新的步长。
28、进一步地,所述步骤s5,具体包括:
29、s51、将卷积核整体的参数进行操作;
30、s52、设置一个阈值,阈值为0.0001,将小于阈值的卷积核进行去除。
31、进一步地,所述步骤s6,具体包括:
32、将剪枝后的网络进行训练,使用较小的学习率对网络模型的参数进行微小调整。
33、进一步地,所述方法能够对不同的权重组施加更加合理的惩罚因子,其中:
34、对于重要的权重组,施加较小的惩罚因子,在更新中的惩罚力度较小;
35、对于不重要的权重组,施加较大的惩罚因子,在更新中的惩罚力度较大。
36、较现有技术相比,本发明具有以下优点:
37、1、本发明提供的融合组正则化剪枝和重要性剪枝的人工智能模型压缩方法,能够显著改善网络的性能和精度,以vgg16为例在相同的训练迭代次数下,最后的精度能够提升约0.34%;以resnet18为例在相同的训练迭代次数下,最后的精度能够提升约0.28%。
38、2、本发明提供的融合组正则化剪枝和重要性剪枝的人工智能模型压缩方法,可以降低网络的计算复杂度,提高网络的计算效率,以vgg16为例与正常的vgg16网络相比,参数数量可以减少87%;以resnet18为例参数数量可以减少81%。
39、3、本发明提供的融合组正则化剪枝和重要性剪枝的人工智能模型压缩方法,能够自动地识别和调整惩罚因子的大小,无需手动调整。这样可以减少人工调参的工作量,并确保网络在训练过程中始终受到适当的正则化约束。
40、4、本发明提供的融合组正则化剪枝和重要性剪枝的人工智能模型压缩方法,可以方便地应用于现有的深度卷积神经网络训练和剪枝流程中,不需要进行大规模的改动或重新设计。这样可以节省时间和资源,使该方法更易于实施和推广。
41、综上所述,通过使用本发明提出的自适应调整组正则化惩罚因子的方法,可以有效改善深度卷积神经网络的性能和精度,减少参数数量,并简化操作流程。同时,本方法的操作简便,可以方便地应用于现有的网络训练和剪枝流程中。这些改进将为神经网络训练和人工智能模型压缩领域带来更广阔的应用前景和商业价值。