CN115841133A - 一种联邦学习方法、装置、设备及存储介质 - Google Patents
一种联邦学习方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115841133A CN115841133A CN202211594997.9A CN202211594997A CN115841133A CN 115841133 A CN115841133 A CN 115841133A CN 202211594997 A CN202211594997 A CN 202211594997A CN 115841133 A CN115841133 A CN 115841133A
- Authority
- CN
- China
- Prior art keywords
- local
- parameters
- global
- training
- 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
Landscapes
- Electrically Operated Instructional Devices (AREA)
Abstract
本申请公开了一种联邦学习方法、装置、设备及存储介质,涉及隐私计算技术领域。应用于多参与方组成的联邦***,包括:获取联邦***中各参与方的本地模型参数;通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值;将本地模型参数与损失值发送到安全聚合服务器,并接收安全聚合服务器返回的全局参数和收敛状态,根据全局参数更新本地模型参数,并在收敛状态满足预设条件时停止Round训练。通过本申请的技术方案,可以提升联邦学习在参与方数据非独立同分布场景下的学习效果,并提升训练速度。
Description
技术领域
本公开涉及隐私计算技术领域,具体地,涉及一种联邦学习方法、装置、设备及存储介质。
背景技术
近年来,机器学习取得了巨大进步,有效性高度依赖于大量高质量的训练数据。然而由于越来越多的隐私问题和数据安全法规要求,“数据孤岛”正在形成。如何在不交换本地数据的情况下从分布式数据集中进行机器学习已成为一个新兴话题。最近,联邦学习成为一种越来越受关注的解决方案,它使多方参与者能够在不交换本地数据的情况下协作训练机器学习模型,联邦学习超越了传统的并行优化,避免了***性隐私风险。
数据独立同分布是指数据与数据之间都是独立的,但满足同一个分布。在联邦学***等均将影响样本分布,从而产生非独立同分布数据。非独立同分布的数据场景下,联邦学习的不同参与方局部目标函数和优化方向不一致,从而导致全局模型缺乏收敛保证,只能获得较差的收敛速度和模型性能。
在联邦学***均联邦及其扩展方法。在非独立同分布数据的环境中,由于数据分布的差异,最小化局部损失和降低全局损失之间存在根本矛盾,过往的这些方法缺乏收敛保证,只能获得较差的收敛速度和模型性能。因为模型间的差异在训练过程中会被累积放大,这是减慢收敛速度并导致性能下降的主要因素。最近也有一些学者研究如何解决联邦学习中数据的非独立同分布问题,给出了几种解决方案来处理高度倾斜的非独立同分布数据,例如(1)添加一个近端项来强制减少局部模型和全局模型之间的差异,这类方法强制局部模型与全局模型保持一致。(2)另外一些学者提出了基于启发式的方法,通过共享本地设备数据或创建一些服务器端代理数据。
然而上述方法也存在以下缺点:(1)强制局部模型与全局模型保持一致的方法最终得到了一个模型,但过于强调了局部目标和全局目标之间的一致性,不能很好的泛化不同参与方的特征。(2)启发式的方法可能是不现实的,除了给网络带宽带来负担外,向服务器发送本地数据违反了联邦学习的隐私保护假设。
综上,如何提升联邦学习在参与方数据非独立同分布场景下的学习效果是目前有待解决的问题。
发明内容
有鉴于此,本公开的目的在于提供一种联邦学习方法、装置、设备及存储介质,能够提升联邦学习在参与方数据非独立同分布场景下的学习效果。其具体方案如下:
第一方面,本申请公开了一种联邦学习方法,应用于多参与方组成的联邦***,包括:
获取所述联邦***中各参与方的本地模型参数;
通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值;其中,所述Epoch为所述参与方的所有本地训练样本在所述本地基础网络和所述自编码器的编解码层中完成一次训练的过程;所述Round训练为所述参与方完成所述Epoch迭代并通过安全聚合服务器进行一次聚合的过程;
将所述本地模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述本地模型参数进行聚合以得到全局参数,对所述损失值进行聚合,并根据聚合后的损失值确定所述参与方的收敛状态,然后将所述全局参数和所述收敛状态返回至所述参与方;
当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,根据所述全局参数更新所述本地模型参数,并在所述收敛状态满足预设条件时停止所述Round训练。
可选的,所述获取所述联邦***中各参与方的本地模型参数,包括:
获取所述联邦***中各参与方的基础模型参数和编码层参数;其中,所述基础模型参数包括特征提取层参数和常规训练网络层参数;所述编码层参数包括本地编解码层参数和全局编解码层参数。
可选的,所述通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值,包括:
在第一Round训练时,通过本地基础网络和本地编解码层利用第一预设损失函数确定出完成多次Epoch时的第一损失值;
在其他Round训练时,通过所述本地基础网络、所述本地编解码层和全局编解码层利用第二预设损失函数确定出完成多次Epoch时的第二损失值;其中,所述其他Round训练为除所述第一Round训练以外的Round训练。
可选的,所述通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值,包括:
在所述第一Round训练时,通过所述本地基础网络和所述本地编解码层利用Loss=Loss1+||Ft(X)-Jt(Ft(X))||2确定出完成多次Epoch时的第一损失值;其中,所述Loss1为交叉熵损失;Ft(*)表示特征提取模块;Jt(*)表示所述参与方t提供的本地自编码网络;||*||2表示l2距离;
在所述其他Round训练时,通过所述本地基础网络、所述本地编解码层和所述全局编解码层利用Loss=Loss1+z*Loss2确定出完成多次Epoch时的第二损失值;其中,Loss2=min(||Ft(X)-Jt(Ft(X))||2+k*||Ft(X)-Jg(Ft(X))||2);X表示输入样本;Jg(*)表示参数在所述安全聚合服务器进行聚合后的全局自编码网络;k、z为可调参数,用于调整权重。
可选的,所述通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值的过程,还包括:
利用所述预设损失函数更新梯度,并更新所述本地模型参数,以便在完成多次所述Epoch后确定出目标模型参数;
相应的,所述将所述本地模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述本地模型参数进行聚合以得到全局参数,包括:
将所述目标模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述目标模型参数进行聚合以得到全局参数。
可选的,所述将所述目标模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述目标模型参数进行聚合以得到全局参数,包括:
利用预设同态加密技术对所述目标模型参数进行加密,并将加密后的目标模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述目标模型参数进行聚合以得到全局参数;
相应的,所述当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,根据所述全局参数更新所述本地模型参数,包括:
当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,对所述全局参数进行解密,然后利用解密后的全局参数更新所述目标模型参数。
可选的,所述在所述收敛状态满足预设条件时停止所述Round训练,包括:
当所述收敛状态为所述参与方的当前Round训练收敛时,停止所述Round训练;
或,当所述收敛状态为所述参与方的当前Round训练的迭代次数达到预设阈值时,停止所述Round训练。
第二方面,本申请公开了一种联邦学习装置,应用于多参与方组成的联邦***,包括:
参数获取模块,用于获取所述联邦***中各参与方的本地模型参数;
迭代模块,用于通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值;其中,所述Epoch为所述参与方的所有本地训练样本在所述本地基础网络和所述自编码器的编解码层中完成一次训练的过程;所述Round训练为所述参与方完成所述Epoch迭代并通过安全聚合服务器进行一次聚合的过程;
聚合模块,用于将所述本地模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述本地模型参数进行聚合以得到全局参数,对所述损失值进行聚合,并根据聚合后的损失值确定所述参与方的收敛状态,然后将所述全局参数和所述收敛状态返回至所述参与方;
更新模块,用于当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,根据所述全局参数更新所述本地模型参数,并在所述收敛状态满足预设条件时停止所述Round训练。
第三方面,本申请公开了一种电子设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述存储器中的所述计算机程序,以实现如前所述的联邦学习方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如前所述的联邦学习方法的步骤。
通过上述技术方案,应用于多参与方组成的联邦***,首先获取所述联邦***中各参与方的本地模型参数;然后通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值;其中,所述Epoch为所述参与方的所有本地训练样本在所述本地基础网络和所述自编码器的编解码层中完成一次训练的过程;所述Round训练为所述参与方完成所述Epoch迭代并通过安全聚合服务器进行一次聚合的过程;将所述本地模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述本地模型参数进行聚合以得到全局参数,对所述损失值进行聚合,并根据聚合后的损失值确定所述参与方的收敛状态,然后将所述全局参数和所述收敛状态返回至所述参与方;当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,根据所述全局参数更新所述本地模型参数,并在所述收敛状态满足预设条件时停止所述Round训练。可见,在联邦学习场景中,针对不同参与方数据的非独立同分布导致全局模型缺乏收敛保证的问题,在多参与方组成的联邦***的模型训练过程中引入自编码器,通过自编码器对特征的重构,不仅保留本地模型最有价值的特征,同时为其他模型特征提供最大的灵活性,从而提升了联邦学习模型训练效果。如此一来,可以提升联邦学习在参与方数据非独立同分布场景下的学习效果,提升训练速度,并减少通信量。
本申请公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为本申请公开的一种联邦学习方法流程图;
图2为本申请公开的一种联邦学习中客户端与服务端通信示意图;
图3为本申请公开的一种联邦学习模型框架示意图;
图4为本申请公开的一种具体的联邦学习方法流程图;
图5为本申请公开的一种联邦学习装置示意图;
图6为本申请公开的一种客户端电子设备图;
图7为本申请公开的一种服务端电子设备图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
目前,在解决联邦学习中数据的非独立同分布问题时,强制局部模型与全局模型保持一致的方法,不能很好的泛化不同参与方的特征;而启发式的方法除了给网络带宽带来负担外,向服务器发送本地数据违反了联邦学习的隐私保护假设。存在解决问题的实现效果差等问题。
为此,本申请公开了一种联邦学习方案,能够提升联邦学习在参与方数据非独立同分布场景下的学习效果。
本申请实施例公开了一种联邦学习方法,参见图1所示,应用于多参与方组成的联邦***,该方法包括:
步骤S11:获取所述联邦***中各参与方的本地模型参数。
本申请实施例中,应用于多参与方组成的联邦***。假设在联邦学习场景中由多个参与方构成,安全聚合服务器可以发送和接收来自T个参与方的消息,如图2所示。每个参与方t∈T由Mt个特征形式的训练数据组成,不同参与方数据分布差异较大,构成了联邦学习在参与方数据非独立同分布场景下的学习环境。
首先,参与方1、参与方t、…、参与方T,分别初始化本地模型参数Wt。需要指出的是,本申请实施例中的本地模型参数Wt由基础模型参数和编码层参数/>组成,其中,基础模型参数/>包括特征提取层参数/>和常规训练网络层参数/>编码层参数包括本地编解码层参数和全局编解码层参数。
步骤S12:通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值。
对于大多数常用机器学习模型ft,在相关技术中通常将ft分解为Ft(*)+St(*),其中Ft(*)表示特征提取模块,St(*)表示除Ft(*)外的模型训练层和分类层;在进行训练的过程中,通常特征提取后将数据发送到常规的训练网络层St(*)。然而,本申请实施例中,在联邦模型训练过程中引入自编码器,从而用于捕获该任务最重要的特征。可以理解的是,自编码器是一种经过训练以重建其输入的神经网络,由对称的编码和解码两部分组成。一般通过最小化输入与其重构之间的l2距离来获得最佳模型。
需要指出的是,为了更好的描述本专利的步骤,假设在联邦学习场景中,每个参与方的所有本地训练样本在所述本地基础网络和所述自编码器的编解码层中完成一次训练的过程称为一次Epoch;每次参与方和安全聚合服务器进行一次参数交互,并进行聚合的过程称为一次Round。参与方在本地训练的过程中,对Epoch进行迭代;当将迭代后的数据发送给安全聚合服务器后,安全聚合服务器对参数进行聚合,实现一轮迭代(Round)。将聚合后的参数返回给各参与方后,开始本地下一轮迭代。
本申请实施例中,在第一Round训练时,因此时无全局编解码层,只有本地编解码层,所以,本地在每次Epoch时,通过本地基础网络和本地编解码层利用第一预设损失函数Loss=Loss1+||Ft(X)-Jt(Ft(X))||2确定出完成N次Epoch时的第一损失值;其中,所述Loss1为交叉熵损失;Ft(*)表示特征提取模块;Jt(*)表示所述参与方t提供的本地自编码网络;||*||2表示l2距离。
在其他Round训练时,通过所述本地基础网络、所述本地编解码层和全局编解码层利用第二预设损失函数确定出完成多次Epoch时的第二损失值;所述其他Round训练为除所述第一Round训练以外的Round训练。需要指出的是,在后续的其他Round训练过程中,利用Loss=Loss1+z*Loss2确定出损失值;其中,Loss2=min(||Ft(X)-Jt(Ft(X))||2+k*||Ft(X)-Jg(Ft(X))||2);X表示输入样本;Jg(*)表示参数在所述服务端进行聚合后的全局自编码网络;k、z为可调参数,用于调整权重。
步骤S13:将所述本地模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述本地模型参数进行聚合以得到全局参数,对所述损失值进行聚合,并根据聚合后的损失值确定所述参与方的收敛状态,然后将所述全局参数和所述收敛状态返回至所述参与方。
本申请实施例中,在第一Round训练时,每次Epoch利用所述第一预设损失函数更新梯度,并更新所述本地模型参数,进行N次Epoch后,得到目标模型参数和损失值,并发送到服务端进行聚合;在其他Round训练时,利用第二预设损失函数更新梯度,并更新所述本地模型参数,进行N次Epoch训练后,得到目标模型参数和损失值,并发送到服务端进行聚合。
可以理解的是,在第一Round训练时,Epoch为所述参与方的所有本地训练样本在所述本地网络和本地编解码层中完成一次训练的过程;在其他Round训练时,Epoch为所述参与方的所有本地训练样本在所述本地网络、本地编解码层中、全局编解码层完成一次训练的过程。
在第一种具体实施方式中,利用预设同态加密技术对所述目标模型参数进行加密,并将加密后的所述目标模型参数发送到安全聚合服务器。例如,假设用符号Xt表示联邦学习中的参与方t提供的对应于标签Yt的输入样本,那么每个参与方ft(Xt,Yt)的基础模型参数和编码层Jt(Xt)的参数/>通过预设同态加密技术,对基础模型参数/>和编码层参数/>的信息进行掩饰,并将掩饰后的/>和/>发送到安全聚合服务器。需要指出的是,此时的/>为本地编解码层网络参数;另外,预设同态加密技术也可以为差分隐私或密码共享等加密技术,在此不做具体限定。
进一步的,当利用所有参与方数据进行训练时,联邦学***均联邦,会对本地加密后的模型参数进行平均,利用对基础模型参数进行聚合;利用/>对编码层参数进行聚合;其中,T为所述参与方的个数;snt为所述参与方t的本地样本数;sna为总体样本数;Enc(*)为加密算法;/>为所述基础模型参数;/>为所述编码层参数。
在另一种具体实施方式中,将所述损失值发送到安全聚合服务器,也即,各个参与方将本地的损失值losst发送到安全聚合服务器对losst进行安全聚合。具体的,根据所述参与方中的样本数量,利用预设加权规则对所述损失值losst进行加权平均,以得到聚合后的所述损失值lossg。进一步的,根据加权平均后的lossg值判断此轮迭代是否收敛,并返回给各个参与方收敛状态。
步骤S14:当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,根据所述全局参数更新所述本地模型参数,并在所述收敛状态满足预设条件时停止所述Round训练。
相应的,在第一种具体实施方式中,各个参与方接收安全聚合服务器返回的聚合后的全局参数,其中包括全局基础模型参数和全局编码层参数/>对/>和/>进行解密,并更新本地模型参数/>和/>需要指出的是,在此过程中,同时利用/>更新自编码器中的全局编解码层,然后开始准备本地的下一轮迭代。如此一来,通过自编码器,不仅利用本地编解码层获得本地特征的重构,还利用全局编解码层完成对本地特征的重构。/>
在另一种具体实施方式中,各个参与方接收安全聚合服务器返回的收敛状态,判断收敛状态是否满足预设条件。若所述收敛状态不满足所述预设条件,则利用损失函数Loss=Loss1+z*Loss2确定出第二损失值,以便在后续迭代的过程中利用所述第二损失值更新梯度和所述本地模型参数。示例性的,可判断收敛状态是否达到收敛,并判断当前训练是否达到最大的迭代次数。需要指出的是,最大的迭代次数可以任意设置,用于灵活设置各参与方与安全聚合服务器之间进行迭代的轮数。例如,若当前模型未收敛且未达到最大的迭代次数,则判定所述收敛状态不满足所述预设条件,应该继续迭代;若当前模型未收敛但是达到最大的迭代次数,则所述收敛状态满足所述预设条件,停止迭代。
可以理解的是,在后续迭代过程中,梯度更新公式不同于第一次迭代,其中的模型框架如图3所示。另外,当本地在进行Epoch迭代的过程中,Jg(*)在本地训练的过程中,不进行网络参数的更新,在安全聚合服务器返回相应的聚合参数后再进行相应的更新。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
通过上述技术方案,应用于多参与方组成的联邦***,首先获取所述联邦***中各参与方的本地模型参数;然后通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值;其中,所述Epoch为所述参与方的所有本地训练样本在所述本地基础网络和所述自编码器的编解码层中完成一次训练的过程;所述Round训练为所述参与方完成所述Epoch迭代并通过安全聚合服务器进行一次聚合的过程;将所述本地模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述本地模型参数进行聚合以得到全局参数,对所述损失值进行聚合,并根据聚合后的损失值确定所述参与方的收敛状态,然后将所述全局参数和所述收敛状态返回至所述参与方;当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,根据所述全局参数更新所述本地模型参数,并在所述收敛状态满足预设条件时停止所述Round训练。可见,在联邦学习场景中,针对不同参与方数据的非独立同分布导致全局模型缺乏收敛保证的问题,在多参与方组成的联邦***的模型训练过程中引入自编码器,通过自编码器对特征的重构,不仅保留本地模型最有价值的特征,同时为其他模型特征提供最大的灵活性,从而提升了联邦学习模型训练效果。如此一来,可以提升联邦学习在参与方数据非独立同分布场景下的学习效果,提升训练速度,并减少通信量。。
本申请实施例公开了一种具体的联邦学习方法,参见图4所示,由于联邦学习场景中不同参与方训练本地模型,安全聚合服务器进行参数模型的安全聚合,不同参与方之间的数据分布差异较大,每轮训练、本地模型的参数更新都与最小化局部损失函数相关联,导致全局安全聚合参数对不同参与方的性能表现不够。所以,本公开的实施例提供的技术方案可以包括以下有益效果:通过学习全局和局部特征记忆编码模块来桥接不同参与方,从而提高模型收敛的鲁棒性和速度。不同于以往过程中在训练期间保留所有特征,而是只保留对本地模型最有用的特征,同时为其他参与方特征学习提供更大的灵活性,以提高全局模型的性能。该方法应用于多参与方组成的联邦***,包括:
步骤S21:获取所述联邦***中各参与方的基础模型参数和编码层参数;其中,所述基础模型参数包括特征提取层参数和常规训练网络层参数;所述编码层参数包括本地编解码层参数和全局编解码层参数。
步骤S22:在第一Round训练时,通过本地基础网络和本地编解码层利用第一预设损失函数确定出完成多次Epoch时的第一损失值;在其他Round训练时,通过所述本地基础网络、所述本地编解码层和全局编解码层利用第二预设损失函数确定出完成多次Epoch时的第二损失值。
在一种具体的实施方式中,第一Round训练时,本地基础网络和本地编码层利用Loss=Loss1+||Ft(X)-Jt(Ft(X))||2进行N次Epoch;可以理解的是,本地基础网络由特征提取层、常规网络训练层组成;第一Round训练时,Epoch为所述参与方的所有本地训练样本在所述本地网络和本地编解码层中完成一次训练的过程,此时无全局编解码层。其中,所述Loss1为交叉熵损失;Ft(*)表示特征提取模块;Jt(*)表示所述参与方t提供的本地自编码网络;||*||2表示l2距离。
在另一种具体实施方式中,其他Round训练开始前,安全聚合服务器会根据加权后的lossg值确定所述参与方的收敛状态,进一步的判断收敛状态是否满足预设条件,如判断当前Round训练的迭代过程中,此次迭代是否收敛;或判断所述参与方的当前迭代次数是否达到预设阈值。若收敛状态不满足预设条件,则在后续的其他Round训练时,利用安全聚合服务器聚合后返回的全局参数,更新基础模型参数,并更新本地编解码层和全局编解码层。然后在其他Round训练时基于预设第二损失函数进行N次Epoch训练。
步骤S23:利用所述预设损失函数更新梯度,并更新所述本地模型参数,以便在完成多次所述Epoch后确定出目标模型参数。
本申请实施例中,第一Round训练时,每次Epoch利用所述第一预设损失函数更新梯度,并更新所述本地模型参数,进行N次Epoch后,以得到目标模型参数和损失值,并发送到安全聚合服务器进行聚合。
在其他Round训练时,利用所述第二损失函数更新梯度,并更新所述本地模型参数,进行N次Epoch后,以得到目标模型参数和梯度;值得注意的是,在每Round的N次Epoch,全局编码层的参数不参与更新。只有本地基础网络和本地编码层的网络参数进行更新。
步骤S24:利用预设同态加密技术对所述目标模型参数进行加密,并将加密后的所述目标模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述目标模型参数进行聚合以得到全局参数,对所述损失值进行聚合,并根据聚合后的损失值确定所述参与方的收敛状态,然后将所述全局参数和所述收敛状态返回至所述参与方。
本申请实施例中,每个参与方将ft(Xt,Yt)的参数和编码层Jt(Xt)的参数WJt通过同态加密、差分隐私或密码共享等加密技术,对参数/>和参数/>的信息进行掩饰,并将掩饰后的/>和/>发送到服务端的安全聚合服务器。
本申请实施例中,安全聚合服务器进行安全聚合,区别于传统的安全聚合,本公开在聚合时,除了普通网络层的参数,还引入了编码层的参数。公式如下:
本申请实施例中,各个参与方也会将本地的损失值losst发送给安全聚合服务器,安全聚合服务器进行losst安全聚合,根据加权平均后的lossg值判断此次迭代是否收敛,并返回给各个参与方收敛状态。
参与方接收当前模型的收敛状态,并判断收敛状态是否满足预设条件,当不满足预设条件时需要继续迭代,其中梯度更新公式不同于第一Round训练,更新公式如下:Loss=Loss1+z*Loss2;其中,Loss2=min(||Ft(X)-Jt(Ft(X))||2+k*||Ft(X)-Jg(Ft(X))||2);Ft(*)表示特征提取模块;Jt(*)表示所述参与方t提供的本地自编码网络;X表示输入样本;Jg(*)表示参数在所述服务端进行聚合后的全局自编码网络;k、z为可调参数,用于调整权重;||*||2表示l2距离。
可以理解的是,因为第一轮迭代(第一Round训练)的过程中无全局编解码层,所以第一轮迭代采用第一预设损失函数Loss=Loss1+||Ft(X)-Jt(Ft(X))||2;在后续迭代的过程中,由于对本地的全局编解码层进行了更新,所以利用第二预设损失函数Loss=Loss1+z*Loss2确定出第二损失值,并更新梯度和所述本地模型参数。如此一来,针对联邦学习中不同参与方数据的非独立同分布导致全局模型缺乏收敛保证的问题,在联邦模型训练过程中引入自编码器,通过本地编解码层和全局编解码层两个编码器对特征的重构,不仅保留本地模型最有价值的特征,同时为其他模型特征的学习提供更大的灵活性,从而提升联邦学习的训练效果。
步骤S25:当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,对所述全局参数进行解密,然后利用解密后的全局参数更新所述目标模型参数,并在所述收敛状态满足预设条件时停止所述Round训练。
本申请实施例中,为了保证数据安全性,每个参与方利用预设同态加密技术将更新后的目标模型参数发送给安全聚合服务器,因此,在接收安全聚合服务器返回的聚合后的全局参数和用于判断各参与方的收敛状态后,解密并更新模型参数和/>同时利用更新自编码器中的全局编解码层,然后开始准备本地的下一轮迭代,当收敛状态满足预设条件后停止Round训练迭代。
可见,在联邦学习场景中,针对不同参与方数据的非独立同分布导致全局模型缺乏收敛保证的问题,在多参与方组成的联邦***的模型训练过程中引入自编码器,通过自编码器对特征的重构,不仅保留本地模型最有价值的特征,同时为其他模型特征提供最大的灵活性,从而提升了联邦学习模型训练效果。如此一来,可以提升联邦学习在参与方数据非独立同分布场景下的学习效果,提升训练速度,并减少通信量。
相应的,本申请实施例还公开了一种联邦学习装置,参见图5所示,应用于多参与方组成的联邦***,该装置包括:
参数获取模块11,用于获取所述联邦***中各参与方的本地模型参数;
迭代模块12,用于通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值;其中,所述Epoch为所述参与方的所有本地训练样本在所述本地基础网络和所述自编码器的编解码层中完成一次训练的过程;所述Round训练为所述参与方完成所述Epoch迭代并通过安全聚合服务器进行一次聚合的过程;
聚合模块13,用于将所述本地模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述本地模型参数进行聚合以得到全局参数,对所述损失值进行聚合,并根据聚合后的损失值确定所述参与方的收敛状态,然后将所述全局参数和所述收敛状态返回至所述参与方;
更新模块14,用于当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,根据所述全局参数更新所述本地模型参数,并在所述收敛状态满足预设条件时停止所述Round训练。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
由此可见,通过本实施例的上述方案,应用于多参与方组成的联邦***,首先获取所述联邦***中各参与方的本地模型参数;然后通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值;其中,所述Epoch为所述参与方的所有本地训练样本在所述本地基础网络和所述自编码器的编解码层中完成一次训练的过程;所述Round训练为所述参与方完成所述Epoch迭代并通过安全聚合服务器进行一次聚合的过程;将所述本地模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述本地模型参数进行聚合以得到全局参数,对所述损失值进行聚合,并根据聚合后的损失值确定所述参与方的收敛状态,然后将所述全局参数和所述收敛状态返回至所述参与方;当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,根据所述全局参数更新所述本地模型参数,并在所述收敛状态满足预设条件时停止所述Round训练。可见,在联邦学习场景中,针对不同参与方数据的非独立同分布导致全局模型缺乏收敛保证的问题,在多参与方组成的联邦***的模型训练过程中引入自编码器,通过自编码器对特征的重构,不仅保留本地模型最有价值的特征,同时为其他模型特征提供最大的灵活性,从而提升了联邦学习模型训练效果。如此一来,可以提升联邦学习在参与方数据非独立同分布场景下的学习效果,提升训练速度,并减少通信量。
图6根据一示例性实施例示出的一种电子设备200的框图。如图6所示,该电子设备200可以包括:处理器201,存储器202。该电子设备200还可以包括多媒体组件203,输入/输出(I/O)接口204,以及通信组件205中的一者或多者。
其中,处理器201用于控制该电子设备200的整体操作,以完成上述的联邦学习方法中的全部或部分步骤。存储器202用于存储各种类型的数据以支持在该电子设备200的操作,这些数据例如可以包括用于在该电子设备200上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器202可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件203可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器202或通过通信组件205发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口204为处理器201和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件205用于该电子设备200与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件205可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备200可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的联邦学习方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的联邦学习方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器202,上述程序指令可由电子设备200的处理器201执行以完成上述的联邦学习方法。
图7是根据一示例性实施例示出的一种电子设备300的框图。例如,电子设备300可以被提供为一服务器。参照图7,电子设备300包括处理器301,其数量可以为一个或多个,以及存储器302,用于存储可由处理器301执行的计算机程序。存储器302中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器301可以被配置为执行该计算机程序,以执行上述的联邦学习方法。
另外,电子设备300还可以包括电源组件303和通信组件304,该电源组件303可以被配置为执行电子设备300的电源管理,该通信组件304可以被配置为实现电子设备300的通信,例如,有线或无线通信。此外,该电子设备300还可以包括输入/输出(I/O)接口305。电子设备300可以操作基于存储在存储器302的操作***,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的联邦学习方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器302,上述程序指令可由电子设备300的处理器301执行以完成上述的联邦学习方法。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本公开所提供的一种联邦学习方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
Claims (10)
1.一种联邦学习方法,其特征在于,应用于多参与方组成的联邦***,包括:
获取所述联邦***中各参与方的本地模型参数;
通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值;其中,所述Epoch为所述参与方的所有本地训练样本在所述本地基础网络和所述自编码器的编解码层中完成一次训练的过程;所述Round训练为所述参与方完成所述Epoch迭代并通过安全聚合服务器进行一次聚合的过程;
将所述本地模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述本地模型参数进行聚合以得到全局参数,对所述损失值进行聚合,并根据聚合后的损失值确定所述参与方的收敛状态,然后将所述全局参数和所述收敛状态返回至所述参与方;
当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,根据所述全局参数更新所述本地模型参数,并在所述收敛状态满足预设条件时停止所述Round训练。
2.根据权利要求1所述的联邦学习方法,其特征在于,所述获取所述联邦***中各参与方的本地模型参数,包括:
获取所述联邦***中各参与方的基础模型参数和编码层参数;其中,所述基础模型参数包括特征提取层参数和常规训练网络层参数;所述编码层参数包括本地编解码层参数和全局编解码层参数。
3.根据权利要求2所述的联邦学习方法,其特征在于,所述通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值,包括:
在第一Round训练时,通过本地基础网络和本地编解码层利用第一预设损失函数确定出完成多次Epoch时的第一损失值;
在其他Round训练时,通过所述本地基础网络、所述本地编解码层和全局编解码层利用第二预设损失函数确定出完成多次Epoch时的第二损失值;其中,所述其他Round训练为除所述第一Round训练以外的Round训练。
4.根据权利要求3所述的联邦学习方法,其特征在于,所述通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值,包括:
在所述第一Round训练时,通过所述本地基础网络和所述本地编解码层利用Loss=Loss1+||Ft(X)-Jt(Ft(X))||2确定出完成多次Epoch时的第一损失值;其中,所述Loss1为交叉熵损失;Ft(*)表示特征提取模块;Jt(*)表示所述参与方t提供的本地自编码网络;||*||2表示l2距离;
在所述其他Round训练时,通过所述本地基础网络、所述本地编解码层和所述全局编解码层利用Loss=Loss1+z*Loss2确定出完成多次Epoch时的第二损失值;其中,Loss2=min(||Ft(X)-Jt(Ft(X))||2+k*||Ft(X)-Jg(Ft(X))||2);X表示输入样本;Jg(*)表示参数在所述安全聚合服务器进行聚合后的全局自编码网络;k、z为可调参数,用于调整权重。
5.根据权利要求1所述的联邦学习方法,其特征在于,所述通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值的过程,还包括:
利用所述预设损失函数更新梯度,并更新所述本地模型参数,以便在完成多次所述Epoch后确定出目标模型参数;
相应的,所述将所述本地模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述本地模型参数进行聚合以得到全局参数,包括:
将所述目标模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述目标模型参数进行聚合以得到全局参数。
6.根据权利要求5所述的联邦学习方法,其特征在于,所述将所述目标模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述目标模型参数进行聚合以得到全局参数,包括:
利用预设同态加密技术对所述目标模型参数进行加密,并将加密后的目标模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述目标模型参数进行聚合以得到全局参数;
相应的,所述当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,根据所述全局参数更新所述本地模型参数,包括:
当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,对所述全局参数进行解密,然后利用解密后的全局参数更新所述目标模型参数。
7.根据权利要求1至6任一项所述的联邦学习方法,其特征在于,所述在所述收敛状态满足预设条件时停止所述Round训练,包括:
当所述收敛状态为所述参与方的当前Round训练收敛时,停止所述Round训练;
或,当所述收敛状态为所述参与方的当前Round训练的迭代次数达到预设阈值时,停止所述Round训练。
8.一种联邦学习装置,其特征在于,应用于多参与方组成的联邦***,包括:
参数获取模块,用于获取所述联邦***中各参与方的本地模型参数;
迭代模块,用于通过本地基础网络和自编码器的编解码层对Round训练进行迭代,并利用预设损失函数确定出每次Round训练的过程中完成多次Epoch时对应的损失值;其中,所述Epoch为所述参与方的所有本地训练样本在所述本地基础网络和所述自编码器的编解码层中完成一次训练的过程;所述Round训练为所述参与方完成所述Epoch迭代并通过安全聚合服务器进行一次聚合的过程;
聚合模块,用于将所述本地模型参数与所述损失值发送到所述安全聚合服务器,以便所述安全聚合服务器对所述本地模型参数进行聚合以得到全局参数,对所述损失值进行聚合,并根据聚合后的损失值确定所述参与方的收敛状态,然后将所述全局参数和所述收敛状态返回至所述参与方;
更新模块,用于当接收到所述安全聚合服务器返回的所述全局参数和所述收敛状态后,根据所述全局参数更新所述本地模型参数,并在所述收敛状态满足预设条件时停止所述Round训练。
9.一种电子设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述存储器中的所述计算机程序,以实现如权利要求1至7任一项所述的联邦学习方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的联邦学习方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211594997.9A CN115841133A (zh) | 2022-12-13 | 2022-12-13 | 一种联邦学习方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211594997.9A CN115841133A (zh) | 2022-12-13 | 2022-12-13 | 一种联邦学习方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115841133A true CN115841133A (zh) | 2023-03-24 |
Family
ID=85578511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211594997.9A Pending CN115841133A (zh) | 2022-12-13 | 2022-12-13 | 一种联邦学习方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115841133A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116796860A (zh) * | 2023-08-24 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 联邦学习方法、装置、电子设备及存储介质 |
CN116863309A (zh) * | 2023-09-04 | 2023-10-10 | 中电科网络安全科技股份有限公司 | 一种图像识别方法、装置、***、电子设备及存储介质 |
CN116957067A (zh) * | 2023-06-28 | 2023-10-27 | 北京邮电大学 | 公共安全事件预测模型的强化联邦学习方法及装置 |
CN117424765A (zh) * | 2023-12-19 | 2024-01-19 | 天津医康互联科技有限公司 | 分布式独热编码方法、装置、电子设备及计算机存储介质 |
-
2022
- 2022-12-13 CN CN202211594997.9A patent/CN115841133A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116957067A (zh) * | 2023-06-28 | 2023-10-27 | 北京邮电大学 | 公共安全事件预测模型的强化联邦学习方法及装置 |
CN116957067B (zh) * | 2023-06-28 | 2024-04-26 | 北京邮电大学 | 公共安全事件预测模型的强化联邦学习方法及装置 |
CN116796860A (zh) * | 2023-08-24 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 联邦学习方法、装置、电子设备及存储介质 |
CN116796860B (zh) * | 2023-08-24 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 联邦学习方法、装置、电子设备及存储介质 |
CN116863309A (zh) * | 2023-09-04 | 2023-10-10 | 中电科网络安全科技股份有限公司 | 一种图像识别方法、装置、***、电子设备及存储介质 |
CN116863309B (zh) * | 2023-09-04 | 2024-01-09 | 中电科网络安全科技股份有限公司 | 一种图像识别方法、装置、***、电子设备及存储介质 |
CN117424765A (zh) * | 2023-12-19 | 2024-01-19 | 天津医康互联科技有限公司 | 分布式独热编码方法、装置、电子设备及计算机存储介质 |
CN117424765B (zh) * | 2023-12-19 | 2024-03-22 | 天津医康互联科技有限公司 | 分布式独热编码方法、装置、电子设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115841133A (zh) | 一种联邦学习方法、装置、设备及存储介质 | |
CN112183730B (zh) | 一种基于共享学习的神经网络模型的训练方法 | |
CN113159327B (zh) | 基于联邦学习***的模型训练方法、装置、电子设备 | |
CN113505882B (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
WO2022016964A1 (zh) | 纵向联邦建模优化方法、设备及可读存储介质 | |
CN113221105B (zh) | 一种基于部分参数聚合的鲁棒性联邦学习算法 | |
CN111291411B (zh) | 基于卷积神经网络的安全视频异常检测***及方法 | |
CN112818369B (zh) | 一种联合建模方法及装置 | |
CN113947211A (zh) | 联邦学习模型的训练方法、装置、电子设备和存储介质 | |
WO2021106077A1 (ja) | ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム | |
CN113297175A (zh) | 数据处理方法、装置、***和可读存储介质 | |
CN116708009A (zh) | 一种基于联邦学习的网络入侵检测方法 | |
CN116226901A (zh) | 基于差分隐私的自适应Top-k扰动混洗联邦学习方法及*** | |
CN111767411A (zh) | 知识图谱表示学习优化方法、设备及可读存储介质 | |
CN113240129A (zh) | 一种面向多类型任务图像分析的联邦学习*** | |
CN116796832A (zh) | 一种个性化差分隐私场景下高可用的联邦学习方法、***及设备 | |
CN111581648A (zh) | 在不规则用户中保留隐私的联邦学习的方法 | |
Cheng et al. | SecureAD: A secure video anomaly detection framework on convolutional neural network in edge computing environment | |
CN115510472B (zh) | 一种面向云边聚合***的多重差分隐私保护方法及*** | |
Li et al. | An Adaptive Communication‐Efficient Federated Learning to Resist Gradient‐Based Reconstruction Attacks | |
CN117171814B (zh) | 一种基于差分隐私的联邦学习模型完整性验证方法、***、设备及介质 | |
CN116760634B (zh) | 一种数据隐私保护方法、***、设备及存储介质 | |
CN117474118A (zh) | 一种基于改进扩散模型的联邦学习隐私保护方法 | |
Hidayat et al. | Privacy-Preserving Federated Learning With Resource Adaptive Compression for Edge Devices | |
CN116681141A (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 |