神经网络模型的知识蒸馏方法及装置与流程

文档序号:36699830发布日期:2024-01-16 11:35阅读:15来源:国知局
神经网络模型的知识蒸馏方法及装置与流程

本申请涉及计算机信息,具体而言,本申请涉及一种神经网络模型的知识蒸馏方法及装置。


背景技术:

1、神经网络模型是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统。

2、为了防止模型过拟合,通常会在模型训练过程中,执行神经元的随机关闭处理(dropout),而由于dropout在训练过程中会随机关闭部分神经元,使得模型结构在训练阶段和预测阶段的不一致,从而影响模型性能。


技术实现思路

1、本申请各实施例提供了一种神经网络模型的知识蒸馏方法及装置,可以提升训练得到的原始模型的泛化性能。

2、所述技术方案如下:

3、第一方面,本申请提供了一种神经网络模型的知识蒸馏方法,所述方法包括:将训练数据输入到第一模型和第二模型中,其中,第一模型和第二模型是对原始模型进行两种关闭部分神经元处理后得到,原始模型由不同的数据处理层组成,数据处理层由多个神经元组成;确定第一模型和第二模型在目标层对于目标训练数据的第一过程数据和第二过程数据;依据第一过程数据和第二过程数据,调整第一模型和第二模型目标层的未关闭的神经元的参数,以确定训练好的原始模型。

4、进一步的,所述方法还包括:获取原始模型,并依据随机关闭神经元的方式关闭各个数据处理层的部分神经元,得到第一模型或第二模型。

5、进一步的,所述第一模型和第二模型被关闭的神经元不重复或者部分重复。

6、进一步的,所述方法还包括:获取待处理数据,并将待处理数据输入到训练好的原始模型中,确定分析结果,其中,训练好的原始模型为神经元未被关闭的模型。

7、进一步的,所述第一过程数据和第二过程数据包括目标层的神经元的参数信息和目标层的输出结果,所述依据第一过程数据和第二过程数据,调整第一模型和第二模型目标层的未关闭的神经元的参数,以确定训练好的原始模型,包括:依据第一过程数据和第二过程数据进行知识蒸馏,调整第一模型和第二模型目标层的未关闭的神经元的参数,所述知识蒸馏包括神经元的参数信息的蒸馏和目标层的输出结果的蒸馏;依据对第一模型和第二模型的各数据处理层的调整,确定训练好的原始模型。

8、进一步的,所述依据第一过程数据和第二过程数据进行知识蒸馏,调整第一模型和第二模型目标层的未关闭的神经元的参数,包括:依据第一模型的第一输出结果和第二模型的第二输出结果进行交叉熵或相对熵分析,以确定第一模型的目标层的未关闭的神经元的第一参数调整量和第二模型的目标层的未关闭的神经元的第二参数调整量;按照第一参数调整量对第一模型的参数进行调整;按照第二参数调整量对第二模型的参数进行调整。

9、进一步的,所述原始模型为基于自注意力机制的架构模型,目标层包括与多种注意力方案对应的层节点,所述层节点由神经元组成,神经元包括与注意力方案对应的查询矩阵、键矩阵和值矩阵中的数据。

10、进一步的,所述方法还包括:依据原始模型生成第三模型,并将训练数据输入到第三模型中;确定第三模型在目标层的第三过程数据;所述依据第一过程数据和第二过程数据,调整第一模型和第二模型目标层的未关闭的神经元的参数,以确定训练好的原始模型,包括:依据第一过程数据、第二过程数据和第三过程数据,调整第一模型、第二模型和第三模型的目标层的未关闭的神经元的参数,以确定训练好的原始模型。

11、进一步的,所述方法还包括:确定第一模型和第二模型对于目标训练数据的第一结果数据和第二结果数据;依据第一结果数据、第二结果数据和目标训练数据的目标标注数据进行知识蒸馏,调整第一模型和第二模型各层的未关闭的神经元的参数,以确定训练好的原始模型。

12、第二方面,本申请提供了一种神经网络模型的知识蒸馏装置,所述装置包括:训练数据输入模块,用于将训练数据输入到第一模型和第二模型中,其中,第一模型和第二模型是对原始模型进行两种关闭部分神经元处理后得到,原始模型由不同的数据处理层组成,数据处理层由多个神经元组成;过程数据获取模块,用于确定第一模型和第二模型在目标层对于目标训练数据的第一过程数据和第二过程数据;原始模型训练模块,用于依据第一过程数据和第二过程数据,调整第一模型和第二模型目标层的未关闭的神经元的参数,以确定训练好的原始模型。

