CN114330125A - 基于知识蒸馏的联合学习训练方法、装置、设备及介质 - Google Patents
基于知识蒸馏的联合学习训练方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114330125A CN114330125A CN202111637015.5A CN202111637015A CN114330125A CN 114330125 A CN114330125 A CN 114330125A CN 202111637015 A CN202111637015 A CN 202111637015A CN 114330125 A CN114330125 A CN 114330125A
- Authority
- CN
- China
- Prior art keywords
- model
- local
- prediction result
- distillation
- participant
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Feedback Control In General (AREA)
Abstract
本公开提供了一种基于知识蒸馏的联合学习训练方法、装置、设备及介质。该方法包括:获取初始化全局模型,将初始化全局模型作为知识蒸馏的指导模型;利用指导模型对本地数据进行预测,得到第一预测结果,并利用本地数据对参与方的本地模型进行训练,得到第二预测结果;将第一预测结果与第二预测结果进行距离衡量,将距离衡量的结果作为指导模型与本地模型之间的蒸馏损失,基于蒸馏损失以及本地模型的损失函数计算偏差值;基于偏差值,利用反向传播算法计算梯度值,利用梯度值对本地模型的参数进行更新,并将参数更新后的本地模型上传至聚合服务器,以使聚合服务器执行聚合操作。本公开能够提高联合模型的收敛速度及模型性能,提升联合学习效率。
Description
技术领域
本公开涉及联合学习技术领域,尤其涉及一种基于知识蒸馏的联合学习训练方法、装置、设备及介质。
背景技术
随着计算机技术的不断发展,人工智能的应用也越来越广泛,通过联合不同参与方进行机器学习的联合学习方法成为一种训练人工智能模型的主流趋势。联合学习作为一种新型的分布式机器学习框架,满足了多个客户端在数据安全的要求下进行模型训练的需求。
在现有的联合学习算法中,联合学习的参与方先利用本地数据对本地模型进行若干轮的训练之后,再将本地模型参数发送给中心节点进行聚合生成聚合模型。但是,参与方在利用多轮次训练得到本地模型参数的过程中,所基于的初始化参数是本地模型自身的初始参数,而本地模型的初始参数往往精度比较低;并且由于无法利用更精确的模型对本地模型的训练过程进行指导,导致在基于传统的联合学习方法进行模型训练时,联合模型的收敛速度比较低,模型性能普遍比较差。
鉴于上述现有技术中的问题,需要提供一种能够提升联合学习的收敛速度,提升联合模型性能的联合学习训练方案。
发明内容
有鉴于此,本公开实施例提供了一种基于知识蒸馏的联合学习训练方法、装置、设备及介质,以解决现有技术存在的联合学习的收敛速度和模型性能普遍比较低的问题。
本公开实施例的第一方面,提供了一种基于知识蒸馏的联合学习训练方法,包括:获取由聚合服务器下发的初始化全局模型,并将初始化全局模型作为知识蒸馏的指导模型;利用指导模型对参与方的本地数据进行预测,得到第一预测结果,并利用本地数据对参与方的本地模型进行训练,得到第二预测结果;将第一预测结果与第二预测结果进行距离衡量,将距离衡量的结果作为指导模型与本地模型之间的蒸馏损失,基于蒸馏损失以及本地模型的损失函数计算偏差值;基于偏差值,利用反向传播算法计算梯度值,利用梯度值对本地模型的参数进行更新,并将参数更新后的本地模型上传至聚合服务器,以使聚合服务器执行聚合操作。
本公开实施例的第二方面,提供了一种基于知识蒸馏的联合学习训练装置,包括:获取模块,被配置为获取由聚合服务器下发的初始化全局模型,并将初始化全局模型作为知识蒸馏的指导模型;预测模块,被配置为利用指导模型对参与方的本地数据进行预测,得到第一预测结果,并利用本地数据对参与方的本地模型进行训练,得到第二预测结果;蒸馏模块,被配置为将第一预测结果与第二预测结果进行距离衡量,将距离衡量的结果作为指导模型与本地模型之间的蒸馏损失,基于蒸馏损失以及本地模型的损失函数计算偏差值;更新模块,被配置为基于偏差值,利用反向传播算法计算梯度值,利用梯度值对本地模型的参数进行更新,并将参数更新后的本地模型上传至聚合服务器,以使聚合服务器执行聚合操作。
本公开实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过获取由聚合服务器下发的初始化全局模型,并将初始化全局模型作为知识蒸馏的指导模型;利用指导模型对参与方的本地数据进行预测,得到第一预测结果,并利用本地数据对参与方的本地模型进行训练,得到第二预测结果;将第一预测结果与第二预测结果进行距离衡量,将距离衡量的结果作为指导模型与本地模型之间的蒸馏损失,基于蒸馏损失以及本地模型的损失函数计算偏差值;基于偏差值,利用反向传播算法计算梯度值,利用梯度值对本地模型的参数进行更新,并将参数更新后的本地模型上传至聚合服务器,以使聚合服务器执行聚合操作。本公开基于知识蒸馏的方法,利用初始化参数精度比较高的全局模型,对参与方本地模型的参数训练进行指导,从而更新本地模型的参数,使本地模型的模型性能得到提升,并加快联合模型的收敛速度,提升联合学习的效率。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本公开实施例提供的一种联合学习的架构示意图;
图2是本公开实施例提供的基于知识蒸馏的联合学习训练方法的流程示意图;
图3是本公开实施例提供的基于知识蒸馏的联合学习训练装置的结构示意图;
图4是本公开实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
联合学习是指在确保数据安全及用户隐私的前提下,综合利用多种AI(Artificial Intelligence,人工智能)技术,联合多方合作共同挖掘数据价值,催生基于联合建模的新的智能业态和模式。联合学习至少具有以下特点:
(1)参与节点控制自有数据的弱中心化联合训练模式,确保共创智能过程中的数据隐私安全。
(2)在不同应用场景下,利用筛选和/或组合AI算法、隐私保护计算,建立多种模型聚合优化策略,以获取高层次、高质量的模型。
(3)在确保数据安全及用户隐私的前提下,基于多种模型聚合优化策略,获取提升联合学习引擎的效能方法,其中效能方法可以是通过解决包括计算架构并行、大规模跨域网络下的信息交互、智能感知、异常处理机制等,提升联合学习引擎的整体效能。
(4)获取各场景下多方用户的需求,通过互信机制,确定合理评估各联合参与方的真实贡献度,进行分配激励。
基于上述方式,可以建立基于联合学习的AI技术生态,充分发挥行业数据价值,推动垂直领域的场景落地。
下面将结合附图详细说明根据本公开实施例的一种联合学习训练方法及装置。
图1是本公开实施例提供的一种联合学习的架构示意图。如图1所示,联合学习的架构可以包括服务器(中心节点)101以及参与方102、参与方103和参与方104。
在联合学习过程中,基本模型可以通过服务器101建立,服务器101将该模型发送至与其建立通信连接的参与方102、参与方103和参与方104。基本模型还可以是任一参与方建立后上传至服务器101,服务器101将该模型发送至与其建立通信连接的其他参与方。参与方102、参与方103和参与方104根据下载的基本结构和模型参数构建模型,利用本地数据进行模型训练,获得更新的模型参数,并将更新的模型参数加密上传至服务器101。服务器101对参与方102、参与方103和参与方104发送的模型参数进行聚合,获得全局模型参数,并将全局模型参数传回至参与方102、参与方103和参与方104。参与方102、参与方103和参与方104根据接收的全局模型参数对各自的模型进行迭代,直到模型最终收敛,从而实现对模型的训练。在联合学习过程中,参与方102、参与方103和参与方104上传的数据为模型参数,本地数据并不会上传至服务器101,且所有参与方可以共享最终的模型参数,因此可以在保证数据隐私的基础上实现共同建模。需要说明的是,参与方的数量不限于如上所述的三个,而是可以根据需要进行设置,本公开实施例对此不作限制。
图2是本公开实施例提供的基于知识蒸馏的联合学习训练方法的流程示意图。图2的基于知识蒸馏的联合学习训练方法可以由联合学习的服务器或者客户端执行。如图2所示,该基于知识蒸馏的联合学习训练方法具体可以包括:
S201,获取由聚合服务器下发的初始化全局模型,并将初始化全局模型作为知识蒸馏的指导模型;
S202,利用指导模型对参与方的本地数据进行预测,得到第一预测结果,并利用本地数据对参与方的本地模型进行训练,得到第二预测结果;
S203,将第一预测结果与第二预测结果进行距离衡量,将距离衡量的结果作为指导模型与本地模型之间的蒸馏损失,基于蒸馏损失以及本地模型的损失函数计算偏差值;
S204,基于偏差值,利用反向传播算法计算梯度值,利用梯度值对本地模型的参数进行更新,并将参数更新后的本地模型上传至聚合服务器,以使聚合服务器执行聚合操作。
具体地,每个参与方对应联合学习框架中的一个节点,每个节点对应一个参与方,参与方既可以是传感器、旋转机械设备、物联网设备、IOT设备、PC、平板电脑、智能手机、智能可穿戴设备等,还可以是公司或者工厂等对象。每个参与方上具有联合学习参与方的客户终端,但参与方并不局限于上述这些设备或者客户端。联合学习框架中还具有为客户端提供服务的节点(即服务端),服务端可以是用于执行聚合操作的服务器,服务端可以协调多个客户端进行联合学习以得到联合学习模型。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者云计算服务器。
进一步地,在联合学习中一个聚合周期是指对联合学习模型进行的一轮训练,各参与方客户端利用本地数据对本地模型进行训练,当本地模型训练达到收敛时,得到训练后的本地模型参数,并将其发送给服务端。所有参与方在每个聚合轮次都会上传自己的本地模型参数,服务器进行加权平均得出一个联合模型来,因此每个参与方在每一轮次都会做出自己的贡献,此处的轮表示服务端对联合学习模型进行一次完整的训练。
进一步地,需要说明的是,在本公开基于知识蒸馏的联合学习训练方法中,聚合服务器将全局模型下发给各个参与方之后,参与方利用本地的私有数据执行一定轮次的本地模型训练来迭代更新本地模型。在本地模型的更新迭代过程中,将全局模型作为知识蒸馏的指导模型,将本地模型作为学生模型,利用指导模型对本地数据(即参与方的私有数据)的预测结果,来指导学生模型进行参数更新,以达到更新本地模型参数的目的,使收敛后的本地模型的参数更加精确,从而加快本地模型的收敛速度和提升模型性能。
根据本公开实施例提供的技术方案,通过获取由聚合服务器下发的初始化全局模型,并将初始化全局模型作为知识蒸馏的指导模型;利用指导模型对参与方的本地数据进行预测,得到第一预测结果,并利用本地数据对参与方的本地模型进行训练,得到第二预测结果;将第一预测结果与第二预测结果进行距离衡量,将距离衡量的结果作为指导模型与本地模型之间的蒸馏损失,基于蒸馏损失以及本地模型的损失函数计算偏差值;基于偏差值,利用反向传播算法计算梯度值,利用梯度值对本地模型的参数进行更新,并将参数更新后的本地模型上传至聚合服务器,以使聚合服务器执行聚合操作。本公开基于知识蒸馏的方法,利用初始化参数精度比较高的全局模型,对参与方本地模型的参数训练进行指导,从而更新本地模型的参数,使本地模型的模型性能得到提升,并加快联合模型的收敛速度,提升联合学习的效率。
在一些实施例中,在获取由聚合服务器下发的初始化全局模型之后,方法还包括:联合学习中的每个参与方获取由聚合服务器下发的初始化全局模型,利用初始化全局模型的参数对每个参与方的本地模型执行初始化操作,得到初始化后的本地模型。
具体地,聚合服务器也可以是指联合学习框架中的中心节点,在联合学习开始之前,聚合服务器可以先从第三方获取一个预先定义好的初始化模型,将该初始化模型作为初始化全局模型下发给各个参与方。在实际应用中,聚合服务器也可以认为是联合学习中的server端,参与方可以认为是联合学习中的client端,全局模型也可以称为global_model(全局模型),因此,Server端首先初始化global模型,并将初始化后的global_model下发给各个client端,以使client端接收到server端下发的初始化的global_model。
进一步地,联合学习的参与方在获取聚合服务器下发的初始化全局模型之后,各个参与方分别对自身的本地模型进行初始化操作。在本地模型的初始化过程中,可以利用上述已获取的初始化全局模型的参数来替换本地模型的参数,从而完成对本地模型参数的初始化。在实际应用中,参与方的本地模型也可以称为local_model(本地模型),因此参与联合训练的各个client端接收sever端发送的global_model之后,对local_model进行初始化操作并执行本地模型训练。
根据本公开实施例提供的技术方案,由于初始化全局模型的参数精度比较高,因此联合学习的参与方使用初始化全局模型的参数来对本地模型的参数进行初始化,从而使本地模型的初始化参数也具有比较高的精度。
在一些实施例中,利用指导模型对参与方的本地数据进行预测,得到第一预测结果,并利用本地数据对参与方的本地模型进行训练,得到第二预测结果,包括:将参与方的本地数据作为指导模型的输入,利用指导模型对参与方的本地数据进行预测,得到指导模型对应的第一预测结果;将参与方的本地数据作为本地模型的输入,利用本地数据对本地模型执行若干轮次的训练,在每一个训练轮次中,对本地模型的训练得到至少一个第二预测结果。
具体地,在参与方的本地模型训练过程中,将初始化全局模型作为知识蒸馏的指导模型,利用指导模型对参与方的本地数据进行预测得到第一预测结果,即指导模型的第一预测值y_teacher。在本地模型利用本地数据进行多轮次的训练时,每一个训练轮次过程中,利用本地模型对参与方的本地数据进行预测得到第二预测结果,即本地模型的第二预测值y_student。因此,在本地模型的训练过程中,每一个训练轮次对应一个第二预测值。
在这里,知识蒸馏是指将一个预先训练好的大模型的知识通过知识蒸馏的方式迁移到一个较小的模型当中。本公开实施例中大模型是指初始化全局模型(即指导模型),小模型是指参与方的本地模型。知识蒸馏的目的是为了让小模型学到大模型的知识,即让student模型(本地模型)的输出接近(拟合操作)teacher模型(指导模型)的输出。因此,在基于知识蒸馏的联合学习过程中,需要定义一个方法去衡量student模型和teacher模型的接近程度,即定义一个损失函数。
进一步地,本公开实施例采用的是知识蒸馏中的自蒸馏方法,自蒸馏可以认为是知识蒸馏的一种特殊情况,在自蒸馏方法中大模型和小模型的尺寸、大小是相同的,两者之间本质上是一个twins模型,模型架构相同,不同的是模型之间的参数。对具有相同架构的两个模型之间执行自蒸馏操作,可以提高模型在测试集上的效果以及提高模型的收敛速度和模型性能。
在一些实施例中,将第一预测结果与第二预测结果进行距离衡量,将距离衡量的结果作为指导模型与本地模型之间的蒸馏损失,包括:基于第一预测结果以及第二预测结果,利用预设的距离函数计算第一预测结果与第二预测结果之间的误差,将误差作为指导模型与本地模型之间的蒸馏损失。
具体地,基于Distance距离衡量函数,将第一预测结果与第二预测结果作为距离函数的输入,计算指导模型与本地模型之间的蒸馏损失。通过将初始化全局模型对本地数据的预测输出结果作为一个软标签,与本地模型的预测输出结果之间进行距离衡量,即计算第一预测结果与第二预测结果之间的蒸馏损失,蒸馏损失能够表示指导模型与本地模型的输出结果之间的近似程度,Distance的误差值越小,表示小模型的输出结果越接近大模型的输出结果,即表示小模型的预测结果越准确。在实际应用中,距离函数可以使用余弦函数或者KL-Divergence函数。
在一些实施例中,基于蒸馏损失以及本地模型的损失函数计算偏差值,包括:利用第二预测结果以及本地数据对应的真实标签,对损失函数进行计算得到损失函数值,基于蒸馏损失以及损失函数值,利用预设的公式计算偏差值。
具体地,在计算模型的偏差值之前,需要先对本地模型进行损失函数的计算,即利用本地模型对应的第二预测值以及真实标签值,计算第二预测值与真实标签值之间的CE(CrossEntropy)损失函数。本地模型的损失函数用于表示本地模型的输出结果和实际标签之间的近似程度,其中CE可以使用交叉熵损失函数。
在一些实施例中,采用以下公式计算偏差值:
LOSS=CE(ystudent,y)+Distance(ystudent,y_teacher)
其中,LOSS表示偏差值,CE(ystudent,y)表示本地模型对应的损失函数值,Distance(ystudent,y_teacher)表示指导模型与本地模型之间的蒸馏损失。
具体地,在本地模型的训练过程中,通过优化上述公式来学习新的模型参数,即利用LOSS进行反向传播计算梯度值,利用梯度值对模型参数进行更新。在这里,LOSS包含两部分内容,一部分是小模型自身的预测结果跟真实标签之间的损失值CE,另一部分是蒸馏损失,即小模型的输出与指导模型的输出之间的误差(蒸馏损失)。
在一些实施例中,基于偏差值,利用反向传播算法计算梯度值,利用梯度值对本地模型的参数进行更新,包括:利用预设的反向传播算法对偏差值进行求偏导,得到当前梯度的更新值,利用当前梯度的更新值对本地模型的参数进行更新,得到更新后的本地模型参数。
具体地,在计算得到LOSS之后,基于LOSS利用求偏导的方式,计算当前梯度的更新值,即通过梯度下降算法,计算本地模型在当前训练轮次对应的梯度值,并利用梯度值更新参数。
进一步地,上述实施例是以本地模型训练中的一个训练轮次为例进行描述的,在实际应用中,通过重复执行上述实施例中的操作,即可得到经过若干训练轮次的训练及更新参数后得到的本地模型参数,将最终更新得到的本地模型参数作为参与方上报给聚合服务器的模型参数,即对本地模型执行若干轮次的训练后上传最终的本地模型。
进一步地,聚合服务器接收来自各个参与方的联合模型,对联合模型中的参数进行平均聚合,得到聚合模型,并将聚合模型下发给各个参与方,重复执行以上迭代操作,直至联合模型达到收敛或者达到指定的训练轮次,最终得到训练了T个聚合周期的联合模型。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图3是本公开实施例提供的基于知识蒸馏的联合学习训练装置的结构示意图。如图3所示,该基于知识蒸馏的联合学习训练装置包括:
获取模块301,被配置为获取由聚合服务器下发的初始化全局模型,并将初始化全局模型作为知识蒸馏的指导模型;
预测模块302,被配置为利用指导模型对参与方的本地数据进行预测,得到第一预测结果,并利用本地数据对参与方的本地模型进行训练,得到第二预测结果;
蒸馏模块303,被配置为将第一预测结果与第二预测结果进行距离衡量,将距离衡量的结果作为指导模型与本地模型之间的蒸馏损失,基于蒸馏损失以及本地模型的损失函数计算偏差值;
更新模块304,被配置为基于偏差值,利用反向传播算法计算梯度值,利用梯度值对本地模型的参数进行更新,并将参数更新后的本地模型上传至聚合服务器,以使聚合服务器执行聚合操作。
在一些实施例中,图3的获取模块301在获取由聚合服务器下发的初始化全局模型之后,联合学习中的每个参与方获取由聚合服务器下发的初始化全局模型,利用初始化全局模型的参数对每个参与方的本地模型执行初始化操作,得到初始化后的本地模型。
在一些实施例中,图3的预测模块302将参与方的本地数据作为指导模型的输入,利用指导模型对参与方的本地数据进行预测,得到指导模型对应的第一预测结果;将参与方的本地数据作为本地模型的输入,利用本地数据对本地模型执行若干轮次的训练,在每一个训练轮次中,对本地模型的训练得到至少一个第二预测结果。
在一些实施例中,图3的蒸馏模块303基于第一预测结果以及第二预测结果,利用预设的距离函数计算第一预测结果与第二预测结果之间的误差,将误差作为指导模型与本地模型之间的蒸馏损失。
在一些实施例中,图3的蒸馏模块303利用第二预测结果以及本地数据对应的真实标签,对损失函数进行计算得到损失函数值,基于蒸馏损失以及损失函数值,利用预设的公式计算偏差值。
在一些实施例中,图3的蒸馏模块303采用以下公式计算偏差值:
LOSS=CE(ystudent,y)+Distance(ystudent,y_teacher)
其中,LOSS表示偏差值,CE(ystudent,y)表示本地模型对应的损失函数值,Distance(ystudent,y_teacher)表示指导模型与本地模型之间的蒸馏损失。
在一些实施例中,图3的更新模块304利用预设的反向传播算法对偏差值进行求偏导,得到当前梯度的更新值,利用当前梯度的更新值对本地模型的参数进行更新,得到更新后的本地模型参数。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
图4是本公开实施例提供的电子设备4的结构示意图。如图4所示,该实施例的电子设备4包括:处理器401、存储器402以及存储在该存储器402中并且可以在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/单元的功能。
示例性地,计算机程序403可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器402中,并由处理器401执行,以完成本公开。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序403在电子设备4中的执行过程。
电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
处理器401可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器402可以是电子设备4的内部存储单元,例如,电子设备4的硬盘或内存。存储器402也可以是电子设备4的外部存储设备,例如,电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器402还可以既包括电子设备4的内部存储单元也包括外部存储设备。存储器402用于存储计算机程序以及电子设备所需的其它程序和数据。存储器402还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在本公开所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
Claims (10)
1.一种基于知识蒸馏的联合学习训练方法,其特征在于,包括:
获取由聚合服务器下发的初始化全局模型,并将所述初始化全局模型作为知识蒸馏的指导模型;
利用所述指导模型对参与方的本地数据进行预测,得到第一预测结果,并利用所述本地数据对所述参与方的本地模型进行训练,得到第二预测结果;
将所述第一预测结果与所述第二预测结果进行距离衡量,将所述距离衡量的结果作为所述指导模型与所述本地模型之间的蒸馏损失,基于所述蒸馏损失以及所述本地模型的损失函数计算偏差值;
基于所述偏差值,利用反向传播算法计算梯度值,利用所述梯度值对所述本地模型的参数进行更新,并将参数更新后的本地模型上传至所述聚合服务器,以使所述聚合服务器执行聚合操作。
2.根据权利要求1所述的方法,其特征在于,在所述获取由聚合服务器下发的初始化全局模型之后,所述方法还包括:
联合学习中的每个所述参与方获取由所述聚合服务器下发的初始化全局模型,利用所述初始化全局模型的参数对每个所述参与方的本地模型执行初始化操作,得到初始化后的本地模型。
3.根据权利要求1所述的方法,其特征在于,所述利用所述指导模型对参与方的本地数据进行预测,得到第一预测结果,并利用所述本地数据对所述参与方的本地模型进行训练,得到第二预测结果,包括:
将所述参与方的本地数据作为所述指导模型的输入,利用所述指导模型对所述参与方的本地数据进行预测,得到所述指导模型对应的第一预测结果;
将所述参与方的本地数据作为所述本地模型的输入,利用所述本地数据对所述本地模型执行若干轮次的训练,在每一个训练轮次中,对所述本地模型的训练得到至少一个所述第二预测结果。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一预测结果与所述第二预测结果进行距离衡量,将所述距离衡量的结果作为所述指导模型与所述本地模型之间的蒸馏损失,包括:
基于所述第一预测结果以及所述第二预测结果,利用预设的距离函数计算所述第一预测结果与所述第二预测结果之间的误差,将所述误差作为所述指导模型与所述本地模型之间的蒸馏损失。
5.根据权利要求4所述的方法,其特征在于,所述基于所述蒸馏损失以及所述本地模型的损失函数计算偏差值,包括:
利用所述第二预测结果以及所述本地数据对应的真实标签,对所述损失函数进行计算得到损失函数值,基于所述蒸馏损失以及所述损失函数值,利用预设的公式计算所述偏差值。
6.根据权利要求5所述的方法,其特征在于,采用以下公式计算所述偏差值:
LOSS=CE(ystudent,y)+Distance(ystudent,y_teacher)
其中,LOSS表示偏差值,CE(ystudent,y)表示所述本地模型对应的损失函数值,Distance(ystudent,y_teacher)表示所述指导模型与所述本地模型之间的蒸馏损失。
7.根据权利要求1所述的方法,其特征在于,所述基于所述偏差值,利用反向传播算法计算梯度值,利用所述梯度值对所述本地模型的参数进行更新,包括:
利用预设的所述反向传播算法对所述偏差值进行求偏导,得到当前梯度的更新值,利用所述当前梯度的更新值对所述本地模型的参数进行更新,得到更新后的本地模型参数。
8.一种基于知识蒸馏的联合学习训练装置,其特征在于,包括:
获取模块,被配置为获取由聚合服务器下发的初始化全局模型,并将所述初始化全局模型作为知识蒸馏的指导模型;
预测模块,被配置为利用所述指导模型对参与方的本地数据进行预测,得到第一预测结果,并利用所述本地数据对所述参与方的本地模型进行训练,得到第二预测结果;
蒸馏模块,被配置为将所述第一预测结果与所述第二预测结果进行距离衡量,将所述距离衡量的结果作为所述指导模型与所述本地模型之间的蒸馏损失,基于所述蒸馏损失以及所述本地模型的损失函数计算偏差值;
更新模块,被配置为基于所述偏差值,利用反向传播算法计算梯度值,利用所述梯度值对所述本地模型的参数进行更新,并将参数更新后的本地模型上传至所述聚合服务器,以使所述聚合服务器执行聚合操作。
9.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111637015.5A CN114330125A (zh) | 2021-12-29 | 2021-12-29 | 基于知识蒸馏的联合学习训练方法、装置、设备及介质 |
PCT/CN2022/120660 WO2023124296A1 (zh) | 2021-12-29 | 2022-09-22 | 基于知识蒸馏的联合学习训练方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111637015.5A CN114330125A (zh) | 2021-12-29 | 2021-12-29 | 基于知识蒸馏的联合学习训练方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114330125A true CN114330125A (zh) | 2022-04-12 |
Family
ID=81017278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111637015.5A Pending CN114330125A (zh) | 2021-12-29 | 2021-12-29 | 基于知识蒸馏的联合学习训练方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114330125A (zh) |
WO (1) | WO2023124296A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023124296A1 (zh) * | 2021-12-29 | 2023-07-06 | 新智我来网络科技有限公司 | 基于知识蒸馏的联合学习训练方法、装置、设备及介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117097797B (zh) * | 2023-10-19 | 2024-02-09 | 浪潮电子信息产业股份有限公司 | 云边端协同方法、装置、系统、电子设备及可读存储介质 |
CN117196070B (zh) * | 2023-11-08 | 2024-01-26 | 山东省计算中心(国家超级计算济南中心) | 一种面向异构数据的双重联邦蒸馏学习方法及装置 |
CN117408330B (zh) * | 2023-12-14 | 2024-03-15 | 合肥高维数据技术有限公司 | 面向非独立同分布数据的联邦知识蒸馏方法及装置 |
CN117575423B (zh) * | 2024-01-10 | 2024-04-16 | 湖南工商大学 | 基于联邦学习系统的工业产品质量检测方法及相关设备 |
CN117934931A (zh) * | 2024-01-16 | 2024-04-26 | 广州杰鑫科技股份有限公司 | 一种模型更新方法、装置、光缆智能运维系统和存储介质 |
CN117650834B (zh) * | 2024-01-29 | 2024-04-12 | 南京理工大学 | 基于知识蒸馏的天地一体化网络时空流量预测方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4035096A4 (en) * | 2019-09-23 | 2023-07-19 | Presagen Pty Ltd | ARTIFICIAL INTELLIGENCE (AI) DECENTRALIZED MACHINE LEARNING TRAINING SYSTEM |
CN113435534A (zh) * | 2021-07-09 | 2021-09-24 | 新智数字科技有限公司 | 一种基于相似度度量的数据异构处理方法、装置、计算机设备及计算机可读存储介质 |
CN113516255A (zh) * | 2021-07-28 | 2021-10-19 | 深圳前海微众银行股份有限公司 | 联邦学习建模优化方法、设备、可读存储介质及程序产品 |
CN113792892A (zh) * | 2021-09-29 | 2021-12-14 | 深圳前海微众银行股份有限公司 | 联邦学习建模优化方法、设备、可读存储介质及程序产品 |
CN114330125A (zh) * | 2021-12-29 | 2022-04-12 | 新智我来网络科技有限公司 | 基于知识蒸馏的联合学习训练方法、装置、设备及介质 |
-
2021
- 2021-12-29 CN CN202111637015.5A patent/CN114330125A/zh active Pending
-
2022
- 2022-09-22 WO PCT/CN2022/120660 patent/WO2023124296A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023124296A1 (zh) * | 2021-12-29 | 2023-07-06 | 新智我来网络科技有限公司 | 基于知识蒸馏的联合学习训练方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023124296A1 (zh) | 2023-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114330125A (zh) | 基于知识蒸馏的联合学习训练方法、装置、设备及介质 | |
CN111242282B (zh) | 基于端边云协同的深度学习模型训练加速方法 | |
CN111030861B (zh) | 一种边缘计算分布式模型训练方法、终端和网络侧设备 | |
CN113033712B (zh) | 一种基于联邦学习的多用户协同训练人流统计方法及系统 | |
US11410081B2 (en) | Machine learning with differently masked data in secure multi-party computing | |
CN110659678B (zh) | 一种用户行为分类方法、系统及存储介质 | |
US11093827B2 (en) | Variable ISA vector-based compaction in distributed training of neural networks | |
US20210150351A1 (en) | Isa-based compression in distributed training of neural networks | |
WO2021197223A1 (zh) | 一种模型压缩方法、系统、终端及存储介质 | |
CN113987941A (zh) | 时间序列预测方法、装置、计算机设备和可读存储介质 | |
CN113435534A (zh) | 一种基于相似度度量的数据异构处理方法、装置、计算机设备及计算机可读存储介质 | |
CN113486584A (zh) | 设备故障的预测方法、装置、计算机设备及计算机可读存储介质 | |
Liu et al. | Efficient federated learning for AIoT applications using knowledge distillation | |
Pan et al. | Privacy-Preserving Multi-Granular Federated Neural Architecture Search–A General Framework | |
CN114116707A (zh) | 确定联合学习中参与方贡献度的方法及装置 | |
WO2023109246A1 (zh) | 一种面向断点隐私保护的方法、装置、设备及介质 | |
WO2023124219A1 (zh) | 一种联合学习模型迭代更新方法、装置、系统及存储介质 | |
CN117033997A (zh) | 数据切分方法、装置、电子设备和介质 | |
CN114298319A (zh) | 联合学习贡献值的确定方法、装置、电子设备及存储介质 | |
Lin et al. | Performance analysis and optimization for federated learning applications with pysyft-based secure aggregation | |
CN114154714A (zh) | 时序数据预测方法、装置、计算机设备及介质 | |
CN116050557A (zh) | 电力负荷预测方法、装置、计算机设备和介质 | |
CN114503505A (zh) | 从分布式网络中的有噪声的数值数据学习模式字典 | |
WO2023124312A1 (zh) | 联合学习中的预测方法及装置 | |
CN114298320A (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 |