基于元迁移学习的迭代随机剪枝方法及系统

文档序号:37516871发布日期:2024-04-01 14:28阅读:12来源:国知局
基于元迁移学习的迭代随机剪枝方法及系统

本发明属于神经网络,具体涉及一种基于元迁移学习的迭代随机剪枝方法及系统。


背景技术:

1、深度学习是人工智能领域的一种代表性技术,其典型网络模型为深度神经网络,在图像处理、语音识别、自动驾驶等领域已经取得了重大突破。然而,深度学习网络模型也存在着一些缺陷,如网络参数量大、计算复杂、占用硬件资源高等,这使得模型在嵌入式可移动设备的部署上面临着较大的困难与挑战。因此,学者们广泛研究了深度学习模型压缩与加速的方法,以应对深度神经网络在实际应用中的资源消耗和运行效率问题,主要方法包括参数量化、低秩分解、知识蒸馏、紧凑网络设计和网络剪枝等。其中,网络剪枝方法能够删除模型中冗余的参数,有效降低网络复杂度,从而实现压缩模型的目的,且能在一定程度上缓解过拟合问题,因此应用最为广泛。

2、现有的剪枝方法是在训练数据量较大且数据集较完备的情况下进行的,然而在实际应用场景中,并不能保证有足够数量的标记数据可用,并且在该场景下对训练得到的网络模型使用一般的剪枝方法,其效果往往不尽人意,不能达到常规的性能。因此,近年来,已经有专家学者着手于研究小样本场景下的模型压缩方法。基于此,本发明提出了一种基于元迁移学习的迭代随机剪枝方法及系统。


技术实现思路

1、本发明针对上述现有技术的不足,提出一种基于元迁移学习的迭代随机剪枝方法及系统,目的在于在小样本场景下,运用元学习和迁移学习的优势,提高卷积神经网络的准确率,同时利用迭代随机剪枝方法,有效降低网络参数量,实现压缩模型的目的。

2、为了实现上述发明目的,本发明采用的技术方案如下:

3、一种基于元迁移学习的迭代随机剪枝方法,包括如下步骤:

4、s1、利用大规模数据集对卷积神经网络进行预训练,得到良好初始化的权重参数;

5、s2、利用小样本数据集对经过微调迁移后的网络进行元训练,学习特征;

6、s3、对元训练后的网络权重进行迭代随机剪枝,以减少模型参数量;

7、s4、利用小样本数据集对经过剪枝后的网络进行测试;

8、s5、对经过测试后的网络进行重训练,并恢复部分已删除的权重以恢复网络模型的准确率。

9、作为优选方案,所述步骤s1中,预训练过程包括以下步骤:

10、s11、选择网络模型,对权重参数w进行随机初始化,在大规模数据集d上预训练模型,例如imagenet上的卷积神经网络,然后计算损失l:

11、

12、其中,l(y,f(x))表示交叉熵损失。在训练过程中,利用梯度下降法更新权重w,则更新后的权重w':

13、

14、s12、确定需要训练的网络层。由于后续的小样本数据集中包含不同的分类目标,因此需要舍弃网络最后的分类器部分,同时冻结前面所有的卷积层,维持权重参数;

15、s13、重新训练模型,恢复模型的准确率。

16、作为优选方案,所述步骤s2中,元训练过程包括以下步骤:

17、s21、得到预训练的网络后,对其进行元训练。在这个阶段,模型会从小样本训练集ttrain中随机采样一组元任务t进行学习,t满足分布p(t),将每个元任务划分为支持集和查询集

18、s22、初始化新的网络分类器,将其作为元学习的基学习器(base-learner)θ,遍历支持集中的每个任务,计算相应的损失值,利用梯度下降法更新基学习器参数θ1:

19、

20、其中,θ1'为更新后的基学习器参数,α为学习率,为关于θ1的损失值。

