基于分割学习和差分隐私融合的联邦学习系统和方法转让专利

申请号 : CN202210924160.X

文献号 : CN114997420B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑飞州

申请人 : 广州中平智能科技有限公司

摘要 :

本公开涉及人工智能领域,具体涉及一种基于分割学习和差分隐私融合的联邦学习系统和方法,所述系统包括:主参与方(master),用于构建整体模型结构;参数服务器(server),用于分发全局模型结构至其他参与方(client),并将其他参与方上传的全局模型参数进行聚合构建出一个新的全局模型;其他参与方,用于私有模型结构的构建,并加上所述全局模型结构构成整体模型,并利用本地数据独自完成对整体模型的预训练,并将训练好的全局模型参数上传至参数服务器。本公开通过分割学习的思想,将参与方构建的模型划分为全局模型和私有模型,参与方只会共享局部模型梯度,并引入差分隐私机制,极大地降低了梯度泄露数据的风险。

权利要求 :

1.一种基于分割学习和差分隐私融合的联邦学习系统,其特征在于,包括:主参与方,用于构建整体模型结构,所述整体模型结构的开头部分为私有模型结构,所述整体模型结构除了所述开头部分的其余部分是全局模型结构,将所述全局模型结构上传至参数服务器;所述主参与方构建整体模型结构联合建模具体为:整体模型由私有模型和全局模型 组成,所述私有模型 由参数 描述,所述全局模型 由参数 描述,设当前的训练样本为 ,为样本特征,为样本标签,损失函数记为 ,整体模型的训练目的是通过更新参数使得所得样本的损失函数值 最小化,损失函数值 的公式如下:

其中,损失函数值 是衡量整体模型的预测值 与样本标签 的差距;

参数服务器,用于分发全局模型结构至其他参与方,并将其他参与方上传的全局模型参数进行聚合构建出一个新的全局模型;

其他参与方,用于私有模型结构的构建,并加上所述全局模型结构构成整体模型,并利用本地数据独自完成对整体模型的预训练,并将训练好的全局模型参数上传至参数服务器;其他参与方还用于更新私有模型结构参数和共享引入差分隐私的全局模型梯度;

其中,整体模型、全局模型、私有模型均为神经网络模型。

2.如权利要求1所述的基于分割学习和差分隐私融合的联邦学习系统,其特征在于,所述参数服务器还用于将聚合的全局模型梯度构成新的全局模型参数,并将其分发给主参与方和其他参与方。

3.如权利要求1或2所述的基于分割学习和差分隐私融合的联邦学习系统,其特征在于,所述主参与方还用于终止参数服务器和其他参与方的全局模型构建和整体模型的训练和更新任务。

4.如权利要求1所述的基于分割学习和差分隐私融合的联邦学习系统,其特征在于,所述全局模型梯度 的公式如下:,

其中,全局模型梯度为损失函数值 对模型参数 的导数。

5.如权利要求4所述的基于分割学习和差分隐私融合的联邦学习系统,其特征在于,其他参与方会在本地独立完成对私有模型参数的更新,其中 为私有模型参数更新的学习率,其更新公式如下:。

6.一种基于分割学习和差分隐私融合的联邦学习方法,其特征在于,包括如下步骤:S10、主参与方构建整体模型结构,所述整体模型结构的开头部分为私有模型结构,所述整体模型结构除了所述开头部分的其余部分是全局模型结构;整体模型由私有模型 和全局模型 组成,所述私有模型 由参数 描述,所述全局模型 由参数 描述,设当前的训练样本为 ,为样本特征,为样本标签,损失函数记为 ,整体模型的训练目的是通过更新参数使得所得样本的损失函数值 最小化,损失函数值 的公式如下:

其中,损失函数值 是衡量整体模型的预测值 与样本标签 的差距;

S20、将所述全局模型结构上传至参数服务器;

S30、参数服务器分发全局模型结构至其他参与方,其他参与方构建私有模型结构并加上所述全局模型结构构成整体模型,并利用本地数据独自完成对整体模型的预训练;

S40、所述参数服务器将其他参与方上传的全局模型梯度进行加权平均构建出一个新的全局模型,并将新的全局模型参数分发给主参与方和其他参与方,所述新的全局模型F的参数 描述如下:,

其中,为全局模型参数更新的学习率,N为所有参与方的数目,为第i个参与方的权重,为第i个参与方上传的全局模型梯度;

S50、所述主参与方和其他参与方在得到新的全局模型参数后,通过随机参与建模来选择本轮迭代是否参与,参与本次迭代的参与方执行整体模型的联合建模;