13、第三方面,本申请提供了一种网络设备,包括:存储器、收发机、以及处理器;其中,所述存储器,用于存储计算机程序;所述收发机,用于在所述处理器的控制下收发数据;所述处理器,用于读取所述存储器中的计算机程序并执行如第一方面或第二方面所述方法。

14、第四方面,本申请提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第二方面所述方法。

15、本申请提供的技术方案带来的有益效果是:

16、本申请的方案可以应用在神经网络模型的训练场景中,具体可以应用在针对于基于自注意力机制的架构模型(transformer架构模型)的训练场景中。模型的训练通常包括有监督的训练和无监督的训练。有监督的训练过程中通常需要采用训练数据和与训练数据对应的标注数据(或称标注结果)进行训练。是将训练数据输入到模型中进行分析得到预测结果,并依据预测结果与标注数据之间的差异进行模型的调整。而为了避免模型过拟合,通常会对模型的神经元采取随机关闭处理(dropout)的方式来进行训练处理,以防止模型过拟合。但是部分方案在进行dropout处理之后,只关注了两次dropout处理后得到的两个模型的两个输出结果的分布一致性,未关注到模型分析过程中数据分布的一致性,导致训练得到的模型的鲁棒性较差。而本申请的方案中,不仅关注了模型输出结果的一致性,还关注了模型的各个数据处理层的过程数据的一致性,从而更好保留各个神经元的特征,提升了模型的鲁棒性。

17、具体来说,本申请的方案可以对原始模型进行训练,原始模型由多个数据处理层组成,数据处理层由多个神经元组成,本方案可以依据原始模型进行两种关闭部分神经元的处理,之后得到第一模型和第二模型。将训练数据输入到第一模型和第二模型中,并获取第一模型和第二模型的同一个数据处理层(如目标层)对于相同的训练数据的第一过程数据和第二过程数据。并依据第一过程数据和第二过程数据,调整第一模型和第二模型目标层的未关闭的神经元的参数,通过对第一模型和第二模型的各个处理层的调整,确定训练好的原始模型。本申请的方案中,不仅关注了模型输出结果的一致性,还关注了模型的各个数据处理层的过程数据的一致性,从而更好保留各个神经元的特征,提升了模型的鲁棒性。



技术特征:

1.一种神经网络模型的知识蒸馏方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述第一模型和第二模型被关闭的神经元不重复或者部分重复。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述第一过程数据和第二过程数据包括目标层的神经元的参数信息和目标层的输出结果,所述依据第一过程数据和第二过程数据,调整第一模型和第二模型目标层的未关闭的神经元的参数,以确定训练好的原始模型,包括:

6.根据权利要求5所述的方法,其特征在于,所述依据第一过程数据和第二过程数据进行知识蒸馏,调整第一模型和第二模型目标层的未关闭的神经元的参数,包括:

7.根据权利要求1所述的方法,其特征在于,所述原始模型为基于自注意力机制的架构模型,目标层包括与多种注意力方案对应的层节点,所述层节点由神经元组成,神经元包括与注意力方案对应的查询矩阵、键矩阵和值矩阵中的数据。

8.根据权利要求1所述的方法,其特征在于,所述方法还包括:

9.根据权利要求1所述的方法,其特征在于,所述方法还包括:

10.一种神经网络模型的知识蒸馏装置,其特征在于,所述装置包括:


技术总结
本申请实施例提供了一种神经网络模型的知识蒸馏方法及装置,所述方法包括:将训练数据输入到第一模型和第二模型中,其中,第一模型和第二模型是对原始模型进行两种关闭部分神经元处理后得到,原始模型由不同的数据处理层组成,数据处理层由多个神经元组成;确定第一模型和第二模型在目标层对于目标训练数据的第一过程数据和第二过程数据;依据第一过程数据和第二过程数据,调整第一模型和第二模型目标层的未关闭的神经元的参数,以确定训练好的原始模型。本申请的方法可以提升模型的泛化性能。

技术研发人员:倪仕文,杨敏
受保护的技术使用者:深圳先进技术研究院
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1