21、s23、从冻结的卷积层中分出一部分作为元学习器(meta-learner)φ。φ中的参数是可学习的,其他层则保持不变。然后再对查询集进行前向测试,计算φ相应的测试损失值并更新其权重参数θ2。值得注意的是,在更新θ2时,使用的是和之和,更新后的权重θ2'为:

22、

23、作为优选方案,所述步骤s3中,迭代随机剪枝过程,包括以下步骤:

24、s31、在执行剪枝前,先对模型进行几个epochs的元训练,以生成相对较好的初始化,为网络创建一个二进制的掩码矩阵m,则每一层的权重参数可以表示为:

25、θt'=θt*m

26、其中,θt为第t个卷积层经过剪枝前的权重参数,θt'为经过剪枝后的参数,*为hadamard积,代表权重的保留与删除;

27、s32、将剪枝分为多次执行,每一次都按照p比例随机抽取m中的值置零,得到稀疏矩阵;

28、s33、利用小样本训练集ttrain对网络进行重训练,恢复模型准确率,直至收敛。

29、作为优选方案,所述步骤s4中,测试过程,包括以下步骤:

30、对网络进行测试,选择测试集ttest,将其划分为支持集和查询集利用训练经过剪枝后的模型,然后通过测试模型对目标任务的快速适应能力。

31、作为优选方案,所述步骤s5中,重训练过程,包括以下步骤:

32、计算模型在剪枝前后的准确率下降值δacc。对于某一较小值ε,如果准确率下降过高而导致δacc>ε,则恢复部分已删除权重,最后再对模型进行重训练恢复准确率。

33、本发明还提供一种基于元迁移学习的迭代随机剪枝系统,基于上述任一项所述的神经网络剪枝方法,所述神经网络剪枝系统包括:

34、迁移学习模块,用于利用大规模数据集对卷积神经网络进行预训练,得到良好初始化的权重参数;

35、元学习模块,用于利用小样本数据集对经过微调迁移后的网络进行元训练,学习特征;

36、剪枝模块,用于对元训练后的网络权重进行迭代随机剪枝,以减少模型参数量;

37、测试模块,用于利用小样本数据集对经过剪枝后的网络进行测试;

38、微调模块,用于对经过测试后的网络进行重训练,并恢复部分已删除的权重以恢复网络模型的准确率。

39、与现有技术相比,本发明的优点如下:

40、1、本发明同时兼顾了迁移学习和元学习的优势,迁移学习能够将大规模数据集中学习的知识和经验来帮助学习新任务,从而节省训练时间和提高模型性能。元学习能够学习一个通用的学习策略,使得该策略可以在未知的任务上快速适应和学习。迁移学习和元学习能够使模型更快地收敛,并达到更高的准确率。

41、2、本发明采用迭代随机剪枝的方法,能够在小样本数据集上,有效降低模型的参数量,同时缓解模型过拟合的问题,提高了准确率。而在现有的网络剪枝方法中,大多是在训练数据充足时(大规模数据集上)进行的,模型能够探索足够的空间,形成策略网络来适应任务,此时剪枝方法能够准确判断出哪些权重是重要的,哪些权重是冗余的。然而,在小样本的情况下,支持集所有样本的数量最多只有几百个,不足以支撑整个模型的探索,因此普通的剪枝方法难以评估网络权重的重要性,并且在这些剪枝方法训练下的分类网络在处理查询集时性能往往较差。而采用本发明迭代随机剪枝的方法能够避免对模型结构重要性的计算,直接使模型产生稀疏结构,从而降低模型的参数量,从而实现压缩模型的目的。

42、3、本发明能够提高模型的准确率,同时降低模型的参数量。经仿真实验表明,在miniimagenet数据集上resnet-12模型和4conv模型的剪枝率分别达到了42.04%和38.39%,且准确率相较于基准方法更高;在omniglot数据集上resnet-12模型和4conv模型的剪枝率分别达到了51.63%和56.25%,且准确率能得到提高。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1