S60、重复步骤S40和S50进行反复迭代,直至主参与方提出终止联合建模任务为止。

7.如权利要求6所述的方法,其特征在于,所述全局模型梯度 的公式如下:,其他参与方会在本地独立完成对私有模型参数的更新,其中 为私有模型参数更新的学习率,其更新公式如下:。

说明书 :

基于分割学习和差分隐私融合的联邦学习系统和方法

技术领域

[0001] 本公开涉及人工智能领域,具体涉及一种基于分割学习和差分隐私融合的联邦学习系统和方法。

背景技术

[0002] 如今随着深度学习理论和技术的创新,在众多领域中浮现出了基于深度学习的应用,如医疗诊断,金融风控和智能交通等。但当前深度学习模型若要取得优异的性能仍需要大量的训练数据作为支撑,因此在数据不离本地的隐私考虑下,基于联邦学习的联合建模的框架得到了广泛的应用。
[0003] 传统的联邦学习框架是利用各参与方的数据价值,构建出一个全局的深度学习模型。目前传统的联邦学习中,所有参与方会在参数和结构一致的全局模型上进行联合建模,各参与方利用本地数据来对全局模型训练,并共享所有的模型梯度信息进行多方建模,然而这种训练策略已被证实各参与方共享的全局模型梯度存在着泄露训练数据的风险,其主要原因是各参与方共享了所有的模型梯度。另外,传统的联邦学习试图通过一个全局模型来掌握所有参与方的数据特点是困难的,因为每一个参与方的数据分布存在着一定差异,此做法在实际中并不能使得所有参与方都得到模型性能上的增益。

发明内容

