CN117313832A - 基于双向知识蒸馏的联合学习模型训练方法、装置及系统 - Google Patents
基于双向知识蒸馏的联合学习模型训练方法、装置及系统 Download PDFInfo
- Publication number
- CN117313832A CN117313832A CN202210691711.2A CN202210691711A CN117313832A CN 117313832 A CN117313832 A CN 117313832A CN 202210691711 A CN202210691711 A CN 202210691711A CN 117313832 A CN117313832 A CN 117313832A
- Authority
- CN
- China
- Prior art keywords
- model
- reverse
- distillation
- student
- teacher
- 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.)
- Pending
Links
- 238000013140 knowledge distillation Methods 0.000 title claims abstract description 99
- 238000012549 training Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000002457 bidirectional effect Effects 0.000 title abstract description 6
- 238000004821 distillation Methods 0.000 claims abstract description 108
- 238000012360 testing method Methods 0.000 claims description 36
- 230000004931 aggregating effect Effects 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 abstract description 7
- 230000019771 cognition Effects 0.000 abstract description 6
- 238000013508 migration Methods 0.000 abstract description 6
- 230000005012 migration Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 241000282472 Canis lupus familiaris Species 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 210000002268 wool Anatomy 0.000 description 1
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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及联合学习技术领域,提供了基于双向知识蒸馏的联合学习模型训练方法、装置及系统。该方法包括:基于正向教师模型,对初始化模型进行正向蒸馏,得到正向学生模型;当接收到服务端反馈的正向全局学生模型时,对正向学生模型进行更新,得到更新正向学生模型;基于反向教师模型,对正向教师模型进行反向蒸馏,以得到反向学生模型;当接收到服务端反馈的反向全局学生模型时,对正向教师模型进行更新,得到更新正向教师模型;当正向、反向知识蒸馏的联合学习模型训练达到收敛条件时,得到目标联合学习模型。本公开可实现大模型和小模型之间的双向知识迁移传递,提高大模型的认知范围及提高小模型的模型精确度,从而实现互利共赢。
Description
技术领域
本公开涉及联合学习技术领域,尤其涉及一种基于双向知识蒸馏的联合学习模型训练方法、装置及系统。
背景技术
深层神经网络的模型压缩和加速方法通常分为四个不同类别,即模型剪枝和量化,低秩分解,紧凑型卷积滤波器和知识蒸馏。
现有的知识蒸馏方法中,在学习过程中保持teacher模型(大模型)固定,仅对student模型(小模型)进行单向的知识迁移传递,而难以从student模型的学习中得到反馈信息来对teacher模型自身进行优化调整,从而无法进一步提高teacher模型的认知范围(包括模型的泛化能力和模型的知识面),同时也不利于提高student模型的模型精确度。
发明内容
有鉴于此,本公开实施例提供了一种基于双向知识蒸馏的联合学习模型训练方法、装置及系统,以解决现有的知识蒸馏方法仅能对小模型进行单向的知识迁移传递,而难以从student模型的学习中得到反馈信息来对teacher模型自身进行优化调整,从而无法进一步提高teacher模型的认知范围,同时也不利于提高student模型的模型精确度的问题。
本公开实施例的第一方面,提供了一种基于双向知识蒸馏的联合学习模型训练方法,包括:
响应正向知识蒸馏的联合学习模型训练;
将服务端下发的训练指导模型确定为正向知识蒸馏的正向教师模型;
基于正向教师模型,对初始化模型进行正向蒸馏,以得到正向学生模型;
当接收到服务端反馈的针对多个正向学生模型进行聚合后得到的正向全局学生模型时,根据正向全局学生模型对正向学生模型进行更新,得到更新正向学生模型,并将更新正向学生模型确定为反向教师模型;
启动反向知识蒸馏的联合学习模型训练;
基于反向教师模型,对正向教师模型进行反向蒸馏,以得到反向学生模型;
当接收到服务端反馈的针对多个反向学生模型进行聚合后得到的反向全局学生模型时,根据反向全局学生模型对正向教师模型进行更新,得到更新正向教师模型;
当正向知识蒸馏和反向知识蒸馏的联合学习模型训练直至达到收敛条件时,得到目标联合学习模型。
本公开实施例的第二方面,提供了一种基于双向知识蒸馏的联合学习模型训练装置,包括:
响应模块,被配置为响应正向知识蒸馏的联合学习模型训练;
下发模块,被配置为将服务端下发的训练指导模型确定为正向知识蒸馏的正向教师模型;
正向蒸馏模块,被配置为基于正向教师模型,对初始化模型进行正向蒸馏,以得到正向学生模型;
第一更新模块,被配置为当接收到服务端反馈的针对多个正向学生模型进行聚合后得到的正向全局学生模型时,根据正向全局学生模型对正向学生模型进行更新,得到更新正向学生模型,并将更新正向学生模型确定为反向教师模型;
启动模块,被配置为启动反向知识蒸馏的联合学习模型训练;
反向蒸馏模块,被配置为基于反向教师模型,对正向教师模型进行反向蒸馏,以得到反向学生模型;
第二更新模块,被配置为当接收到服务端反馈的针对多个反向学生模型进行聚合后得到的反向全局学生模型时,根据反向全局学生模型对正向教师模型进行更新,得到更新正向教师模型;
训练模块,被配置为当正向知识蒸馏和反向知识蒸馏的联合学习模型训练直至达到收敛条件时,得到目标联合学习模型。
本公开实施例的第三方面,提供了一种基于双向知识蒸馏的联合学习模型训练系统,包括:
服务端;
与服务端通信连接的客户端;
客户端包括上述的基于双向知识蒸馏的联合学习模型训练装置。
本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本公开实施例与现有技术相比,其有益效果至少包括:通过响应正向知识蒸馏的联合学习模型训练;将服务端下发的训练指导模型确定为正向知识蒸馏的正向教师模型;基于正向教师模型,对初始化模型进行正向蒸馏,以得到正向学生模型,并将正向学生模型上传至服务端;当接收到服务端反馈的针对多个正向学生模型进行聚合后得到的正向全局学生模型时,根据正向全局学生模型对正向学生模型进行更新,得到更新正向学生模型,并将更新正向学生模型确定为反向教师模型;启动反向知识蒸馏的联合学习模型训练;基于反向教师模型,对正向教师模型进行反向蒸馏,以得到反向学生模型,并将反向学生模型上传至服务端;当接收到服务端反馈的针对多个反向学生模型进行聚合后得到的反向全局学生模型时,根据反向全局学生模型对正向教师模型进行更新,得到更新正向教师模型;当正向知识蒸馏和反向知识蒸馏的联合学习模型训练直至达到收敛条件时,得到目标联合学习模型,可实现大模型和小模型之间的双向知识迁移传递,使得大模型也可以从小模型的学习中得到反馈信息来对其自身进行优化调整,有利于进一步提高大模型的认知范围,同时也有利于提高小模型的模型精确度,从而实现互利共赢。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本公开实施例的一种应用场景的场景示意图;
图2是本公开实施例提供的一种基于双向知识蒸馏的联合学习模型训练方法的时序流程示意图;
图3是本公开实施例提供的一种基于双向知识蒸馏的联合学习模型训练方法的流程示意图;
图4是本公开实施例提供的一种基于双向知识蒸馏的联合学习模型训练装置的结构示意图;
图5是本公开实施例提供的一种基于双向知识蒸馏的联合学习模型训练系统的结构示意图;
图6是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
联合学习是指在确保数据安全及用户隐私的前提下,综合利用多种AI(Artificial Intelligence,人工智能)技术,联合多方合作共同挖掘数据价值,催生基于联合建模的新的智能业态和模式。联合学习至少具有以下特点:
(1)参与节点控制自有数据的弱中心化联合训练模式,确保共创智能过程中的数据隐私安全。
(2)在不同应用场景下,利用筛选和/或组合AI算法、隐私保护计算,建立多种模型聚合优化策略,以获取高层次、高质量的模型。
(3)在确保数据安全及用户隐私的前提下,基于多种模型聚合优化策略,获取提升联合学习引擎的效能方法,其中效能方法可以是通过解决包括计算架构并行、大规模跨域网络下的信息交互、智能感知、异常处理机制等,提升联合学习引擎的整体效能。
(4)获取各场景下多方用户的需求,通过互信机制,确定合理评估各联合参与方的真实贡献度,进行分配激励。
基于上述方式,可以建立基于联合学习的AI技术生态,充分发挥行业数据价值,推动垂直领域的场景落地。
下面将结合附图详细说明根据本公开实施例的一种基于双向知识蒸馏的联合学习模型训练方法、装置及系统。
图1是本公开实施例的一种联合学习的架构示意图。如图1所示,联合学习的架构可以包括服务端(中心节点)101以及参与方102、参与方103和参与方104。
结合图1和2,在联合学习过程中,训练指导模型可以是由一些拥有丰富的数据资产的大企业,通过这些数据资产预训练得到的教师(teacher)模型,然后,将该训练指导模型发送给服务端101,再由服务端101将该模型发送至与其建立通信连接的参与方102、参与方103和参与方104。抑或者是,由大企业直接将训练指导模型发送至与其建立通信连接的参与方102、参与方103和参与方104。参与方102、参与方103和参与方104可以通过采用各自的本地数据,分别训练得到一个初始化模型。参与方102、参与方103和参与方104响应正向知识蒸馏的联合学习模型训练时,可将服务端101下发的训练指导模型确定为正向知识蒸馏的正向教师模型;基于正向教师模型,对初始化模型进行正向蒸馏,以得到正向学生模型,并将正向学生模型发送给服务端101;当接收到服务端101反馈的针对多个正向学生模型进行聚合后得到的正向全局学生模型时,根据正向全局学生模型对正向学生模型进行更新,得到更新正向学生模型,并将更新正向学生模型确定为反向教师模型;之后,启动反向知识蒸馏的联合学习模型训练;基于反向教师模型,对正向教师模型进行反向蒸馏,以得到反向学生模型,并将反向学生模型发送至服务端101;当接收到服务端101反馈的针对多个反向学生模型进行聚合后得到的反向全局学生模型时,根据反向全局学生模型对正向教师模型进行更新,得到更新正向教师模型,至此完成一轮次的迭代训练;按照上述流程循环迭代训练,当正向知识蒸馏和反向知识蒸馏的联合学习模型训练直至达到收敛条件时,得到目标联合学习模型。
在联合学习过程中,参与方102、参与方103和参与方104上传的数据为模型参数,本地数据并不会上传至服务端101,且所有参与方可以共享最终的模型参数,因此可以在保证数据隐私的基础上实现共同建模。需要说明的是,参与方的数量不限于如上的三个,而是可以根据需要进行设置,本公开实施例对此不作限制。
图3是本公开实施例提供的一种基于双向知识蒸馏的联合学习模型训练方法的流程示意图。图3的基于双向知识蒸馏的联合学习模型训练方法可以由图1的各参与方执行。如图3所示,该基于双向知识蒸馏的联合学习模型训练方法包括:
步骤S301,响应正向知识蒸馏的联合学习模型训练。
服务端101、参与方102、参与方103和参与方104均为预先搭建的联合学习框架中的一个节点,其中,一个节点对应一个参与方(或服务端)。参与方可以是终端设备,包括但不限于如智能手机、平板电脑、膝上型便携计算机和台式计算机等硬件设备;也可以是安装在如上的电子设备中的软件。
服务端可以是提供各种服务的服务器,例如,对与其建立通信连接的各参与方发送的请求进行接收的后台服务器,该后台服务器可以对各参与方发送的请求进行接收和分析等处理,并生成处理结果。服务器可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本公开实施例对此不作限制。
服务端与各参与方之间可以通过网络建立通信连接。其中,网络可以是采用同轴电缆、双绞线和光纤连接的有线网络,也可以是无需布线就能实现各种通信设备互联的无线网络,例如,蓝牙(Bluetooth)、近场通信(Near Field Communication,NFC)、红外(Infrared)等,本公开实施例对此不作限制。
在一示例性实施例中,服务端101可以根据实际需要,选择参与本次正向知识蒸馏的联合学习模型训练的多个参与方,例如,服务端101本次选中的参与方有参与方102、参与方103和参与方104。当被服务端101选中的参与方102、参与方103和参与方104接收到服务端下发的“正向知识蒸馏的联合学习模型训练”的训练指令时,可通过向服务端101发送响应信息(如点击预设的“参与训练”按钮等),以表示响应参与到本次的正向知识蒸馏的联合学习模型训练中。
步骤S302,将服务端下发的训练指导模型确定为正向知识蒸馏的正向教师模型。
训练指导模型,可以是由一些拥有丰富的数据资产的大企业,通过这些数据资产预训练得到的教师(teacher)模型。
各个参与方在确定响应正向知识蒸馏的联合学习模型训练后,可将服务端下发的训练指导模型确定为正向知识蒸馏的正向教师模型。
步骤S303,基于正向教师模型,对初始化模型进行正向蒸馏,以得到正向学生模型,并将正向学生模型上传至服务端。
初始化模型,可以是由各个参与方利用各自的本地数据预先训练一个基础模型得到的模型。该基础模型可以是由服务端建立,并分发给各个参与方。
基于正向教师模型,对初始化模型进行正向蒸馏,即系将正向教师模型的知识正向迁移传递给初始化模型,以使参与方可以根据正向教师模型的知识优化调整他们的初始化模型,得到优化调整后的正向学生模型。
在这里,正向教师模型的知识,包括但不限于正向教师模型的模型参数、中间网络层输出(中间网络层提取的特征)、网络输出。
正向知识蒸馏,其主要思想是把复杂模型或者多个模型Ensemble(Teacher)学到的知识迁移到另一个轻量级模型(Student)上。
知识蒸馏是模型压缩的一种常用的方法,不同于模型压缩中的剪枝和量化,知识蒸馏是通过构建一个轻量化的小模型,利用性能更好的大模型的监督信息,来训练这个小模型,以期达到更好的性能和精度。这个大模型我们称之为teacher(教师模型),小模型我们称之为Student(学生模型)。来自Teacher模型输出的监督信息称之为知识,而student学习迁移来自teacher的监督信息的过程称之为蒸馏。
步骤S304,当接收到服务端反馈的针对多个正向学生模型进行聚合后得到的正向全局学生模型时,根据正向全局学生模型对正向学生模型进行更新,得到更新正向学生模型,并将更新正向学生模型确定为反向教师模型。
作为一示例,结合图1,假设参与方102、参与方103和参与方104根据上述步骤训练得到各自的正向学生模型。为了便于描述,设参与方102训练得到的正向学生模型为正向学生模型01,参与方103训练得到的正向学生模型为正向学生模型02,参与方104训练得到的正向学生模型为正向学生模型03。参与方102、参与方103和参与方104分别将训练得到的正向学生模型01、02、03上传至服务端101。服务端101在接收到参与方102、参与方103和参与方104上传的正向学生模型01、02、03之后,可对正向学生模型01、02、03进行聚合,得到正向全局学生模型,并分别将该正向全局学生模型下发至参与方102、参与方103和参与方104。具体的,可以是对正向学生模型01、02、03的模型参数进行聚合,得到正向全局学生模型参数,并分别将正向全局学生模型参数下发至参与方102、参与方103和参与方104。
接着,参与方102、参与方103和参与方104,可进一步根据接收到的正向全局学生模型参数更新其本地的正向学生模型01、02、03,得到更新正向学生模型01'、02'、03'。与此同时,可将更新正向学生模型01'、02'、03'确定为反向教师模型。
之后,启动反向知识蒸馏的联合学习模型训练。反向知识蒸馏的联合学习模型训练与上述的正向知识蒸馏的联合学习模型训练的训练过程基本相同,其不同之处在于,反向知识蒸馏的联合学习模型训练是将各个参与方的更新正向学生模型作为反向教师模型,将更新正向学生模型学习到的知识反向迁移给正向教师模型,以使得正向教师模型可以从更新正向学生模型学习到的知识来优化调整其模型参数,有利于进一步迭代更新正向教师模型,从而提高正向教师模型的认知范围,包括横向扩大范围和纵向扩大深度。
其中,横向扩大范围,可以理解为扩充正向教师模型的知识面。示例性的,原先的正向教师模型能识别的动物类型只包括狗,通过学习的不断深入,现在的正向教师模型能识别的动物类型会越来越多,例如,可以识别猫等。
纵向扩大深度,可以理解为提高正向教师模型模型的泛化能力。以识别狗为例,原先的正向教师模型的认知范围只能识别金毛、藏獒,牧羊犬,通过学习的不断深入,现在的正向教师模型还可以识别杜宾、吉娃娃等品种的狗。
步骤S305,启动反向知识蒸馏的联合学习模型训练。
作为一示例,当参与方102、参与方103和参与方104根据正向全局学生模型的模型参数在本地各自更新其正向学生模型01、02、03,得到更新正向学生模型01'、02'、03'之后,即可自动触发启动反向知识蒸馏的联合学习模型训练的程序。
步骤S306,基于反向教师模型,对正向教师模型进行反向蒸馏,以得到反向学生模型,并将反向学生模型上传至服务端。
在本实施例中,基于反向教师模型,对正向教师模型进行反向蒸馏,以得到反向学生模型的具体实现过程,与上述基于正向教师模型,对初始化模型进行正向蒸馏,以得到正向学生模型类似。不同之处主要在于:正向蒸馏是大模型向小模型进行知识迁移传递的过程,而反向蒸馏则是小模型向大模型进行知识迁移传递的过程。
需要说明的是,在反向蒸馏的过程中,为减少小模型对大模型的负面影响,优选的,可在反向蒸馏期间,可在蒸馏损失上增加一个权重系数来削弱小模型对大模型的负面影响。
步骤S307,当接收到服务端反馈的针对多个反向学生模型进行聚合后得到的反向全局学生模型时,根据反向全局学生模型对正向教师模型进行更新,得到更新正向教师模型。
作为一示例,结合图1,假设参与方102、参与方103和参与方104根据上述步骤训练得到各自的反向学生模型。为了便于描述,设参与方102训练得到的反向学生模型为反向学生模型01,参与方103训练得到的反向学生模型为反向学生模型02,参与方104训练得到的反向学生模型为反向学生模型03。参与方102、参与方103和参与方104分别将训练得到的反向学生模型01、02、03上传至服务端101。服务端101在接收到参与方102、参与方103和参与方104上传的反向学生模型01、02、03之后,可对反向学生模型01、02、03进行聚合,得到反向全局学生模型,并分别将该反向全局学生模型下发至参与方102、参与方103和参与方104。具体的,可以是对反向学生模型01、02、03的模型参数进行聚合,得到反向全局学生模型参数,并分别将反向全局学生模型参数下发至参与方102、参与方103和参与方104。
接着,参与方102、参与方103和参与方104,可进一步根据接收到的反向全局学生模型参数更新其本地的正向教师模型,得到更新正向教师模型。
步骤S308,当正向知识蒸馏和反向知识蒸馏的联合学习模型训练直至达到收敛条件时,得到目标联合学习模型。
收敛条件,可以是正向知识蒸馏和反向知识蒸馏的联合学习模型训练的训练轮次达到预设的轮数,或者是训练得到的联合学习模型的模型精度达到预设的精度阈值等。
需要说明的是,在本公开实施例中,将各参与方完成基于正向教师模型,对初始化模型进行正向蒸馏,以得到正向学生模型,并发送给服务端进行聚合;然后根据服务端下发的正向全局学生模型,在本地对正向学生模型进行更新,得到更新正向学生模型;再将将更新正向学生模型确定为反向教师模型,启动反向知识蒸馏的联合学习模型训练,基于反向教师模型,对正向教师模型进行反向蒸馏,以得到反向学生模型;之后,在接收到服务端下发的反向全局学生模型,在本地对正向教师模型进行更新,得到更新正向教师模型,这一系列流程为一个训练轮次。
本公开实施例所涉及到的知识蒸馏,通常是指深度学习中的知识蒸馏。
本公开实施例提供的技术方案,通过响应正向知识蒸馏的联合学习模型训练;将服务端下发的训练指导模型确定为正向知识蒸馏的正向教师模型;基于正向教师模型,对初始化模型进行正向蒸馏,以得到正向学生模型;当接收到服务端反馈的针对多个正向学生模型进行聚合后得到的正向全局学生模型时,根据正向全局学生模型对正向学生模型进行更新,得到更新正向学生模型,并将更新正向学生模型确定为反向教师模型;启动反向知识蒸馏的联合学习模型训练;基于反向教师模型,对正向教师模型进行反向蒸馏,以得到反向学生模型;当接收到服务端反馈的针对多个反向学生模型进行聚合后得到的反向全局学生模型时,根据反向全局学生模型对正向教师模型进行更新,得到更新正向教师模型;当正向知识蒸馏和反向知识蒸馏的联合学习模型训练直至达到收敛条件时,得到目标联合学习模型,可实现大模型和小模型之间的双向知识迁移传递,使得大模型也可以从小模型的学习中得到反馈信息来对其自身进行优化调整,有利于进一步提高大模型的认知范围,同时也有利于提高小模型的模型精确度,从而实现互利共赢。
在一些实施例中,上述步骤S303,具体可包括如下步骤:
获取正向教师模型的正向教师模型参数,以及初始化模型的初始模型参数;
利用初始化模型对本地数据进行测试,得到第一测试结果;
根据正向教师模型参数、初始模型参数、第一测试结果以及预设的第一权重系数,计算得到正向蒸馏偏差值;
根据正向蒸馏偏差值更新初始模型参数,以得到正向学生模型。
作为一示例,服务端在将训练指导模型下发给各个参与方时,可以一并将训练指导模型的模型参数,即正向教师模型参数打包下发给各个参与方,各个参与方即可获取到正向教师模型参数。
本地数据,是指存储在各个参与方本地的数据,为参与方自己拥有的数据资源。该数据资源包括但不限于用气负荷数据、用电负荷数据等,在此不一一枚举。相应的,初始化模型可以是用气负荷预测模型、用电负荷预测模型等。
以参与方102为例,参与方102可在本地通过将其本地数据(如用气负荷数据)输入其初始化模型(如用气负荷预测模型)进行测试,得到第一测试结果(如用气负荷预测结果)。
在一些实施例中,根据正向教师模型参数、初始模型参数、第一测试结果以及预设的第一权重系数,计算得到正向蒸馏偏差值,具体可包括:
根据正向教师模型参数和初始模型参数,计算得到正向教师模型与初始化模型之间的正向蒸馏损失值;
根据第一测试结果、本地数据的真实标签,计算得出初始化模型的第一损失函数;
根据正向蒸馏损失值、第一损失函数和第一权重系数,计算得到正向蒸馏偏差值。
设正向教师模型的正向教师模型参数用p表示,初始化模型的初始模型参数用q表示,那么可以根据下述公式(1)计算得到正向教师模型与初始化模型之间的正向蒸馏损失值。其中,正向蒸馏损失值可以使用KL散度表示。
其中,上式(1)中,DKL(p||q)表示正向教师模型与初始化模型之间的正向蒸馏损失值,即KL散度;n表示输入的数据量的大小,例如,输入的数据量为10条用气负荷数据,那么n=10。
接着,可根据下述公式(2)计算得到初始化模型的第一损失函数。
CE(ys,y)=-∑x yslog y (2)。
其中,上式(2)中,ys表示第一测试结果,即初始化模型的输出,y表示输入数据x的真实标签值,CE(ys,y)表示第一损失函数。
根据下述公式(3)计算得到正向蒸馏偏差值。
Lstudent=CE(ys,y)+γ1DKL(p||q) (3)。
其中,上式(3)中,Lstudent表示正向蒸馏偏差值,γ1表示第一权重系数,该第一权重系数为超参数。
在根据上述步骤计算得到正向知识蒸馏的联合学习模型训练的正向蒸馏偏差值之后,参与方102可根据该正向蒸馏偏差值更新其初始化模型的初始模型参数,以得到正向学生模型01。
类似的,参与方103、104响应正向知识蒸馏的联合学习模型训练得到正向学生模型02、03的实现流程与上述参与方102响应正向知识蒸馏的联合学习模型训练得到正向学生模型01的实现流程基本相同,在此不再赘述。
在一些实施例中,上述步骤S306,具体可包括如下步骤:
获取反向教师模型的反向教师模型参数,以及正向教师模型的正向教师模型参数;
利用正向教师模型对本地数据进行测试,得到第二测试结果;
根据反向教师模型参数、正向教师模型参数、第二测试结果以及预设的第二权重系数,计算得到反向蒸馏偏差值;
根据反向蒸馏偏差值更新正向教师模型,以得到反向学生模型。
作为一示例,以参与方102为例,参与方102可在本地将其本地数据(如用气负荷数据)输入正向教师模型(如负荷预测模型)中进行测试,得到第二测试结果(如负荷预测结果)。
在一些实施例中,根据反向教师模型参数、正向教师模型参数、第二测试结果以及预设的第二权重系数,计算得到反向蒸馏偏差值,具体包括:
根据反向教师模型参数和正向教师模型参数,计算得到反向教师模型与正向教师模型之间的反向蒸馏损失值;
根据第二测试结果、本地数据的真实标签,计算得到正向教师模型的第二损失函数;
根据反向蒸馏损失值、第二损失函数和第二权重系数,计算得到反向蒸馏偏差值。
可以根据下述公式(4)计算得到反向教师模型与正向教师模型之间的反向蒸馏损失值。
其中,上式(4)中,DKL(q||p)表示反向教师模型与正向教师模型之间的反向蒸馏损失值。
根据下述公式(5)计算得到正向教师模型的第二损失函数。
CE(yt,y)=-∑xytlog y (5)。
其中,上式(5)中,CE(yt,y)表示第二损失函数,yt表示第二测试结果,即正向教师模型的输出,y表示输入数据x的真实标签值。
根据下述公式(6)计算得到反向蒸馏偏差值。
Lteacher=CE(yt,y)+γ2DKL(q||p) (6)。
其中,上式(6)中,Lteacer表示反向蒸馏偏差值,γ2表示第二权重系数,该第二权重系数为超参数,可由调参技术人员根据实际情况和经验进行灵活调整。
在根据上述步骤计算得到反向知识蒸馏的联合学习模型训练的反向蒸馏偏差值之后,参与方102可根据该反向蒸馏偏差值更新正向教师模型的正向教师模型参数,以得到反向学生模型01。
类似的,参与方103、104响应反向知识蒸馏的联合学习模型训练得到反向学生模型02、03的实现流程与上述参与方102响应反向知识蒸馏的联合学习模型训练得到反向学生模型01的实现流程基本相同,在此不再赘述。
在一些实施例中,上述正向教师模型包括多层网络层,每一网络层对应一组层正向教师模型参数,反向蒸馏偏差值包括多个层反向蒸馏偏差值,每一层网络层对应一个层反向蒸馏偏差值。
根据反向蒸馏偏差值更新正向教师模型,以得到反向学生模型,具体包括:
将正向教师模型的多层网络层划分为参与更新层和非参与更新层;
根据与参与更新层对应的层反向蒸馏偏差值,更新参与更新层的层正向教师模型参数,以得到反向学生模型。
作为一示例,假设正向教师模型包括m层网络层,其中,每一层网络层对应一组层正向教师模型参数,即包括有m组层正向教师模型参数,每一层网络层对应一个层反向蒸馏偏差值,即反向蒸馏偏差值包括m个层反向蒸馏偏差值。设m=10,即正向教师模型包括10层网络层,那么可根据预设的划分策略将正向教师模型的10层网络层划分为参与更新层和非参与更新层。其中,预设的划分策略可以是将前j层网络层划分为非参与更新层,将第j层之后的网络层划分为参与更新层。
示例性的,当j=5时,则可将正向教师模型的10层网络层中的第1~5层网络层划分为非参与更新层(也可称为“冻结层”),第6~10层网络层划分为参与更新层(也可称为“非冻结层”)。非参与更新层为不参与模型参数更新的网络层,参与更新层为参与模型参数更新的网络层。
根据与参与更新层对应的层反向蒸馏偏差值,更新参与更新层的层正向教师模型参数,以得到反向学生模型。具体的,可以利用上述公式(6)计算出参与更新层的层反向蒸馏偏差值,再根据层反向蒸馏偏差值进行反向传播计算出参与更新层的梯度值,利用该梯度值对参与更新层的层正向教师模型参数进行更新。例如,可利用上述公式(6)计算出第6层网络层的层反向蒸馏偏差值,再根据第6层网络层的层反向蒸馏偏差值进行反向传播计算出第6层网络层的梯度值,利用该梯度值对第6层网络层的层正向教师模型参数进行更新。
同理,可根据上述步骤对第7~10层的层正向教师模型参数进行更新。在完成对正向教师模型的第6~10层(参与更新层)的层正向教师模型参数的更新后,即可得到反向学生模型。
通过冻结正向教师模型的前面若干层非参与更新层,可以在保证利用反向教师模型对正向教师模型进行反向蒸馏,不会对正向教师模造成太大的负面影响的前提下,减少参数的传输以及通信开销,有利于降低联合学习的成本。
在一些实施例中,服务端针对多个反向学生模型进行聚合,得到的反向全局学生模型,具体包括如下步骤:
对每一个反向学生模型的同一参与更新层的反向学生模型参数进行聚合,以得到反向全局学生模型。
结合上述示例,假设参与方102、参与方103和参与方104经上述步骤训练得到的反向学生模型的网络结构相同,均包含10层网络层,参与更新层均为第6~10层。为了便于描述,将参与方102上传的反向学生模型的第6~10层网络层对应的反向学生模型参数分别记为A6、A7、A8、A9、A10,参与方103上传的反向学生模型的第6~10层网络层对应的反向学生模型参数分别记为B6、B7、B8、B9、B10,参与方104上传的反向学生模型的第6~10层网络层对应的反向学生模型参数分别记为C6、C7、C8、C9、C10。
对每一个反向学生模型的同一参与更新层的反向学生模型参数进行聚合,即系分别对“A6、B6、C6”,“A7、B7、C7”,“A8、B8、C8”,“A9、B9、C9”,“A10、B10、C10”这五层的反向学生模型参数进行聚合,得到反向全局学生模型的反向全局学生模型参数。
在实际应用中,为了实现参与方与大企业(即训练指导模型的提供方)的互利共赢,同时更好地保障参与联合学习的各方的公平性,服务端在将训练指导模型下发给各个参与方等涉及到可能会泄露大企业的数据安全隐私等环节上,可采用加密的方式传输给各个参与方,从而更好地保护大企业的数据安全性和隐私性,从而有利于提高参与方和大企业参与联合学习的积极性,营造更加健康的良性联合学习商业模式。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图4是本公开实施例提供的一种基于双向知识蒸馏的联合学习模型训练装置的示意图。如图4所示,该基于双向知识蒸馏的联合学习模型训练装置包括:
响应模块401,被配置为响应正向知识蒸馏的联合学习模型训练;
下发模块402,被配置为将服务端下发的训练指导模型确定为正向知识蒸馏的正向教师模型;
正向蒸馏模块403,被配置为基于正向教师模型,对初始化模型进行正向蒸馏,以得到正向学生模型,并将正向学生模型上传至服务端;
第一更新模块404,被配置为当接收到服务端反馈的针对多个正向学生模型进行聚合后得到的正向全局学生模型时,根据正向全局学生模型对正向学生模型进行更新,得到更新正向学生模型,并将更新正向学生模型确定为反向教师模型;
启动模块405,被配置为启动反向知识蒸馏的联合学习模型训练;
反向蒸馏模块406,被配置为基于反向教师模型,对正向教师模型进行反向蒸馏,以得到反向学生模型,并将反向学生模型上传至服务端;
第二更新模块407,被配置为当接收到服务端反馈的针对多个反向学生模型进行聚合后得到的反向全局学生模型时,根据反向全局学生模型对正向教师模型进行更新,得到更新正向教师模型;
训练模块408,被配置为当正向知识蒸馏和反向知识蒸馏的联合学习模型训练直至达到收敛条件时,得到目标联合学习模型。
在一些实施例中,上述正向蒸馏模块303包括:
第一获取单元,被配置为获取正向教师模型的正向教师模型参数,以及初始化模型的初始模型参数;
第一测试单元,被配置为利用初始化模型对本地数据进行测试,得到第一测试结果;
第一计算单元,被配置为根据正向教师模型参数、初始模型参数、第一测试结果以及预设的第一权重系数,计算得到正向蒸馏偏差值;
第一更新单元,被配置为根据正向蒸馏偏差值更新初始模型参数,以得到正向学生模型。
在一些实施例中,上述第一计算单元,可具体被配置为:
根据正向教师模型参数和初始模型参数,计算得到正向教师模型与初始化模型之间的正向蒸馏损失值;
根据第一测试结果、本地数据的真实标签,计算得出初始化模型的第一损失函数;
根据正向蒸馏损失值、第一损失函数和第一权重系数,计算得到正向蒸馏偏差值。
在一些实施例中,上述反向蒸馏模块406包括:
第二获取单元,被配置为获取反向教师模型的反向教师模型参数,以及正向教师模型的正向教师模型参数;
第二测试单元,被配置为利用正向教师模型对本地数据进行测试,得到第二测试结果;
第二计单元,被配置为根据反向教师模型参数、正向教师模型参数、第二测试结果以及预设的第二权重系数,计算得到反向蒸馏偏差值;
第二更新单元,被配置为根据反向蒸馏偏差值更新正向教师模型,以得到反向学生模型。
在一些实施例中,上述第二计单元,可具体被配置为:
根据反向教师模型参数和正向教师模型参数,计算得到反向教师模型与正向教师模型之间的反向蒸馏损失值;
根据第二测试结果、本地数据的真实标签,计算得到正向教师模型的第二损失函数;
根据反向蒸馏损失值、第二损失函数和第二权重系数,计算得到反向蒸馏偏差值。
在一些实施例中,上述正向教师模型包括多层网络层,每一网络层对应一组层正向教师模型参数,反向蒸馏偏差值包括多个层反向蒸馏偏差值,每一层网络层对应一个层反向蒸馏偏差值。
根据反向蒸馏偏差值更新正向教师模型,以得到反向学生模型,包括:
将正向教师模型的多层网络层划分为参与更新层和非参与更新层;
根据与参与更新层对应的层反向蒸馏偏差值,更新参与更新层的层正向教师模型参数,以得到反向学生模型。
在一些实施例中,上述服务端针对多个反向学生模型进行聚合,得到的反向全局学生模型,包括:
对每一个反向学生模型的同一参与更新层的反向学生模型参数进行聚合,以得到反向全局学生模型。
图5是本公开实施例提供的一种基于双向知识蒸馏的联合学习模型训练系统的示意图。如图5所示,该基于双向知识蒸馏的联合学习模型训练系统包括:
服务端101;
与服务端101通信连接的客户端501;
客户端501包括如图4的基于双向知识蒸馏的联合学习模型训练装置。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
图6是本公开实施例提供的电子设备6的示意图。如图6所示,该实施例的电子设备6包括:处理器601、存储器602以及存储在该存储器602中并且可在处理器601上运行的计算机程序603。处理器601执行计算机程序603时实现上述各个方法实施例中的步骤。或者,处理器601执行计算机程序603时实现上述各装置实施例中各模块/单元的功能。
示例性地,计算机程序603可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器602中,并由处理器601执行,以完成本公开。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序603在电子设备6中的执行过程。
电子设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备6可以包括但不仅限于处理器601和存储器602。本领域技术人员可以理解,图6仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
处理器601可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器602可以是电子设备6的内部存储单元,例如,电子设备6的硬盘或内存。存储器602也可以是电子设备6的外部存储设备,例如,电子设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器602还可以既包括电子设备6的内部存储单元也包括外部存储设备。存储器602用于存储计算机程序以及电子设备所需的其它程序和数据。存储器602还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在本公开所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
Claims (10)
1.一种基于双向知识蒸馏的联合学习模型训练方法,其特征在于,包括:
响应正向知识蒸馏的联合学习模型训练;
将服务端下发的训练指导模型确定为正向知识蒸馏的正向教师模型;
基于所述正向教师模型,对初始化模型进行正向蒸馏,以得到正向学生模型,并将所述正向学生模型上传至所述服务端;
当接收到所述服务端反馈的针对多个所述正向学生模型进行聚合后得到的正向全局学生模型时,根据所述正向全局学生模型对所述正向学生模型进行更新,得到更新正向学生模型,并将所述更新正向学生模型确定为反向教师模型;
启动反向知识蒸馏的联合学习模型训练;
基于所述反向教师模型,对所述正向教师模型进行反向蒸馏,以得到反向学生模型,并将所述反向学生模型上传至所述服务端;
当接收到所述服务端反馈的针对多个所述反向学生模型进行聚合后得到的反向全局学生模型时,根据所述反向全局学生模型对所述正向教师模型进行更新,得到更新正向教师模型;
当所述正向知识蒸馏和反向知识蒸馏的联合学习模型训练达到收敛条件时,得到目标联合学习模型。
2.根据权利要求1所述的方法,其特征在于,基于所述正向教师模型,对初始化模型进行正向蒸馏,以得到正向学生模型,包括:
获取所述正向教师模型的正向教师模型参数,以及所述初始化模型的初始模型参数;
利用所述初始化模型对本地数据进行测试,得到第一测试结果;
根据所述正向教师模型参数、初始模型参数、第一测试结果以及预设的第一权重系数,计算得到正向蒸馏偏差值;
根据所述正向蒸馏偏差值更新所述初始模型参数,以得到正向学生模型。
3.根据权利要求2所述的方法,其特征在于,根据所述正向教师模型参数、初始模型参数、第一测试结果以及预设的第一权重系数,计算得到正向蒸馏偏差值,包括:
根据所述正向教师模型参数和初始模型参数,计算得到所述正向教师模型与所述初始化模型之间的正向蒸馏损失值;
根据所述第一测试结果、所述本地数据的真实标签,计算得出所述初始化模型的第一损失函数;
根据所述正向蒸馏损失值、第一损失函数和第一权重系数,计算得到正向蒸馏偏差值。
4.根据权利要求1所述的方法,其特征在于,基于所述反向教师模型,对所述正向教师模型进行反向蒸馏,以得到反向学生模型,包括:
获取所述反向教师模型的反向教师模型参数,以及所述正向教师模型的正向教师模型参数;
利用所述正向教师模型对本地数据进行测试,得到第二测试结果;
根据所述反向教师模型参数、正向教师模型参数、第二测试结果以及预设的第二权重系数,计算得到反向蒸馏偏差值;
根据所述反向蒸馏偏差值更新所述正向教师模型,以得到反向学生模型。
5.根据权利要求4所述的方法,其特征在于,根据所述反向教师模型参数、正向教师模型参数、第二测试结果以及预设的第二权重系数,计算得到反向蒸馏偏差值,包括:
根据所述反向教师模型参数和所述正向教师模型参数,计算得到所述反向教师模型与所述正向教师模型之间的反向蒸馏损失值;
根据所述第二测试结果、所述本地数据的真实标签,计算得到所述正向教师模型的第二损失函数;
根据所述反向蒸馏损失值、第二损失函数和第二权重系数,计算得到反向蒸馏偏差值。
6.根据权利要求4所述的方法,其特征在于,所述正向教师模型包括多层网络层,每一所述网络层对应一组层正向教师模型参数,所述反向蒸馏偏差值包括多个层反向蒸馏偏差值,每一层所述网络层对应一个所述层反向蒸馏偏差值;
根据所述反向蒸馏偏差值更新所述正向教师模型,以得到反向学生模型,包括:
将所述正向教师模型的多层网络层划分为参与更新层和非参与更新层;
根据与所述参与更新层对应的层反向蒸馏偏差值,更新所述参与更新层的层正向教师模型参数,以得到反向学生模型。
7.根据权利要求6所述的方法,其特征在于,所述服务端针对多个所述反向学生模型进行聚合,得到的反向全局学生模型,包括:
对每一个所述反向学生模型的同一参与更新层的反向学生模型参数进行聚合,以得到反向全局学生模型。
8.一种基于双向知识蒸馏的联合学习模型训练装置,其特征在于,包括:
响应模块,被配置为响应正向知识蒸馏的联合学习模型训练;
下发模块,被配置为将服务端下发的训练指导模型确定为正向知识蒸馏的正向教师模型;
正向蒸馏模块,被配置为基于所述正向教师模型,对初始化模型进行正向蒸馏,以得到正向学生模型;
第一更新模块,被配置为当接收到所述服务端反馈的针对多个所述正向学生模型进行聚合后得到的正向全局学生模型时,根据所述正向全局学生模型对所述正向学生模型进行更新,得到更新正向学生模型,并将所述更新正向学生模型确定为反向教师模型;
启动模块,被配置为启动反向知识蒸馏的联合学习模型训练;
反向蒸馏模块,被配置为基于所述反向教师模型,对所述正向教师模型进行反向蒸馏,以得到反向学生模型;
第二更新模块,被配置为当接收到所述服务端反馈的针对多个所述反向学生模型进行聚合后得到的反向全局学生模型时,根据所述反向全局学生模型对所述正向教师模型进行更新,得到更新正向教师模型;
训练模块,被配置为当所述正向知识蒸馏和反向知识蒸馏的联合学习模型训练直至达到收敛条件时,得到目标联合学习模型。
9.一种基于双向知识蒸馏的联合学习模型训练系统,其特征在于,包括:
服务端;
与所述服务端通信连接的客户端;
所述客户端包括如权利要求8所述的基于双向知识蒸馏的联合学习模型训练装置。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210691711.2A CN117313832A (zh) | 2022-06-17 | 2022-06-17 | 基于双向知识蒸馏的联合学习模型训练方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210691711.2A CN117313832A (zh) | 2022-06-17 | 2022-06-17 | 基于双向知识蒸馏的联合学习模型训练方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117313832A true CN117313832A (zh) | 2023-12-29 |
Family
ID=89241234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210691711.2A Pending CN117313832A (zh) | 2022-06-17 | 2022-06-17 | 基于双向知识蒸馏的联合学习模型训练方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117313832A (zh) |
-
2022
- 2022-06-17 CN CN202210691711.2A patent/CN117313832A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112329940A (zh) | 一种结合联邦学习与用户画像的个性化模型训练方法及系统 | |
CN112770291B (zh) | 基于联邦学习和信任评估的分布式入侵检测方法及系统 | |
CN109194508B (zh) | 基于区块链的数据处理方法和装置 | |
CN109194510B (zh) | 基于区块链的数据处理方法和装置 | |
WO2023071106A1 (zh) | 联邦学习管理方法、装置、计算机设备及存储介质 | |
CN114330125A (zh) | 基于知识蒸馏的联合学习训练方法、装置、设备及介质 | |
CN113988310A (zh) | 深度学习模型选择方法、装置、计算机设备和介质 | |
CN112948885B (zh) | 实现隐私保护的多方协同更新模型的方法、装置及系统 | |
US20220318412A1 (en) | Privacy-aware pruning in machine learning | |
He et al. | Three-stage stackelberg game enabled clustered federated learning in heterogeneous UAV swarms | |
CN113435534A (zh) | 一种基于相似度度量的数据异构处理方法、装置、计算机设备及计算机可读存储介质 | |
CN117313832A (zh) | 基于双向知识蒸馏的联合学习模型训练方法、装置及系统 | |
CN116340959A (zh) | 一种面向断点隐私保护的方法、装置、设备及介质 | |
CN117033997A (zh) | 数据切分方法、装置、电子设备和介质 | |
CN113887746A (zh) | 基于联合学习的降低通信压力的方法及装置 | |
CN114462573A (zh) | 一种面向边缘智能的高效层次化参数传输时延优化方法 | |
CN116050557A (zh) | 电力负荷预测方法、装置、计算机设备和介质 | |
CN116362101A (zh) | 基于联合学习的数据处理方法、数据模型生成方法及装置 | |
CN116541831B (zh) | 一种基于区块链与联邦学习的双重防御方法 | |
CN115481752B (zh) | 模型训练方法、装置、电子设备以及存储介质 | |
Malandrino et al. | Flexible parallel learning in edge scenarios: Communication, computational and energy cost | |
CN113887744A (zh) | 基于联合学习的数据特征提取方法及装置 | |
Yin et al. | FedSCS: Client Selection for Federated Learning Under System Heterogeneity and Client Fairness with a Stackelberg Game Approach | |
WO2023093229A1 (zh) | 一种联合学习参数聚合方法、装置及系统 | |
CN117688435A (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 |