CN116306868A - 一种模型的处理方法、装置及设备 - Google Patents
一种模型的处理方法、装置及设备 Download PDFInfo
- Publication number
- CN116306868A CN116306868A CN202310217203.5A CN202310217203A CN116306868A CN 116306868 A CN116306868 A CN 116306868A CN 202310217203 A CN202310217203 A CN 202310217203A CN 116306868 A CN116306868 A CN 116306868A
- Authority
- CN
- China
- Prior art keywords
- model
- teacher
- student
- target data
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title description 2
- 238000012545 processing Methods 0.000 claims abstract description 84
- 238000000034 method Methods 0.000 claims abstract description 83
- 238000013140 knowledge distillation Methods 0.000 claims abstract description 70
- 238000012549 training Methods 0.000 claims abstract description 44
- 230000006870 function Effects 0.000 claims description 44
- 238000003860 storage Methods 0.000 claims description 20
- 238000004821 distillation Methods 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 description 192
- 238000013508 migration Methods 0.000 description 39
- 230000005012 migration Effects 0.000 description 39
- 230000008569 process Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 238000012512 characterization method Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 8
- 238000013526 transfer learning Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 235000000332 black box Nutrition 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007635 classification algorithm Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本说明书实施例公开了一种模型的处理方法、装置及设备,该方法包括:将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到第一教师模型对应的第一输出数据和第二教师模型对应的第二输出数据,第一教师模型是源域的模型,第二教师模型是目标域的模型;将目标数据输入到数据选择模型中,得到第一教师模型和第二教师模型的重要性权重,并基于上述重要性权重和两个输出数据,确定目标数据对应的教师输出结果;将目标数据输入到第一学生模型中,得到目标数据对应的第一学生输出结果;基于教师输出结果、第一学生输出结果和目标数据对应的标签信息,通过预设的损失函数,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练。
Description
技术领域
本文件涉及计算机技术领域,尤其涉及一种模型的处理方法、装置及设备。
背景技术
在迁移学习中,通常需要源域的数据或者源域的白盒模型,但是,随着人们对隐私数据越来越关注,隐私保护成为组织或个人必须要考虑的问题,因此,无法获取到原始的训练数据或者无法获取到源域的模型正变得越来越普遍。黑盒迁移学习,即通过源域的模型的输出数据进行迁移学习,成为隐私保护下的一个新的研究话题。
知识蒸馏是一种将大模型或多个集成模型所获得的知识迁移到一个相对较小的模型的机制,但由于只需要用到教师模型的输出数据,因此也可以用来解决黑盒迁移学习中的相关问题,而大多数基于知识蒸馏的处理都会假设源域与目标域是相似的,基于此,由于域差异导致的负迁移问题并没有被充分考虑。为此,需要提供一种更优的黑盒迁移学习机制,并可以缓解域差异导致的负迁移等问题。
发明内容
本说明书实施例的目的是提供一种更优的黑盒迁移学习机制,并可以缓解域差异导致的负迁移等问题。
为了实现上述技术方案,本说明书实施例是这样实现的:
本说明书实施例提供的一种模型的处理方法,所述方法包括:将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到所述第一教师模型对应的第一输出数据和所述第二教师模型对应的第二输出数据,所述第一教师模型是与知识蒸馏中的所述目标域对应的源域的模型,所述第二教师模型是所述目标域的模型。将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,并基于所述第一教师模型和所述第二教师模型的重要性权重,以及所述第一输出数据和所述第一输出数据,确定所述目标数据对应的教师输出结果。将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果。基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
本说明书实施例提供的一种模型的处理装置,所述装置包括:第一模型处理模块,将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到所述第一教师模型对应的第一输出数据和所述第二教师模型对应的第二输出数据,所述第一教师模型是与知识蒸馏中的所述目标域对应的源域的模型,所述第二教师模型是所述目标域的模型。第二模型处理模块,将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,并基于所述第一教师模型和所述第二教师模型的重要性权重,以及所述第一输出数据和所述第一输出数据,确定所述目标数据对应的教师输出结果。第三模型处理模块,将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果。蒸馏训练模块,基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
本说明书实施例提供的一种模型的处理设备,所述模型的处理设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到所述第一教师模型对应的第一输出数据和所述第二教师模型对应的第二输出数据,所述第一教师模型是与知识蒸馏中的所述目标域对应的源域的模型,所述第二教师模型是所述目标域的模型。将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,并基于所述第一教师模型和所述第二教师模型的重要性权重,以及所述第一输出数据和所述第一输出数据,确定所述目标数据对应的教师输出结果。将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果。基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
本说明书实施例还提供了一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被处理器执行时实现以下流程:将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到所述第一教师模型对应的第一输出数据和所述第二教师模型对应的第二输出数据,所述第一教师模型是与知识蒸馏中的所述目标域对应的源域的模型,所述第二教师模型是所述目标域的模型。将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,并基于所述第一教师模型和所述第二教师模型的重要性权重,以及所述第一输出数据和所述第一输出数据,确定所述目标数据对应的教师输出结果。将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果。基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一种模型的处理方法实施例;
图2为本说明书一种知识蒸馏处理过程的示意图;
图3为本说明书另一种模型的处理方法实施例;
图4为本说明书又一种模型的处理方法实施例;
图5为本说明书另一种知识蒸馏处理过程的示意图;
图6为本说明书一种模型的处理装置实施例;
图7为本说明书一种模型的处理设备实施例。
具体实施方式
本说明书实施例提供一种模型的处理方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例一
如图1所示,本说明书实施例提供一种模型的处理方法,该方法的执行主体可以为终端设备或服务器等,其中的终端设备可以如手机、平板电脑等移动终端设备,还可以如笔记本电脑或台式电脑等计算机设备,或者,也可以为IoT设备(具体如智能手表、车载设备等)等,其中的服务器可以是独立的一个服务器,还可以是由多个服务器构成的服务器集群等,该服务器可以是如金融业务或网络购物业务等的后台服务器,也可以是某应用程序的后台服务器等。本实施例中以执行主体为服务器为例进行详细说明,对于执行主体为终端设备的情况,可以参见下述服务器的情况处理,在此不再赘述。该方法具体可以包括以下步骤:
在步骤S102中,将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到第一教师模型对应的第一输出数据和第二教师模型对应的第二输出数据,第一教师模型是与知识蒸馏中的目标域对应的源域的模型,第二教师模型是目标域的模型。
其中,目标域(Target Domain,也可以称为目标数据域)可以是迁移学习(或知识蒸馏)中测试样本所在的领域,目标域中的数据不存在标签或者只有少量数据存在标签等,与目标域相对应的是源域(Source Domain,也可以称为源数据域),源域可以是迁移学习(或知识蒸馏)中与测试样本不同的领域,源域中存在丰富的监督信息,源域中的数据与目标域中的数据的分布可以不同,而在实际应用中,源域中的数据与目标域中的数据的分布也可以类似或相同,具体可以根据实际情况设定。目标数据可以是任意数据,实际应用中,目标数据可以是产生的大数据中的一类数据,例如可以是自然界动植物分布的数据,具体如森林覆盖的数据,也可以是某项试验产生的数据,还可以是某业务的业务数据,具体如支付业务、转账业务等金融类业务的业务数据,具体可以包括如用户与商户之间的交易数据、用户与商户之间的关系、用户的相关信息、商户的相关信息、用户与商户交易的过程中的用户行为数据等,或者,可以是即时通讯业务的业务数据等,具体可以根据实际情况设定,本说明书实施例对此不做限定。第一教师模型可以是任意模型,且第一教师模型是属于源域的教师模型(具体如第一教师模型可以是某银行机构的教师模型等),例如第一教师模型可以是用于分类(包括二分类、多分类等)的模型,第一教师模型也可以是用于进行数据预测的模型,第一教师模型还可以是进行风险检测的模型(如针对上述业务数据的情况),第一教师模型还可以是用于进行语义分析的模型等,第一教师模型的结构可以多种多样,第一教师模型可以通过卷积神经网络构建,也可以通过分类算法构建,还可以通过ResNet构建等,具体可以根据实际情况设定,本说明书实施例对此不做限定。第二教师模型可以是属于目标域的教师模型(具体如第二教师模型可以是某互联网金融机构的教师模型等),第二教师模型也可以是任意模型,例如第二教师模型可以是用于分类、用于进行风险检测或用于进行语义分析的模型等,第二教师模型的结构可以多种多样,第二教师模型可以通过卷积神经网络、分类算法或ResNet等构建,具体可以根据实际情况设定,本说明书实施例对此不做限定,第一教师模型可以与第二教师模型具有相同的模型结构。知识蒸馏可以是一种将具有许多参数的深度模型或集成模型(即教师模型)的知识迁移到相对较小的浅层模型(即学生模型)的机制,由于知识蒸馏只利用了源域的教师模型的输出数据,因此,也可以看作是黑盒迁移学习的一种方式,知识蒸馏是一种简单而有效的迁移学习方式,它可以将任何类型的模型进行迁移,并且在预测过程中独立于源域的教师模型。
在实施中,在迁移学习中,通常需要源域的数据或者源域的白盒模型,但是,随着人们对隐私数据越来越关注,隐私保护成为组织或个人必须要考虑的问题,因此,无法获取到原始的训练数据或者无法获取到源域的模型正变得越来越普遍。黑盒迁移学习,即通过源域的模型的输出数据进行迁移学习,成为隐私保护下的一个新的研究话题。由于网商银行等金融结构中的很多风险场景都存在黑样本稀疏问题,因此迁移相同风险场景下在线金融业务(如在线支付应用对应的业务)的模型知识是有意义的,但是,网商银行正面临和在线金融业务切割的问题,由于数据监管等原因,在进行迁移学习时很可能获取不到在线金融业务的数据或者白盒模型,因此黑盒迁移学习就变得十分重要了。
知识蒸馏是一种将大模型或多个集成模型所获得的知识迁移到一个相对较小的模型的机制,但由于只需要用到教师模型的输出数据,因此也可以用来解决黑盒迁移学习中的相关问题,而大多数基于知识蒸馏的处理(包括常规的知识蒸馏(KD,KnowledgeDistillation)处理、最大化互信息的知识蒸馏(VID,Variational InformationDistillation)处理等)都会假设源域与目标域是相似的,基于此,由于域差异导致的负迁移问题并没有被充分考虑。其中的负迁移可以是指如果迁移的知识负向影响了目标域的模型,是否会发生负迁移取决于很多因素,例如源域与目标域的相关性、模型发现跨领域知识中可迁移且有用部分的能力等,具体可以根据实际情况设定,本说明书实施例对此不做限定。此外,还可以通过多门控专家混合网络(MMoE)来解决黑盒迁移学习中的相关问题,但是该方式需要假设所有任务都是同等重要的,但实际并非如此。为此,需要提供一种更优的黑盒迁移学习机制,并可以缓解域差异导致的负迁移等问题。本说明书实施例提供一种可实现的处理方式,具体可以包括以下内容。
如图2所示,该示意图展示了常规的知识蒸馏处理过程,其中的“输入”可以表示输入端或输入层,可以从输入端或输入层输入数据,该数据通过左侧的源域教师模型进行处理,得到相应的教师输出数据,图2的右侧为源域教师模对应的学生模型,其中包括特征提取器和隐藏层等,上述数据依次通过特征提取器和隐藏层处理后,可以相应的学生输出数据,可以通过教师输出数据与学生输出数据对应的损失信息,以及学生输出数据与该数据的标签信息对应的损失信息,使用源域教师模型对该学生模型进行知识蒸馏训练,得到蒸馏后的学生模型。基于隐私保护的原因,白盒教师模型或源域的数据很难获取到,因此,白盒迁移学习很难实现,为此,可以采用黑盒迁移学习的方式从源域的黑盒模型中迁移出相应的源域信息,由于基于知识蒸馏实现的黑盒迁移学习中会存在负迁移等问题,为此,在知识蒸馏机制中可以额外引入另一个教师模型,通过两个教师模型,可以动态的获取到更好的输出结果,以减少负迁移情况的发生,具体地,可以在图2左侧的源域教师模型部分、与源域教师模型并列的结构上增加目标域的教师模型,可以将上述源域教师模型设置为第一教师模型,增加的目标域的教师模型设置为第二教师模型,然后,可以基于与上述图2的处理类似的处理方式对输入的数据进行处理,即可以获取目标域的数据(即目标数据),将目标数据输入第一教师模型中,可以得到相应的输出数据(即第一教师模型对应的第一输出数据),同时,可以将目标数据输入第二教师模型中,得到相应的输出数据(即第二教师模型对应的第二输出数据)。
需要说明的是,上述各教师模型(包括第一教师模型和第二教师模型)的输出数据可以是二分类的各类别的评估分数,例如,两个类别分别为A类和非A类,上述教师模型的输出数据可以为A类的评估分数为90%,非A类的评估分数为10%等,在实际应用中,还可以是多分类的各类别的评估分数等,具体可以根据实际情况设定,本说明书实施例对此不做限定。此外,第一教师模型和第二教师模型可以是已经经过模型训练的模型,也可以是未经过模型训练的模型,其中,如果第一教师模型和第二教师模型已经过模型训练,则第一教师模型可以是使用源域的数据预先进行模型训练后得到,第二教师模型可以是使用目标源的数据预先进行模型训练后得到,具体可以根据实际情况设定。
在步骤S104中,将目标数据输入到数据选择模型中,得到第一教师模型和第二教师模型的重要性权重,并基于第一教师模型和第二教师模型的重要性权重,以及第一输出数据和第一输出数据,确定目标数据对应的教师输出结果。
其中,数据选择模型可以用于调整教师模型的输出结果,以使得最终可以得到较优的输出结果,并可以尽可能的缓解负迁移情况的发生,数据选择模型的结构可以根据实际情况设定,例如,数据选择模型可以通过神经网络模型构建,也可以通过聚类算法构建,还可以通过降维算法等构建,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在实施中,由于引入了目标域的教师模型作为第二教师模型,这样,其中就包含了两个教师模型,针对不同的输入数据两个教师模型的输出结果可能存在差异,可以通过数据选择模型学习两个教师模型输出结果的重要性权重,并可以保证两个教师模型的输出结果重要性权重之和为1,当第一教师模型在一个实例上表现较差时,降低第一教师模型对应的重要性权重,并增加第二教师模型对应的重要性权重,这样,通过增加教师模型的重要性权重的灵活性,能够从一个更好的教师模型的输出结果中学习信息,从而缓解负迁移情况的发生。为此,可以预先构建数据选择模型,可以将目标数据输入到数据选择模型中,通过自适应学习,可以得到第一教师模型和第二教师模型的重要性权重,且保证第一教师模型和第二教师模型的重要性权重之和为1,此外,还可以基于第一教师模型和第二教师模型的重要性权重,以及第一输出数据和第一输出数据,将第一输出数据(如以m表示)乘以第一教师模型的重要性权重(假设为0.9),将第二输出数据(如以n表示)乘以第二教师模型的重要性权重(基于上述假设,此处为0.1),之后将上述两个输出数据加权的结果相加(即0.9m+0.1n),即可以得到目标数据对应的教师输出结果。
在步骤S106中,将目标数据输入到第一学生模型中,得到目标数据对应的第一学生输出结果。
其中,第一学生模型可以基于第一教师模型和第二教师模型,以及第一教师模型和第二教师模型的重要性权重进行设置,例如,可以将第一教师模型和第二教师模型进行数据化处理,得到第一教师模型对应的表征数据和第二教师模型对应的表征数据,然后,可以将第一教师模型对应的表征数据与第一教师模型的重要性权重相乘,得到相应的加权结果,可以将第二教师模型对应的表征数据与第二教师模型的重要性权重相乘,得到相应的加权结果,可以将上述两个加权结果进行融合,得到融合结果,可以基于该融合结果还原出相应的教师模型,可以基于还原出的教师模型构建相应的学生模型,从而可以得到第一学生模型,在实际应用中,除了可以通过上述方式构建第一学生模型外,还可以通过多种不同的方式构建第一学生模型,如可以根据第一教师模型和第二教师模型,并结合专家经验构建相应的第一学生模型的模型架构等,具体可以根据实际情况设定本说明书实施例对此不做限定。
在步骤S108中,基于上述教师输出结果、第一学生输出结果和目标数据对应的标签信息,通过预设的损失函数,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
在实施中,基于上述教师输出结果可以分别确定相应的第一教师模型的第一输出数据,以及第二教师模型的第二输出数据,可以基于第一输出数据和第一学生输出结果,通过预设的损失函数计算相应的损失信息,可以基于第二输出数据和第一学生输出结果,通过预设的损失函数计算相应的损失信息,可以基于目标数据对应的标签信息和第一学生输出结果,通过预设的损失函数计算相应的损失信息,可以结合上述3个损失信息,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练,直到第一学生模型收敛为止,最终可以得到蒸馏后的第一学生模型。或者,也可以基于教师输出结果和第一学生输出结果,通过预设的损失函数计算相应的损失信息,可以基于目标数据对应的标签信息和第一学生输出结果,通过预设的损失函数计算相应的损失信息,可以结合上述2个损失信息,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练,直到第一学生模型收敛为止,最终可以得到蒸馏后的第一学生模型。在实际应用中,上述处理方式还可以包括多种,具体可以根据实际情况设定,本说明书实施例对此不做限定。
本说明书实施例提供一种模型的处理方法,通过将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到第一教师模型对应的第一输出数据和第二教师模型对应的第二输出数据,第一教师模型是源域的模型,第二教师模型是目标域的模型,然后,可以将目标数据输入到数据选择模型中,得到第一教师模型和第二教师模型的重要性权重,并基于第一教师模型和第二教师模型的重要性权重,以及第一输出数据和第一输出数据,确定目标数据对应的教师输出结果,可以将目标数据输入到第一学生模型中,得到目标数据对应的第一学生输出结果,最终,可以基于教师输出结果、第一学生输出结果和目标数据对应的标签信息,通过预设的损失函数,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型,这样,提供了一种更优的黑盒迁移学习机制,除了源域的教师模型之外,还引入了目标域的教师模型,不失一般性,两者具有相同模型结构,通过比较两个教师模型在每个目标数据上的表现,自适应地调整样本级别教师模型的重要性权重,从而能够从两个教师模型动态学习一个更好的集成输出,从而缓解负迁移情况的发生,改进模型输出结果的最终表现。
实施例二
如图3所示,本说明书实施例提供一种模型的处理方法,该方法的执行主体可以为终端设备或服务器等,其中的终端设备可以如手机、平板电脑等移动终端设备,还可以如笔记本电脑或台式电脑等计算机设备,或者,也可以为IoT设备(具体如智能手表、车载设备等)等,其中的服务器可以是独立的一个服务器,还可以是由多个服务器构成的服务器集群等,该服务器可以是如金融业务或网络购物业务等的后台服务器,也可以是某应用程序的后台服务器等。本实施例中以执行主体为服务器为例进行详细说明,对于执行主体为终端设备的情况,可以参见下述服务器的情况处理,在此不再赘述。该方法具体可以包括以下步骤:
在步骤S302中,将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到第一教师模型对应的第一输出数据和第二教师模型对应的第二输出数据,第一教师模型是与知识蒸馏中的目标域对应的源域的模型,第二教师模型是目标域的模型。
其中,第一教师模型和第二教师模型的模型结构可以相同,第一教师模型和第二教师模型可以是基于深度神经网络DNN模型构建。
上述步骤S302的具体处理可以参见上述实施例一中的相关内容,在此不再赘述。
对于上述实施例中将目标数据输入到数据选择模型中,得到第一教师模型和第二教师模型的重要性权重的处理可以多种多样,以下提供一种可选的处理方式,在该处理方式下,数据选择模型中可以包括第二全局特征提取器、第二局部特征提取器和注意力层,第二全局特征提取器可以用于从目标数据中提取与源域和/或目标域相关的特征,第二局部特征提取器用于从目标数据中提取与目标域相关的特征,具体处理可以参见下述步骤S304和步骤S306的内容。
在步骤S304中,将目标数据输入到第二全局特征提取器中,得到目标数据对应的第二全局特征,并将目标数据输入到第二局部特征提取器中,得到目标数据对应的第二局部特征。
在实施中,可以通过第二全局特征提取器,从目标数据中提取与源域相关的特征,和/或,可以通过第二全局特征提取器,从目标数据中提取与目标域相关的特征,在实际应用中,可以主要提取与源域相关的特征,以及提取与源域和目标域均相关的特征。可以将上述提取的特征作为目标数据对应的第二全局特征。可以通过第二局部特征提取器,从目标数据中提取与目标域相关的特征,可以将上述提取的特征作为目标数据对应的第二局部特征。
在步骤S306中,基于第二全局特征、第二局部特征和注意力层,以及第一学生模型的剩余模型结构,确定第一教师模型和第二教师模型的重要性权重,并基于第一教师模型和第二教师模型的重要性权重,以及第一输出数据和所述第一输出数据,确定目标数据对应的教师输出结果。
在实施中,数据选择模型中除了可以包括第二全局特征提取器、第二局部特征提取器和注意力层外,还可以包括如隐藏层、特征处理等剩余模型结构,在实际应用中,数据选择模型还可以包括拼接标准化层、潜在特征表征层和隐藏层等剩余模型结构,这样,可以将第二全局特征和第二局部特征输入到拼接标准化层,通过该拼接标准化层对第二全局特征和第二局部特征进行拼接和标准化处理,得到拼接后的特征,可以将拼接后的特征输入到潜在特征表征层,通过潜在特征表征层对拼接后的特征进行处理,得到处理后的特征,可以将处理后的特征输入到隐藏层,通过隐藏层对处理后的特征进行处理,得到隐藏层处理结果,将隐藏层处理结果输入到注意力层,通过注意力层对隐藏层处理结果进行处理,得到相应的处理结果,可以基于该处理结果,通过预设算法计算第一教师模型和第二教师模型的重要性权重。这样,在知识蒸馏过程中,数据选择模型自适应地学习样本级别的教师模型重要性权重,从而有利于输出结果。此外,上述数据选择模型确定重要性权重是介于0到1之间的连续值,它将不同的教师模型的重要性权重分配给不同的样本,从而使重要性权重更灵活,且具有样本自适应性。
由于引入了目标域的教师模型作为第二教师模型,可以通过数据选择模型学习两个教师模型输出结果的重要性权重,并保证两个教师模型的输出结果重要性权重之和为1,当第一教师模型在一个实例上表现较差时,降低第一教师模型对应的重要性权重,并增加第二教师模型对应的重要性权重,这样,通过增加教师模型的重要性权重的灵活性,能够从一个更好的教师模型的输出结果中学习信息,从而缓解负迁移情况的发生。其中,每个实例的计算公式可以如下:
αi=softmax(vT(h⊙θi)),i=1,2
其中,αi表示第i个教师模型的重要性权重,νT表示注意力层输出的处理结果,h表示参数,θi表示第i个教师模型的模型参数,lt表示损失信息,表示第1个教师模型(即第一教师模型)对应的第一输出数据,表示第2个教师模型(即第二教师模型)对应的第二输出数据。
对于基于第一教师模型和第二教师模型的重要性权重,以及第一输出数据和所述第一输出数据,确定目标数据对应的教师输出结果的具体处理可以参见上述公式或上述实施例中的相关内容,在此不再赘述。
在步骤S308中,将目标数据输入到第一教师模型对应的第二学生模型中,得到目标数据对应的第二学生输出结果。
在实施中,第二学生模型中可以包括第一全局特征提取器,此外,第二学生模型中还可以包括隐藏层,则可以将目标数据输入到第一全局特征提取器中,得到目标数据中包含的全局特征,可以将得到的全局特征输入到隐藏层中,得到相应的输出结果,该输出结果即可以为目标数据对应的第二学生输出结果。
在步骤S310中,基于第二学生输出结果对应的梯度信息对第二学生模型中第一全局特征提取器的模型参数进行调整。
在实施中,可以获取第二学生输出结果对应的梯度信息,可以通过反向传播优化权重学习过程和模型参数,从而提高第一全局特征提取器在目标域的表现。
对于上述实施例中将目标数据输入到第一学生模型中,得到目标数据对应的第一学生输出结果的处理可以多种多样,以下提供一种可选的处理方式,在该处理方式下,第一学生模型中可以包括第一全局特征提取器和第一局部特征提取器,第一全局特征提取器可以用于从目标数据中提取与源域和/或目标域相关的特征,第二局部特征提取器可以用于从目标数据中提取与目标域相关的特征,具体处理可以参见下述步骤S312和步骤S314的内容。
在步骤S312中,将目标数据输入到第一全局特征提取器中,得到目标数据对应的第一全局特征,并将目标数据输入到第一局部特征提取器中,得到目标数据对应的第一局部特征。
其中,第一全局特征提取器可以与第二全局特征提取器相同,也可以不同,第一局部特征提取器可以与第二局部特征提取器相同,也可以不同,具体可以根据实际情况设定。
在实施中,可以通过第一全局特征提取器,从目标数据中提取与源域相关的特征,和/或,可以通过第一全局特征提取器,从目标数据中提取与目标域相关的特征,在实际应用中,可以主要提取与源域相关的特征,以及提取与源域和目标域均相关的特征。可以将上述提取的特征作为目标数据对应的第一全局特征。可以通过第一局部特征提取器,从目标数据中提取与目标域相关的特征,可以将上述提取的特征作为目标数据对应的第一局部特征。
在步骤S314中,将第一全局特征和第一局部特征输入到第一学生模型的剩余模型结构中,得到目标数据对应的第一学生输出结果。
在实施中,第一学生模型中除了可以包括第一全局特征提取器和第一局部特征提取器外,还可以包括如隐藏层、特征处理等剩余模型结构,在实际应用中,第一学生模型还可以包括拼接标准化层、潜在特征表征层和隐藏层等剩余模型结构,这样,可以将第一全局特征和第一局部特征输入到拼接标准化层,通过该拼接标准化层对第一全局特征和第一局部特征进行拼接和标准化处理,得到拼接后的特征,可以将拼接后的特征输入到潜在特征表征层,通过潜在特征表征层对拼接后的特征进行处理,得到处理后的特征,可以将处理后的特征输入到隐藏层,通过隐藏层对处理后的特征进行处理,得到目标数据对应的第一学生输出结果。
在步骤S316中,基于教师输出结果、第一学生输出结果、目标数据对应的标签信息和第二学生输出结果,通过预设的损失函数,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
在实施中,可以基于教师输出结果和第二学生输出结果,通过预设的损失函数计算相应的损失信息,该损失信息可以称为软损失,可以根据实际情况引入不同类型的软损失函数,且没有引入新的超参数(蒸馏温度除外,相对容易调整),自适应地学习了交叉熵和JS散度的权重,从而提高了教师模型的最终性能。样本级别的计算公式如下:
λi=softmax(<h,ωi>+bi),i=1,2
其中,LSoft表示软损失,λi表示第i个损失对应的权重,h表示第一学生模型的隐藏层,ωi表示第i个教师模型对应的全连接层权重,bi表示第i个教师模型对应的全连接层权重,Ti表示第i个损失对应的温度,LCE表示交叉熵损失,表示T1下的第二学生输出结果,表示T1下的教师输出结果,LJS表示JS散度损失,表示T2下的第二学生输出结果,表示T2下的教师输出结果。
可以基于目标数据对应的标签信息和第一学生输出结果,通过预设的损失函数计算相应的损失信息,可以结合上述2个损失信息,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练,直到第一学生模型收敛为止,最终可以得到蒸馏后的第一学生模型。在实际应用中,上述处理方式还可以包括多种,具体可以根据实际情况设定,本说明书实施例对此不做限定。
本说明书实施例提供一种模型的处理方法,通过将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到第一教师模型对应的第一输出数据和第二教师模型对应的第二输出数据,第一教师模型是源域的模型,第二教师模型是目标域的模型,然后,可以将目标数据输入到数据选择模型中,得到第一教师模型和第二教师模型的重要性权重,并基于第一教师模型和第二教师模型的重要性权重,以及第一输出数据和第一输出数据,确定目标数据对应的教师输出结果,可以将目标数据输入到第一学生模型中,得到目标数据对应的第一学生输出结果,最终,可以基于教师输出结果、第一学生输出结果和目标数据对应的标签信息,通过预设的损失函数,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型,这样,提供了一种更优的黑盒迁移学习机制,除了源域的教师模型之外,还引入了目标域的教师模型,不失一般性,两者具有相同模型结构,通过比较两个教师模型在每个目标数据上的表现,自适应地调整样本级别教师模型的重要性权重,从而能够从两个教师模型动态学习一个更好的集成输出,从而缓解负迁移情况的发生,改进模型输出结果的最终表现。
实施例三
如图4所示,本说明书实施例提供一种模型的处理方法,该方法的执行主体可以为终端设备或服务器等,其中的终端设备可以如手机、平板电脑等移动终端设备,还可以如笔记本电脑或台式电脑等计算机设备,或者,也可以为IoT设备(具体如智能手表、车载设备等)等,其中的服务器可以是独立的一个服务器,还可以是由多个服务器构成的服务器集群等,该服务器可以是如金融业务或网络购物业务等的后台服务器,也可以是某应用程序的后台服务器等。本实施例中以执行主体为服务器为例进行详细说明,对于执行主体为终端设备的情况,可以参见下述服务器的情况处理,在此不再赘述。该方法具体可以包括以下步骤:
在步骤S402中,将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到第一教师模型对应的第一输出数据和第二教师模型对应的第二输出数据,第一教师模型是与知识蒸馏中的目标域对应的源域的模型,第二教师模型是目标域的模型。
其中,第一教师模型和第二教师模型的模型结构可以相同,第一教师模型和第二教师模型可以是基于深度神经网络DNN模型构建。
上述步骤S402的具体处理可以参见上述实施例一中的相关内容,在此不再赘述。
对于上述实施例中将目标数据输入到数据选择模型中,得到第一教师模型和第二教师模型的重要性权重的处理可以多种多样,以下提供一种可选的处理方式,在该处理方式下,数据选择模型中可以包括第二全局特征提取器、第二局部特征提取器和注意力层,第二全局特征提取器可以用于从目标数据中提取与源域和/或目标域相关的特征,第二局部特征提取器用于从目标数据中提取与目标域相关的特征。此外,对于上述实施例中将目标数据输入到第一学生模型中,得到目标数据对应的第一学生输出结果的处理可以多种多样,以下提供一种可选的处理方式,在该处理方式下,第一学生模型中可以包括第一全局特征提取器和第一局部特征提取器,第一全局特征提取器可以用于从目标数据中提取与源域和/或目标域相关的特征,第二局部特征提取器可以用于从目标数据中提取与目标域相关的特征,其中,数据选择模型与第一学生模型中存在部分共享的模型参数(或者可以是部分共享的网络等),具体地,第一全局特征提取器与第二全局特征提取器是相互之间进行参数共享的全局特征提取器,第一局部特征提取器与第二局部特征提取器是相互之间进行参数共享的局部特征提取器,具体可以如图5所示,为了体现部分共享网络,可以将第一全局特征提取器与第二全局特征提取器合并为全局特征提取器,将第一局部特征提取器与第二局部特征提取器合并为局部特征提取器。
在步骤S404中,将目标数据输入到全局特征提取器中,得到目标数据对应的第二全局特征,并将目标数据输入到局部特征提取器中,得到目标数据对应的第二局部特征。
其中,第二全局特征可以是与源域相关的特征,也可以是与源域和目标域均相关的特征。第二局部特征可以是与目标域相关的特征。
在步骤S406中,基于第二全局特征、第二局部特征和注意力层,以及第一学生模型的剩余模型结构,确定第一教师模型和第二教师模型的重要性权重,并基于第一教师模型和第二教师模型的重要性权重,以及第一输出数据和第一输出数据,确定目标数据对应的教师输出结果。
在实施中,数据选择模型中除了可以包括全局特征提取器、局部特征提取器和注意力层外,还可以包括如隐藏层、特征处理等剩余模型结构,在实际应用中,如图5所示,数据选择模型还可以包括拼接标准化层、潜在特征表征层和隐藏层等剩余模型结构,其中,隐藏层和注意力层可以构成样本选择器,该样本选择器的输入数据可以包括第一输出数据和第二输出数据,以及第一学生模型中的潜在特征表征层的输出数据(即第一学生模型的倒数第二个网络层)。这样,可以将第二全局特征和第二局部特征输入到拼接标准化层,通过该拼接标准化层对第二全局特征和第二局部特征进行拼接和标准化处理,得到拼接后的特征,可以将拼接后的特征输入到潜在特征表征层,通过潜在特征表征层对拼接后的特征进行处理,得到处理后的特征,可以将处理后的特征输入到样本选择器,通过样本选择器得到第一教师模型和第二教师模型的重要性权重,并可以基于第一教师模型和第二教师模型的重要性权重,以及第一输出数据和第一输出数据,确定目标数据对应的教师输出结果。
在知识蒸馏过程中,样本选择器自适应地学习样本级别的教师模型重要性权重,从而有利于输出结果。此外,还对软损失进行了修改,使得能够更好地贴合目标域数据。样本选择器可以具有以下特征:蒸馏相关性,样本选择器的参数是和知识蒸馏同时进行学习的,由于样本选择器的输入数据是第一学生模型的倒数第二个网络层,因此它的梯度将被传播回部分共享知识蒸馏机制的每一层,从而决定了样本选择器的学习过程与知识蒸馏高度相关;任务导向性,最终任务是在目标域上输出准确的结果,由于样本选择器的输入数据是第一学生模型的倒数第二个网络层,而不是更前面的其他隐藏层,因此它确保了样本选择器的学习过程与输出任务直接相关;样本自适应,样本选择器确定重要性权重是介于0到1之间的连续值,它将不同的教师模型的重要性权重分配给不同的样本,从而使重要性权重更灵活,且具有样本自适应性。
在步骤S408中,将目标数据输入到第一教师模型对应的第二学生模型中,得到目标数据对应的第二学生输出结果。
在实施中,如图5所示,第二学生模型中可以包括全局特征提取器,此外,第二学生模型中还可以包括隐藏层。
在步骤S410中,基于第二学生输出结果对应的梯度信息对第二学生模型中全局特征提取器的模型参数进行调整。
在步骤S412中,将目标数据输入到全局特征提取器中,得到目标数据对应的第一全局特征,并将目标数据输入到局部特征提取器中,得到目标数据对应的第一局部特征。
在步骤S414中,将第一全局特征和第一局部特征输入到第一学生模型的剩余模型结构中,得到目标数据对应的第一学生输出结果。
在实施中,如图5所示,第一学生模型中除了可以包括全局特征提取器和局部特征提取器外,还可以包括如隐藏层、特征处理等剩余模型结构,在实际应用中,第一学生模型还可以包括拼接标准化层、潜在特征表征层和隐藏层等剩余模型结构,这样,可以将第一全局特征和第一局部特征输入到拼接标准化层,通过该拼接标准化层对第一全局特征和第一局部特征进行拼接和标准化处理,得到拼接后的特征,可以将拼接后的特征输入到潜在特征表征层,通过潜在特征表征层对拼接后的特征进行处理,得到处理后的特征,可以将处理后的特征输入到隐藏层,通过隐藏层对处理后的特征进行处理,得到目标数据对应的第一学生输出结果。
在步骤S416中,基于教师输出结果、第一学生输出结果、目标数据对应的标签信息和第二学生输出结果,通过预设的损失函数,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
在实施中,将部分共享网络取代常规知识蒸馏中的原始DNN模型,将学习软目标(即教师模型的输出结果)和学习硬目标(即目标域的目标数据对应的标签信息)看作两个任务,同时学习全局特征和局部特征,并且只有学习硬目标的任务会共享两种特征,从而不仅增强了学习到的特性的表达能力,也能够提高模型的最终效果。可以将学习硬目标的任务称为任务1,将学习软目标的任务称为任务2,如图5所示,可以包括两个特征提取器,即局部特征提取器和全局特征提取器,同时有助于任务1和任务2。本实施例中,可以将重要性权重进行固定,任务1的全局特征和局部特征的重要性权重均为1,而任务2的权重分别被设置为1和0,这意味着两个任务只有一个任务(即为任务1)需要共享两个被提取的特征。更重要的是,本实施中的任务1,即学习真实标签信息,是主要的学习任务,这更符合迁移学习中更注重模型在目标域表现的要求。两个特征提取器中涉及的计算公式如下:
hl=FEl(x),hg=FEg(x)
h′=Concatenate([hl,hg])
h=BatchNorm(h′)
其中,hl表示目标域的相关特征,FEl(x)表示局部特征提取器,hg表示源域的相关特征(全局特征),FEg(x)表示全局特征提取器,h′表示hl与hg的拼接。经过标准化后,h为下游任务的输入数据,包括样本选择器。
αi=softm。x(vT(h⊙θi)),1=1,2,
λi=softmax(<h,ωi>+bi),i=1,2.
LHard=LCE(ys,y),
其中,LHard表示硬损失,y表示目标数据对应的标签信息。
上述样本选择器以第一学生模型的倒数第二个网络层的输出数据作为输入数据,并自适应地学习教师重要性权重。部分共享网络分别学习源域相关特征和目标域独有特征,以提高第一学生模型所学习特征的表达能力。目标函数评估由样本选择器生成的权重和由部分共享网络所预测的结果,并通过反向传播优化权重学习过程和模型参数,从而提高在目标域的表现。
基于图5的网络结构,可以通过不同的数据集对其的优劣进行验证,一方面,基于图5的网络结构在“森林覆盖类型”和“希格斯玻色子”等两个公共数据集进行了实验,最终的实验结果表明,当源域表现足够好(例如对于“森林覆盖类型”的公共数据集,源域的DNN模型在目标域上的准确率最多比目标域DNN模型低5%)时,本实施例的处理方式可以充分利用源域和目标域的知识,稳定地提高输出结果的精度,并且在输出任务上与其他黑盒迁移方式和白盒迁移方式相比,本实施例的处理方式的表现能够达到最好。另一方面,基于图5的网络结构在“C1:检测从网商银行卡转账到外部卡的交易是否存在欺诈”和“C2:检测从网商银行卡转账到网商银行用户账户的交易是否存在欺诈”等两个工业数据集进行了实验,最终的实验结果表明,当源域的教师模型表现不够好甚至表现不佳时(在实际应用中很常见,因为不同平台上的用户即使在相似的场景下行为也会不同),本实施例的处理方式可以很好地解决负迁移问题,并且在输出结果的任务(如分类任务)上与其他黑盒迁移方式相比,本实施例的处理方式的表现能够达到最好。
本说明书实施例提供一种模型的处理方法,通过将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到第一教师模型对应的第一输出数据和第二教师模型对应的第二输出数据,第一教师模型是源域的模型,第二教师模型是目标域的模型,然后,可以将目标数据输入到数据选择模型中,得到第一教师模型和第二教师模型的重要性权重,并基于第一教师模型和第二教师模型的重要性权重,以及第一输出数据和第一输出数据,确定目标数据对应的教师输出结果,可以将目标数据输入到第一学生模型中,得到目标数据对应的第一学生输出结果,最终,可以基于教师输出结果、第一学生输出结果和目标数据对应的标签信息,通过预设的损失函数,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型,这样,提供了一种更优的黑盒迁移学习机制,除了源域的教师模型之外,还引入了目标域的教师模型,不失一般性,两者具有相同模型结构,通过比较两个教师模型在每个目标数据上的表现,自适应地调整样本级别教师模型的重要性权重,从而能够从两个教师模型动态学习一个更好的集成输出,从而缓解负迁移情况的发生,改进模型输出结果的最终表现。
此外,通过两种方式,即样本选择器和部分共享网络,来解决源域和目标域不同时的负迁移问题。一方面,将多种类型的软损失进行融合,并自适应地学习每种软损失样本级别的重要性权重。另一方面,将学习软目标和学习硬目标作为两个任务同时学习,同时学习全局特征和局部特征,以提高学习到的特征的表达能力,且能够缓解负迁移问题。
实施例四
以上为本说明书实施例提供的模型的处理方法,基于同样的思路,本说明书实施例还提供一种模型的处理装置,如图6所示。
该模型的处理装置包括:第一模型处理模块601、第二模型处理模块602、第三模型处理模块603和蒸馏训练模块604,其中:
第一模型处理模块601,将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到所述第一教师模型对应的第一输出数据和所述第二教师模型对应的第二输出数据,所述第一教师模型是与知识蒸馏中的所述目标域对应的源域的模型,所述第二教师模型是所述目标域的模型;
第二模型处理模块602,将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,并基于所述第一教师模型和所述第二教师模型的重要性权重,以及所述第一输出数据和所述第一输出数据,确定所述目标数据对应的教师输出结果;
第三模型处理模块603,将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果;
蒸馏训练模块604,基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
本说明书实施例中,所述第一学生模型中包括第一全局特征提取器和第一局部特征提取器,所述第一全局特征提取器用于从所述目标数据中提取与所述源域和/或所述目标域相关的特征,所述第二局部特征提取器用于从所述目标数据中提取与所述目标域相关的特征,所述第三模型处理模块603,包括:
第一特征提取单元,将所述目标数据输入到第一全局特征提取器中,得到所述目标数据对应的第一全局特征,并将所述目标数据输入到第一局部特征提取器中,得到所述目标数据对应的第一局部特征;
第一模型处理单元,将所述第一全局特征和所述第一局部特征输入到所述第一学生模型的剩余模型结构中,得到所述目标数据对应的第一学生输出结果。
本说明书实施例中,所述数据选择模型中包括第二全局特征提取器、第二局部特征提取器和注意力层,所述第二全局特征提取器用于从所述目标数据中提取与所述源域和/或所述目标域相关的特征,所述第二局部特征提取器用于从所述目标数据中提取与所述目标域相关的特征,所述第二模型处理模块602,包括:
第二特征提取单元,将所述目标数据输入到第二全局特征提取器中,得到所述目标数据对应的第二全局特征,并将所述目标数据输入到第二局部特征提取器中,得到所述目标数据对应的第二局部特征;
第二模型处理单元,基于所述第二全局特征、所述第二局部特征和所述注意力层,以及所述第一学生模型的剩余模型结构,确定所述第一教师模型和所述第二教师模型的重要性权重。
本说明书实施例中,所述第一全局特征提取器与所述第二全局特征提取器是相互之间进行参数共享的全局特征提取器,所述第一局部特征提取器与所述第二局部特征提取器是相互之间进行参数共享的局部特征提取器。
本说明书实施例中,所述装置还包括:
第四模型处理模块,将所述目标数据输入到所述第一教师模型对应的第二学生模型中,得到所述目标数据对应的第二学生输出结果;
所述蒸馏训练模块604,基于所述教师输出结果、所述第一学生输出结果、所述目标数据对应的标签信息和所述第二学生输出结果,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
本说明书实施例中,所述第二学生模型中包括所述第一全局特征提取器,所述装置还包括:
参数调整模块,基于所述第二学生输出结果对应的梯度信息对所述第二学生模型中所述第一全局特征提取器的模型参数进行调整。
本说明书实施例中,所述第一教师模型和所述第二教师模型的模型结构相同,所述第一教师模型和所述第二教师模型是基于深度神经网络DNN模型构建。
本说明书实施例提供一种模型的处理装置,通过将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到第一教师模型对应的第一输出数据和第二教师模型对应的第二输出数据,第一教师模型是源域的模型,第二教师模型是目标域的模型,然后,可以将目标数据输入到数据选择模型中,得到第一教师模型和第二教师模型的重要性权重,并基于第一教师模型和第二教师模型的重要性权重,以及第一输出数据和第一输出数据,确定目标数据对应的教师输出结果,可以将目标数据输入到第一学生模型中,得到目标数据对应的第一学生输出结果,最终,可以基于教师输出结果、第一学生输出结果和目标数据对应的标签信息,通过预设的损失函数,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型,这样,提供了一种更优的黑盒迁移学习机制,除了源域的教师模型之外,还引入了目标域的教师模型,不失一般性,两者具有相同模型结构,通过比较两个教师模型在每个目标数据上的表现,自适应地调整样本级别教师模型的重要性权重,从而能够从两个教师模型动态学习一个更好的集成输出,从而缓解负迁移情况的发生,改进模型输出结果的最终表现。
此外,通过两种方式,即样本选择器和部分共享网络,来解决源域和目标域不同时的负迁移问题。一方面,将多种类型的软损失进行融合,并自适应地学习每种软损失样本级别的重要性权重。另一方面,将学习软目标和学习硬目标作为两个任务同时学习,同时学习全局特征和局部特征,以提高学习到的特征的表达能力,且能够缓解负迁移问题。
实施例五
以上为本说明书实施例提供的模型的处理装置,基于同样的思路,本说明书实施例还提供一种模型的处理设备,如图7所示。
所述模型的处理设备可以为上述实施例提供终端设备或服务器等。
模型的处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对模型的处理设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在模型的处理设备上执行存储器702中的一系列计算机可执行指令。模型的处理设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706。
具体在本实施例中,模型的处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对模型的处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到所述第一教师模型对应的第一输出数据和所述第二教师模型对应的第二输出数据,所述第一教师模型是与知识蒸馏中的所述目标域对应的源域的模型,所述第二教师模型是所述目标域的模型;
将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,并基于所述第一教师模型和所述第二教师模型的重要性权重,以及所述第一输出数据和所述第一输出数据,确定所述目标数据对应的教师输出结果;
将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果;
基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
本说明书实施例中,所述第一学生模型中包括第一全局特征提取器和第一局部特征提取器,所述第一全局特征提取器用于从所述目标数据中提取与所述源域和/或所述目标域相关的特征,所述第二局部特征提取器用于从所述目标数据中提取与所述目标域相关的特征,所述将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果,包括:
将所述目标数据输入到第一全局特征提取器中,得到所述目标数据对应的第一全局特征,并将所述目标数据输入到第一局部特征提取器中,得到所述目标数据对应的第一局部特征;
将所述第一全局特征和所述第一局部特征输入到所述第一学生模型的剩余模型结构中,得到所述目标数据对应的第一学生输出结果。
本说明书实施例中,所述数据选择模型中包括第二全局特征提取器、第二局部特征提取器和注意力层,所述第二全局特征提取器用于从所述目标数据中提取与所述源域和/或所述目标域相关的特征,所述第二局部特征提取器用于从所述目标数据中提取与所述目标域相关的特征,所述将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,包括:
将所述目标数据输入到第二全局特征提取器中,得到所述目标数据对应的第二全局特征,并将所述目标数据输入到第二局部特征提取器中,得到所述目标数据对应的第二局部特征;
基于所述第二全局特征、所述第二局部特征和所述注意力层,以及所述第一学生模型的剩余模型结构,确定所述第一教师模型和所述第二教师模型的重要性权重。
本说明书实施例中,所述第一全局特征提取器与所述第二全局特征提取器是相互之间进行参数共享的全局特征提取器,所述第一局部特征提取器与所述第二局部特征提取器是相互之间进行参数共享的局部特征提取器。
本说明书实施例中,还包括:
将所述目标数据输入到所述第一教师模型对应的第二学生模型中,得到所述目标数据对应的第二学生输出结果;
所述基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型,包括:
基于所述教师输出结果、所述第一学生输出结果、所述目标数据对应的标签信息和所述第二学生输出结果,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
本说明书实施例中,所述第二学生模型中包括所述第一全局特征提取器,还包括:
基于所述第二学生输出结果对应的梯度信息对所述第二学生模型中所述第一全局特征提取器的模型参数进行调整。
本说明书实施例中,所述第一教师模型和所述第二教师模型的模型结构相同,所述第一教师模型和所述第二教师模型是基于深度神经网络DNN模型构建。
本说明书实施例提供一种模型的处理设备,通过将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到第一教师模型对应的第一输出数据和第二教师模型对应的第二输出数据,第一教师模型是源域的模型,第二教师模型是目标域的模型,然后,可以将目标数据输入到数据选择模型中,得到第一教师模型和第二教师模型的重要性权重,并基于第一教师模型和第二教师模型的重要性权重,以及第一输出数据和第一输出数据,确定目标数据对应的教师输出结果,可以将目标数据输入到第一学生模型中,得到目标数据对应的第一学生输出结果,最终,可以基于教师输出结果、第一学生输出结果和目标数据对应的标签信息,通过预设的损失函数,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型,这样,提供了一种更优的黑盒迁移学习机制,除了源域的教师模型之外,还引入了目标域的教师模型,不失一般性,两者具有相同模型结构,通过比较两个教师模型在每个目标数据上的表现,自适应地调整样本级别教师模型的重要性权重,从而能够从两个教师模型动态学习一个更好的集成输出,从而缓解负迁移情况的发生,改进模型输出结果的最终表现。
此外,通过两种方式,即样本选择器和部分共享网络,来解决源域和目标域不同时的负迁移问题。一方面,将多种类型的软损失进行融合,并自适应地学习每种软损失样本级别的重要性权重。另一方面,将学习软目标和学习硬目标作为两个任务同时学习,同时学习全局特征和局部特征,以提高学习到的特征的表达能力,且能够缓解负迁移问题。
实施例六
进一步地,基于上述图1到图5所示的方法,本说明书一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到所述第一教师模型对应的第一输出数据和所述第二教师模型对应的第二输出数据,所述第一教师模型是与知识蒸馏中的所述目标域对应的源域的模型,所述第二教师模型是所述目标域的模型;
将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,并基于所述第一教师模型和所述第二教师模型的重要性权重,以及所述第一输出数据和所述第一输出数据,确定所述目标数据对应的教师输出结果;
将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果;
基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
本说明书实施例中,所述第一学生模型中包括第一全局特征提取器和第一局部特征提取器,所述第一全局特征提取器用于从所述目标数据中提取与所述源域和/或所述目标域相关的特征,所述第二局部特征提取器用于从所述目标数据中提取与所述目标域相关的特征,所述将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果,包括:
将所述目标数据输入到第一全局特征提取器中,得到所述目标数据对应的第一全局特征,并将所述目标数据输入到第一局部特征提取器中,得到所述目标数据对应的第一局部特征;
将所述第一全局特征和所述第一局部特征输入到所述第一学生模型的剩余模型结构中,得到所述目标数据对应的第一学生输出结果。
本说明书实施例中,所述数据选择模型中包括第二全局特征提取器、第二局部特征提取器和注意力层,所述第二全局特征提取器用于从所述目标数据中提取与所述源域和/或所述目标域相关的特征,所述第二局部特征提取器用于从所述目标数据中提取与所述目标域相关的特征,所述将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,包括:
将所述目标数据输入到第二全局特征提取器中,得到所述目标数据对应的第二全局特征,并将所述目标数据输入到第二局部特征提取器中,得到所述目标数据对应的第二局部特征;
基于所述第二全局特征、所述第二局部特征和所述注意力层,以及所述第一学生模型的剩余模型结构,确定所述第一教师模型和所述第二教师模型的重要性权重。
本说明书实施例中,所述第一全局特征提取器与所述第二全局特征提取器是相互之间进行参数共享的全局特征提取器,所述第一局部特征提取器与所述第二局部特征提取器是相互之间进行参数共享的局部特征提取器。
本说明书实施例中,还包括:
将所述目标数据输入到所述第一教师模型对应的第二学生模型中,得到所述目标数据对应的第二学生输出结果;
所述基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型,包括:
基于所述教师输出结果、所述第一学生输出结果、所述目标数据对应的标签信息和所述第二学生输出结果,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
本说明书实施例中,所述第二学生模型中包括所述第一全局特征提取器,还包括:
基于所述第二学生输出结果对应的梯度信息对所述第二学生模型中所述第一全局特征提取器的模型参数进行调整。
本说明书实施例中,所述第一教师模型和所述第二教师模型的模型结构相同,所述第一教师模型和所述第二教师模型是基于深度神经网络DNN模型构建。
本说明书实施例提供一种存储介质,通过将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到第一教师模型对应的第一输出数据和第二教师模型对应的第二输出数据,第一教师模型是源域的模型,第二教师模型是目标域的模型,然后,可以将目标数据输入到数据选择模型中,得到第一教师模型和第二教师模型的重要性权重,并基于第一教师模型和第二教师模型的重要性权重,以及第一输出数据和第一输出数据,确定目标数据对应的教师输出结果,可以将目标数据输入到第一学生模型中,得到目标数据对应的第一学生输出结果,最终,可以基于教师输出结果、第一学生输出结果和目标数据对应的标签信息,通过预设的损失函数,使用第一教师模型和第二教师模型对第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型,这样,提供了一种更优的黑盒迁移学习机制,除了源域的教师模型之外,还引入了目标域的教师模型,不失一般性,两者具有相同模型结构,通过比较两个教师模型在每个目标数据上的表现,自适应地调整样本级别教师模型的重要性权重,从而能够从两个教师模型动态学习一个更好的集成输出,从而缓解负迁移情况的发生,改进模型输出结果的最终表现。
此外,通过两种方式,即样本选择器和部分共享网络,来解决源域和目标域不同时的负迁移问题。一方面,将多种类型的软损失进行融合,并自适应地学习每种软损失样本级别的重要性权重。另一方面,将学习软目标和学习硬目标作为两个任务同时学习,同时学习全局特征和局部特征,以提高学习到的特征的表达能力,且能够缓解负迁移问题。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程欺诈案例的串并设备的处理器以产生一个机器,使得通过计算机或其他可编程欺诈案例的串并设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程欺诈案例的串并设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程欺诈案例的串并设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (10)
1.一种模型的处理方法,所述方法包括:
将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到所述第一教师模型对应的第一输出数据和所述第二教师模型对应的第二输出数据,所述第一教师模型是与知识蒸馏中的所述目标域对应的源域的模型,所述第二教师模型是所述目标域的模型;
将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,并基于所述第一教师模型和所述第二教师模型的重要性权重,以及所述第一输出数据和所述第一输出数据,确定所述目标数据对应的教师输出结果;
将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果;
基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
2.根据权利要求1所述的方法,所述第一学生模型中包括第一全局特征提取器和第一局部特征提取器,所述第一全局特征提取器用于从所述目标数据中提取与所述源域和/或所述目标域相关的特征,所述第二局部特征提取器用于从所述目标数据中提取与所述目标域相关的特征,所述将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果,包括:
将所述目标数据输入到第一全局特征提取器中,得到所述目标数据对应的第一全局特征,并将所述目标数据输入到第一局部特征提取器中,得到所述目标数据对应的第一局部特征;
将所述第一全局特征和所述第一局部特征输入到所述第一学生模型的剩余模型结构中,得到所述目标数据对应的第一学生输出结果。
3.根据权利要求2所述的方法,所述数据选择模型中包括第二全局特征提取器、第二局部特征提取器和注意力层,所述第二全局特征提取器用于从所述目标数据中提取与所述源域和/或所述目标域相关的特征,所述第二局部特征提取器用于从所述目标数据中提取与所述目标域相关的特征,所述将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,包括:
将所述目标数据输入到第二全局特征提取器中,得到所述目标数据对应的第二全局特征,并将所述目标数据输入到第二局部特征提取器中,得到所述目标数据对应的第二局部特征;
基于所述第二全局特征、所述第二局部特征和所述注意力层,以及所述第一学生模型的剩余模型结构,确定所述第一教师模型和所述第二教师模型的重要性权重。
4.根据权利要求3所述的方法,所述第一全局特征提取器与所述第二全局特征提取器是相互之间进行参数共享的全局特征提取器,所述第一局部特征提取器与所述第二局部特征提取器是相互之间进行参数共享的局部特征提取器。
5.根据权利要求4所述的方法,所述方法还包括:
将所述目标数据输入到所述第一教师模型对应的第二学生模型中,得到所述目标数据对应的第二学生输出结果;
所述基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型,包括:
基于所述教师输出结果、所述第一学生输出结果、所述目标数据对应的标签信息和所述第二学生输出结果,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
6.根据权利要求5述的方法,所述第二学生模型中包括所述第一全局特征提取器,所述方法还包括:
基于所述第二学生输出结果对应的梯度信息对所述第二学生模型中所述第一全局特征提取器的模型参数进行调整。
7.根据权利要求1述的方法,所述第一教师模型和所述第二教师模型的模型结构相同,所述第一教师模型和所述第二教师模型是基于深度神经网络DNN模型构建。
8.一种模型的处理装置,所述装置包括:
第一模型处理模块,将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到所述第一教师模型对应的第一输出数据和所述第二教师模型对应的第二输出数据,所述第一教师模型是与知识蒸馏中的所述目标域对应的源域的模型,所述第二教师模型是所述目标域的模型;
第二模型处理模块,将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,并基于所述第一教师模型和所述第二教师模型的重要性权重,以及所述第一输出数据和所述第一输出数据,确定所述目标数据对应的教师输出结果;
第三模型处理模块,将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果;
蒸馏训练模块,基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
9.一种模型的处理设备,所述模型的处理设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到所述第一教师模型对应的第一输出数据和所述第二教师模型对应的第二输出数据,所述第一教师模型是与知识蒸馏中的所述目标域对应的源域的模型,所述第二教师模型是所述目标域的模型;
将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,并基于所述第一教师模型和所述第二教师模型的重要性权重,以及所述第一输出数据和所述第一输出数据,确定所述目标数据对应的教师输出结果;
将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果;
基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
10.一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被处理器执行时实现以下流程:
将目标域的目标数据分别输入第一教师模型和第二教师模型中,得到所述第一教师模型对应的第一输出数据和所述第二教师模型对应的第二输出数据,所述第一教师模型是与知识蒸馏中的所述目标域对应的源域的模型,所述第二教师模型是所述目标域的模型;
将所述目标数据输入到数据选择模型中,得到所述第一教师模型和所述第二教师模型的重要性权重,并基于所述第一教师模型和所述第二教师模型的重要性权重,以及所述第一输出数据和所述第一输出数据,确定所述目标数据对应的教师输出结果;
将所述目标数据输入到第一学生模型中,得到所述目标数据对应的第一学生输出结果;
基于所述教师输出结果、所述第一学生输出结果和所述目标数据对应的标签信息,通过预设的损失函数,使用所述第一教师模型和所述第二教师模型对所述第一学生模型进行知识蒸馏训练,得到蒸馏后的第一学生模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310217203.5A CN116306868B (zh) | 2023-03-01 | 2023-03-01 | 一种模型的处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310217203.5A CN116306868B (zh) | 2023-03-01 | 2023-03-01 | 一种模型的处理方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116306868A true CN116306868A (zh) | 2023-06-23 |
CN116306868B CN116306868B (zh) | 2024-01-05 |
Family
ID=86779108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310217203.5A Active CN116306868B (zh) | 2023-03-01 | 2023-03-01 | 一种模型的处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116306868B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116738239A (zh) * | 2023-08-11 | 2023-09-12 | 浙江菜鸟供应链管理有限公司 | 模型训练方法、资源调度方法及装置、系统、设备及介质 |
CN117057414A (zh) * | 2023-08-11 | 2023-11-14 | 佛山科学技术学院 | 一种面向文本生成的多步协作式提示学习的黑盒知识蒸馏方法及系统 |
CN117114053A (zh) * | 2023-08-24 | 2023-11-24 | 之江实验室 | 基于结构搜索和知识蒸馏的卷积神经网络模型压缩方法和装置 |
CN117236984A (zh) * | 2023-09-21 | 2023-12-15 | 元保科创(北京)科技有限公司 | 用户分层的管理方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8636514B1 (en) * | 2005-12-27 | 2014-01-28 | Derek Luebbe | Stock market simulation teaching aid |
CN110837761A (zh) * | 2018-08-17 | 2020-02-25 | 北京市商汤科技开发有限公司 | 多模型知识蒸馏方法及装置、电子设备和存储介质 |
CN112766411A (zh) * | 2021-02-02 | 2021-05-07 | 天津大学 | 一种自适应区域精修的目标检测知识蒸馏方法 |
WO2021114974A1 (zh) * | 2019-12-14 | 2021-06-17 | 支付宝(杭州)信息技术有限公司 | 用户风险评估方法及装置、电子设备、存储介质 |
CN114997365A (zh) * | 2022-05-16 | 2022-09-02 | 深圳市优必选科技股份有限公司 | 图像数据的知识蒸馏方法、装置、终端设备及存储介质 |
CN115019106A (zh) * | 2022-06-27 | 2022-09-06 | 中山大学 | 基于对抗蒸馏的鲁棒无监督域自适应图像分类方法及装置 |
US20220398459A1 (en) * | 2021-06-10 | 2022-12-15 | Samsung Electronics Co., Ltd. | Method and system for weighted knowledge distillation between neural network models |
-
2023
- 2023-03-01 CN CN202310217203.5A patent/CN116306868B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8636514B1 (en) * | 2005-12-27 | 2014-01-28 | Derek Luebbe | Stock market simulation teaching aid |
CN110837761A (zh) * | 2018-08-17 | 2020-02-25 | 北京市商汤科技开发有限公司 | 多模型知识蒸馏方法及装置、电子设备和存储介质 |
WO2021114974A1 (zh) * | 2019-12-14 | 2021-06-17 | 支付宝(杭州)信息技术有限公司 | 用户风险评估方法及装置、电子设备、存储介质 |
CN112766411A (zh) * | 2021-02-02 | 2021-05-07 | 天津大学 | 一种自适应区域精修的目标检测知识蒸馏方法 |
US20220398459A1 (en) * | 2021-06-10 | 2022-12-15 | Samsung Electronics Co., Ltd. | Method and system for weighted knowledge distillation between neural network models |
CN114997365A (zh) * | 2022-05-16 | 2022-09-02 | 深圳市优必选科技股份有限公司 | 图像数据的知识蒸馏方法、装置、终端设备及存储介质 |
CN115019106A (zh) * | 2022-06-27 | 2022-09-06 | 中山大学 | 基于对抗蒸馏的鲁棒无监督域自适应图像分类方法及装置 |
Non-Patent Citations (3)
Title |
---|
HO-GYEONG KIM ET AL.: "Knowledge Distillation Using Output Errors for Self-attention End-to-end Models", 《ICASSP 2019 - 2019 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP)》 * |
王金甲;杨倩;崔琳;纪绍男;: "基于平均教师模型的弱标记半监督声音事件检测", 复旦学报(自然科学版), no. 05 * |
葛仕明;赵胜伟;刘文瑜;李晨钰;: "基于深度特征蒸馏的人脸识别", 北京交通大学学报, no. 06 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116738239A (zh) * | 2023-08-11 | 2023-09-12 | 浙江菜鸟供应链管理有限公司 | 模型训练方法、资源调度方法及装置、系统、设备及介质 |
CN117057414A (zh) * | 2023-08-11 | 2023-11-14 | 佛山科学技术学院 | 一种面向文本生成的多步协作式提示学习的黑盒知识蒸馏方法及系统 |
CN116738239B (zh) * | 2023-08-11 | 2023-11-24 | 浙江菜鸟供应链管理有限公司 | 模型训练方法、资源调度方法及装置、系统、设备及介质 |
CN117057414B (zh) * | 2023-08-11 | 2024-06-07 | 佛山科学技术学院 | 一种面向文本生成的多步协作式提示学习的黑盒知识蒸馏方法及系统 |
CN117114053A (zh) * | 2023-08-24 | 2023-11-24 | 之江实验室 | 基于结构搜索和知识蒸馏的卷积神经网络模型压缩方法和装置 |
CN117236984A (zh) * | 2023-09-21 | 2023-12-15 | 元保科创(北京)科技有限公司 | 用户分层的管理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116306868B (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116306868B (zh) | 一种模型的处理方法、装置及设备 | |
CN107391545B (zh) | 一种对用户进行分类的方法、输入方法及装置 | |
US20180018392A1 (en) | Topic identification based on functional summarization | |
CN115238250B (zh) | 一种模型的处理方法、装置及设备 | |
CN110502614A (zh) | 文本拦截方法、装置、系统以及设备 | |
US20230368003A1 (en) | Adaptive sparse attention pattern | |
CN117456028A (zh) | 基于文本进行图像生成的方法及装置 | |
CN117910542A (zh) | 用户转化预测模型训练方法及装置 | |
CN112183584A (zh) | 一种模型训练以及业务执行的方法及装置 | |
CN116308738A (zh) | 一种模型训练的方法、业务风控的方法及装置 | |
CN112967044B (zh) | 一种支付业务的处理方法及装置 | |
CN111552706B (zh) | 一种舆情信息的分组方法、装置及设备 | |
CN113642305A (zh) | 一种文本生成方法、装置、存储介质及电子设备 | |
CN118193757B (zh) | 一种任务执行方法、装置、存储介质及电子设备 | |
CN116501852B (zh) | 一种可控对话模型训练方法、装置、存储介质及电子设备 | |
CN112884478B (zh) | 一种数据处理方法、装置及设备 | |
CN117093863A (zh) | 一种模型的处理方法、装置及设备 | |
CN118658167A (zh) | 一种模型的处理方法、装置及设备 | |
CN116597348A (zh) | 视频分类模型的训练方法及装置 | |
CN114579813A (zh) | 一种数据的处理方法、装置及设备 | |
CN116702131A (zh) | 一种数据处理方法、装置及设备 | |
CN116029441A (zh) | 一种数据处理方法、装置及设备 | |
CN117576790A (zh) | 一种生物攻击检测方法、装置及设备 | |
CN116842570A (zh) | 一种模型训练的方法以及业务风控的方法及装置 | |
CN114037062A (zh) | 多任务模型的特征提取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40093267 Country of ref document: HK |