[0004] 本公开提供一种基于分割学习和差分隐私融合的联邦学习系统和方法,通过分割学习的思想,将参与方构建的模型划分为全局模型和私有模型,而在联合建模中,参与方只会共享局部模型梯度(即全局模型梯度),并在全局模型梯度中引入差分隐私机制,极大地降低了梯度泄露数据的风险;另外,由于私有模型只在参与方本地训练,因此可以把握住参与方的数据分布,满足个性化联邦学习的需求。
[0005] 本公开提供以下技术方案来解决上述技术问题:
[0006] 作为本公开实施例的一个方面,提供一种基于分割学习和差分隐私融合的联邦学习系统,包括:
[0007] 主参与方,用于构建整体模型结构,所述整体模型结构的开头部分为私有模型结构,所述整体模型结构除了所述开头部分的其余部分是全局模型结构,将所述全局模型结构上传至参数服务器;
[0008] 参数服务器,用于分发全局模型结构至其他参与方,并将其他参与方上传的全局模型参数进行聚合构建出一个新的全局模型;
[0009] 其他参与方,用于私有模型结构的构建,并加上所述全局模型结构构成整体模型,并利用本地数据独自完成对整体模型的预训练,并将训练好的全局模型参数上传至参数服务器;
[0010] 其中,整体模型、全局模型、私有模型均为神经网络模型。
[0011] 可选地,其他参与方还用于更新私有模型结构参数和共享引入差分隐私的全局模型梯度。
[0012] 可选地,所述参数服务器还用于将聚合的全局模型梯度构成新的全局模型参数,并将其分发给主参与方和其他参与方。
[0013] 可选地,所述主参与方还用于终止参数服务器和其他参与方的全局模型构建和整体模型的训练和更新任务。
[0014] 可选地,所述主参与方构建整体模型结构联合建模具体为:整体模型由私有模型和全局模型 组成,所述私有模型 由参数 描述,所述全局模型 由参数 描述,设当前的训练样本为 , 为样本特征, 为样本标签,损失函数记为 ,整体模型的训练目的是通过更新参数使得所得样本的损失函数值 最小化,损失函数值 的公式如下:
[0015] 。
[0016] 其 中 ,损 失 函 数 值 是 衡 量 整 体 模 型 的 预 测 值与样本标签 的差距。
[0017] 可选地,所述全局模型梯度 的公式如下:
[0018] ,
[0019] 其中,全局模型梯度为损失函数值 对模型参数 的导数。
[0020] 可选地,其他参与方会在本地独立完成对私有模型参数的更新,其中 为私有模型参数更新的学习率,其更新公式如下:
[0021] 。
[0022] 作为本公开实施例的另一方面,提供一种基于分割学习和差分隐私融合的联邦学习方法,包括如下步骤:
[0023] S10、主参与方构建整体模型结构,所述整体模型结构的开头部分为私有模型结构,所述整体模型结构除了所述开头部分的其余部分是全局模型结构;
[0024] S20、将所述全局模型结构上传至参数服务器;
[0025] S30、参数服务器分发全局模型结构至其他参与方,其他参与方构建私有模型结构并加上所述全局模型结构构成整体模型,并利用本地数据独自完成对整体模型的预训练;
[0026] S40、所述参数服务器将其他参与方上传的全局模型梯度进行加权平均构建出一个新的全局模型,并将新的全局模型参数分发给主参与方和其他参与方,所述新的全局模型F的参数 描述如下:
[0027] ,
[0028] ,
[0029] 其中, 为全局模型参数更新的学习率,N为所有参与方的数目, 为第i个参与方的权重, 为第i个参与方上传的全局模型梯度;
[0030] S50、所述主参与方和其他参与方在得到新的全局模型参数后,通过随机参与建模来选择本轮迭代是否参与,参与本次迭代的参与方执行整体模型的联合建模;
[0031] S60、重复步骤S40和S50进行反复迭代,直至主参与方提出终止联合建模任务为止。
[0032] 可选地,所述主参与方构建整体模型结构的联合建模具体为:整体模型由私有模型 和全局模型 组成,所述私有模型 由参数 描述,所述全局模型 由参数 描述,设当前的训练样本为 , 为样本特征, 为样本标签,损失函数记为 ,整体模型的训练目的是通过更新参数使得所得样本的损失函数值 最小化,损失函数值 的公式如下:
[0033] 。
[0034] 其 中 ,损 失 函 数 值 是 衡 量 整 体 模 型 的 预 测 值与样本标签 的差距。
[0035] 可选地,所述全局模型梯度 的公式如下: ,其他参与方会在本地独立完成对私有模型参数的更新,其中 为私有模型参数更新的学习率,其更新公式如下:
[0036] 。
[0037] 本公开的有益效果为:
[0038] 1)实现共享局部模型梯度的联邦学习构建策略
[0039] 本公开提出私有模型加全局模型来构建参与方的整体模型,其中私有模型的参数仅在各参与方的本地数据上训练和更新,任何信息都不会共享;而在本地数据上计算而得的全局模型梯度会共享给参数服务器进行梯度聚合,实现各参与方联合建模的目的;因此,参与方只会共享局部模型梯度(即全局模型梯度),在很大程度上降低了梯度泄露训练数据的风险。
[0040] 2)实现具有差分攻击防御效果的联邦学习构建策略
[0041] 本公开提出各参与方需要对共享的全局模型梯度加上差分隐私防御机制,其中差分隐私的预算由各参与方独立管理,除此之外,参与方是否参与某一轮的联合建模遵循随机选择机制,两者都在一定程度上增加了差分攻击防御效果。
[0042] 3)实现满足个性化联邦学习的模型构建方法
[0043] 本公开提出的模型构建方法中,私有模型的参数仅依靠各参与方的本地数据进行更新,因此私有模型会充分把握住本地数据的特点或任务需求,而全局模型的参数是依靠所有参与方的本地数据进行联合构建的,利用了联邦学习的建模优势,在一定程度上增加了模型的泛化能力,因此两种模型的结合实现了个性化联邦学习的需求。

附图说明

[0044] 图1为本公开实施例中的整体模型框架图;
[0045] 图2为本公开实施例中的基于分割学习与差分隐私融合的联邦学习方法流程图。

具体实施方式

[0046] 下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0047] 请参阅附图1‑2, 本公开实施例提供一种基于分割学习与差分隐私融合的联邦学习系统,所述系统主要主参与方(master)、参数服务器(server)和其他参与方(client)组成。联合建模任务主要由主参与方发起,在参数服务器的协调下,各参与方完成私有模型的构建和全局模型梯度共享,参数服务器负责全局模型的聚合。
[0048] 本发明方法的基本思路为,主参与方首先负责构建整体模型结构,整体模型的结构如图2所示,模型的开头部分是私有模型结构,模型的其余部分是全局模型结构,并将全局模型结构上传至参数服务器;参数服务器负责分发全局模型结构;每个参与方自主负责私有模型的构建,并加上全局模型结构,构成整体模型(每个参与方的整体模型的开头部分都是由自己设计私有模型组成),并利用本地数据独自完成对整体模型的预训练;各参与方将训练好的全局模型的参数上传至参数服务器,参数服务器负责将所有的全局模型参数进行聚合,并构建出一个新的全局模型;接下来进入到反复迭代的过程,各参与方负责用本地数据来训练整体模型,并更新私有模型参数和共享引入差分隐私的全局模型梯度,参数服务器负责聚合全局模型梯度,并分发新的全局模型参数,此过程直至主参与方提出终止任务为止。系统的各部分的具体内容说明如下:
[0049] 1)主参与方
[0050] 1.1)整体模型构建:负责设计整体的神经网络模型结构,并将模型的前若干层结构列为私有模型结构,其余部分列为全局模型结构。
[0051] 1.2)全局模型结构共享:负责将全局模型结构上传至参数服务器。
[0052] 1.3)整体模型预训练:负责独立地利用本地数据对整体模型进行训练。
[0053] 1.4)全局模型参数共享:负责将预训练的整体模型中的全局模型参数上传至参数服务器。
[0054] 1.5)整体模型的联合建模:整体模型由私有模型  (由参数 描述)和全局模型  (由参数 描述)组成,设当前的训练样本为 , 为样本特征, 为样本标签(或目标值),损失函数记为 。模型的训练目的是通过更新参数使得所得样本的损失函数值 最小化,如公式(1)所示。
[0055]
[0056] 在联合建模中,基于当前训练样本而得的全局模型梯度会上传至参数服务器,全局模型梯度的描述如公式(2)所示。
[0057]
[0058] 其他参与方会在本地独立完成对私有模型参数的更新,其更新描述如公式(3)所示,其中 为私有模型参数更新的学习率。
[0059]
[0060] 1.6)差分隐私引入:负责对上传的全局模型梯度进行差分隐私预算的控制,即对每次上传的全局模型梯度都加上一定强度的高斯噪声和模大小裁剪,进一步降低梯度泄露数据的风险。
[0061] 1.7)模型推理(应用):负责将待识别样本特征 经训练好的整体模型(私有模型+全局模型)输出预测标签或预测值 ,其计算描述为公式(4)所示。
[0062]
[0063] )参数服务器
[0064] 2.1)各参与方管理:负责参与方的身份验证和接入联合构建系统。
[0065] 2.2)模型结构分发:在联合建模初期,负责将全局模型结构分发至各参与方。
[0066] 2.3)模型参数聚合:在联合建模初期,负责将各参与方预训练的全局模型进行聚合,聚合方式为将全局模型的参数进行均值化计算,以构成新的全局模型参数。
[0067] 2.4)模型参数分发:负责与各参与方进行通信,并将最新的模型参数 分发至各参与方。
[0068] 2.5)模型梯度聚合:负责将各参与方上传的全局模型梯度进行聚合,聚合方式为将全局模型的梯度进行均值化计算 ,并更新全局模型参数,以构成新的全局模型,其更新描述如公式(5)所示。其中 为全局模型参数更新的学习率。
[0069]
[0070] )其余参与方(非主参与方)
[0071] 3.1)私有模型构建:负责根据参数服务器下发的全局模型结构,设计出与其适配的私有模型结构,并构成本地的整体模型。
[0072] 3.2)整体模型预训练:负责独立地利用本地数据对整体模型进行训练。
[0073] 3.3)全局模型参数共享:负责将预训练的整体模型中的全局模型参数上传至参数服务器。
[0074] 3.4)整体模型的联合建模:该模块所负责的具体内容与主参与方的对应模块内容一致。
[0075] 3.5)差分隐私引入:负责对上传的全局模型梯度进行差分隐私预算的控制,即对每次上传的全局模型梯度都加上一定强度的高斯噪声和模大小裁剪,进一步降低梯度泄露数据的风险。
[0076] 3.6)随机参与建模:参与方并非每一次迭代都参与,其是否参与遵循一定的随机机制,此机制可以在一定程度上减少泄露数据的风险。
[0077] 3.7)模型推理(应用):负责将待识别样本特征 经训练好的整体模型输出预测标签或预测值 。
[0078] 作为本公开实施例的另一方面,基于上述系统,还提供一种基于分割学习和差分隐私融合的联邦学习方法,包括如下步骤:
[0079] S10、主参与方构建整体模型结构,所述整体模型结构的开头部分为私有模型结构,所述整体模型结构除了所述开头部分的其余部分是全局模型结构;
[0080] S20、将所述全局模型结构上传至参数服务器;
[0081] S30、参数服务器分发全局模型结构至其他参与方,其他参与方构建私有模型结构并加上所述全局模型结构构成整体模型,并利用本地数据独自完成对整体模型的预训练;
[0082] S40、所述参数服务器将其他参与方上传的全局模型参数进行聚合构建出一个新的全局模型,并将新的全局模型参数分发给主参与方和其他参与方;
[0083] S50、所述主参与方和其他参与方在得到新的全局模型参数后,通过随机参与建模来选择本轮迭代是否参与,参与本次迭代的参与方执行整体模型的联合建模;
[0084] S60、重复步骤S40和S50进行反复迭代,直至主参与方提出终止联合建模任务为止。
[0085] 作为一种可选的实施方式,所述主参与方构建整体模型结构的联合建模具体为:整体模型由私有模型 和全局模型 组成,所述私有模型 由参数 描述,所述全局模型 由参数 描述,设当前的训练样本为 , 为样本特征, 为样本标签,损失函数记为 ,整体模型的训练目的是通过更新参数使得所得样本的损失函数值最小化,损失函数值的公式如下:
[0086] 。
[0087] 作为一种可选的实施方式,所述全局模型梯度 的公式如下:,其他参与方会在本地独立完成对私有模型参数的更新,其
中 为私有模型参数更新的学习率,其更新公式如下:
[0088] 。
[0089] 上述方法对应的具体执行步骤如下:
[0090] S1:主参与方运行整体模型构建,发起联合建模任务;
[0091] S2:主参与方执行全局模型结构共享;
[0092] S3:参数服务器运行各参与方管理,和模型结构分发;
[0093] S4:其他非主参与方运行私有模型构建,构成各自的整体模型结构;
[0094] S5:所有参与方利用本地数据运行整体模型预训练;
[0095] S6:所有参与方执行全局模型参数共享;
[0096] S7:参数服务器运行模型参数聚合,和模型参数分发,构成联合建模初期的全局模型的初始参数并分发给所有参与方;
[0097] S8:所有参与方得到最新的全局模型参数后,通过随机参与建模来选择本轮迭代是否参与(其中主参与方每轮迭代都会参与),参与本次迭代的参与方运行整体模型的联合建模,其中差分隐私引入对共享的全局模型梯度进行隐私保护。
[0098] S9:参数服务器运行模型梯度聚合,构成最新的全局模型参数,将最新的全局模型参数分发至所有参与方;
[0099] S10:重复步骤S8至S9进行反复迭代,直至主参与方提出终止联合建模任务为止。
[0100] 上述实施例利用分割学习的思想,设计了一种对私有模型加全局模型进行分割的联合建模方法。其中私有模型参数和梯度在整个训练过程中都是不共享的,只有全局模型的梯度是共享的,这有效地实现了局部模型梯度共享的目的,这不仅可以实现降低梯度泄露数据的风险,同时私有模型仅用本地数据训练,可以很好地学习到本都数据的特点,最终构建的整体模型(私有模型+全局模型)更符合各参与方个性化的需求;另外,在对全局模型梯度的共享前,各参与方通过自身设置的差分隐私预算来对共享梯度进行加噪和模大小裁剪。
[0101] 本公开实施例还提供一种基于上述系统或方法的一种示例性的应用,具体如下:由某一权威医疗机构牵头,众多医疗机构需要联合构建一个可以根据病理学图像进行特定癌症诊断的深度学习模型。应用的具体流程如下:
[0102] 1)某一权威医疗机构牵头该联合建模任务,作为主参与方,负责构建了一个拥有18层的深度学习模型结构,并将模型的前8层列为私有模型结构,后10层列为全局模型结构,并将全局模型结构上传至参数服务器;
[0103] 2)参数服务器负责建立与所有参与联合建模的医疗机构的通信和身份验证,并广播收到的全局模型结构;
[0104] 3)众医疗机构收到全局模型结构后,设计出适配的私有模型结构,适配的重点是确保私有模型的输出维度与全局模型的输入维度保持一致;并构建出整体模型(私有模型+全局模型);
[0105] 4)所有参与的医疗机构利用本地所存储的已标记的病理学图像数据对整体模型进行预训练;预训练后,所有参与方都要将预训练好的全局模型参数上传至参数服务器;
[0106] 5)参数服务器将收到的所有全局模型参数进行聚合,构成联合建模初期的全局模型的初始参数并将此参数共享至所有参与方;
[0107] 6)所有参与方得到最新的全局模型参数后,会随机决定是否参与本次迭代训练(其中主参与方每轮迭代都会参与),参与本次迭代的参与方通过本地数据来更新私有模型参数,和计算全局模型梯度;其中全局模型梯度需要在参与方的差分隐私预算的调控下加入一定强度的噪声和模大小裁剪后,再上传至参数服务器;
[0108] 7)参数服务器将受到的全局模型梯度进行聚合,构成最新的全局模型参数,将最新的全局模型参数分发至所有参与方;
[0109] 8)重复步骤6)至7),直到牵头的医疗机构提出终止联合建模任务为止。
[0110] 尽管已经示出和描述了本公开的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本公开的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本公开的范围由所附权利要求及其等同物限定。