专利名称:联邦学习防御方法、装置、电子设备及存储介质
专利类型:发明专利
专利申请号:CN202011324656.0
专利申请(专利权)人:平安科技(深圳)有限公司
权利人地址:广东省深圳市福田区福田街道福安社区益田路5033号平安金融中心23楼
专利发明(设计)人:王健宗,李泽远,何安珣
专利摘要:本发明涉及人工智能技术,揭露了一种联邦学习防御方法,包括:从联邦学习的各参与方获取局部模型参数,根据所述局部模型参数构建攻击模型参数,根据所述局部模型参数及所述攻击模型参数得到训练数据集,利用所述训练数据集训练预构建的判别器,得到攻击判别器,利用所述攻击判别器对待检测局部模型进行判断,得到善意局部模型参数,对所述善意局部模型参数进行聚合运算,得到全局模型参数,并将所述全局模型参数发送给所述各参与方。此外,本发明还涉及区块链技术,所述全局模型参数可存储于区块链的节点。本发明还提出一种联邦学习防御装置、电子设备以及计算机可读存储介质。本发明可以解决对于特定攻击方式防御效果较差的问题。
主权利要求:
1.一种联邦学习防御方法,其特征在于,所述方法包括:
从联邦学习的各参与方获取局部模型参数,根据所述局部模型参数构建攻击模型参数,根据所述局部模型参数及所述攻击模型参数得到训练数据集,包括:从所述各参与方获取的m组局部模型参数中随机选取c组局部模型参数W1,W2 ,...,Wc,对所述c组局部模型参数进行随机扰动处理后得到c组攻击模型参数,将所述c组攻击模型参数作为负类样本,并将所述m组局部模型参数作为正类样本,得到c+m的训练数据集;
利用所述训练数据集训练预构建的判别器,得到攻击判别器;
利用所述攻击判别器接受所述各参与方的待检测局部模型参数,利用所述攻击判别器对所述待检测局部模型参数进行判断,若判断为攻击模型参数,则丢弃该局部模型参数,若判断为善意模型参数,则保留该局部模型参数,得到善意局部模型参数;
对所述善意局部模型参数进行聚合运算,得到全局模型参数,并将所述全局模型参数发送给所述各参与方。
2.如权利要求1所述的联邦学习防御方法,其特征在于,所述随机扰动的方式为:对选取的第 组所述局部模型参数的第 个参数通过均值 ,方差 的绝对值的 的高斯分布进行随机扰动。
3.如权利要求1所述的联邦学习防御方法,其特征在于,所述利用所述训练数据集训练预构建的判别器,得到攻击判别器,包括:利用所述预构建的判别器中的神经网络计算所述训练数据集中每个参数的识别概率;
根据所述识别概率计算所述训练数据集中正类样本的预测概率;
根据所述预测概率计算损失值,直至所述损失值小于预设阈值,得到所述攻击判别器。
4.如权利要求3所述的联邦学习防御方法,其特征在于,在所述利用所述训练数据集训练预构建的判别器,得到攻击判别器之后,还包括:根据从所述各参与方获取的T次局部模型参数构建得到验证数据集;
利用所述验证数据集对所述攻击判别器进行性能评估。
5.如权利要求1所述的联邦学习防御方法,其特征在于,所述若判断为善意模型参数,则保留该局部模型参数,得到善意局部模型参数,包括:对从联邦学习的各参与方获取的局部模型参数进行预测,得到所述局部模型参数为善意模型参数的预测概率;
在所述预测概率大于等于预设阈值时,保留所述局部模型参数,得到所述善意局部模型参数。
6.如权利要求1所述的联邦学习防御方法,其特征在于,所述对所述善意局部模型参数进行聚合运算,得到全局模型参数,并将所述全局模型参数发送给所述各参与方,包括:利用预设的聚合规则,采用下述公式对所述善意局部模型进行聚合,得到全局模型:其中, 为聚合规则,为攻击判别器, 为第 个善意局部模型参数,为所述善意局部模型参数的数量, 为所述全局模型;
将所述全局模型的参数发送给各参与方。
7.一种联邦学习防御装置,其特征在于,所述装置包括:
训练集构建模块,用于从联邦学习的各参与方获取局部模型参数,根据所述局部模型参数构建攻击模型参数,根据所述局部模型参数及所述攻击模型参数得到训练数据集,包括:从所述各参与方获取的m组局部模型参数中随机选取c组局部模型参数W1,W2 ,...,Wc,对所述c组局部模型参数进行随机扰动处理后得到c组攻击模型参数,将所述c组攻击模型参数作为负类样本,并将所述m组局部模型参数作为正类样本,得到c+m的训练数据集;
判别器训练模块,用于利用所述训练数据集训练预构建的判别器,得到攻击判别器;
模型判断模块,用于利用所述攻击判别器接受所述各参与方的待检测局部模型参数,利用所述攻击判别器对所述待检测局部模型参数进行判断,若判断为攻击模型参数,则丢弃该局部模型参数,若判断为善意模型参数,则保留该局部模型参数,得到善意局部模型参数;
联邦学习模块,用于对所述善意局部模型参数进行聚合运算,得到全局模型参数,并将所述全局模型参数发送给所述各参与方。
8.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任意一项所述的联邦学习防御方法。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被电子设备的处理器执行时实现如权利要求1至6中任意一项所述的联邦学习防御方法。 说明书 : 联邦学习防御方法、装置、电子设备及存储介质技术领域[0001] 本发明涉及人工智能技术领域,尤其涉及一种联邦学习防御方法、装置、电子设备及计算机可读存储介质。背景技术[0002] 恶意攻击是联邦学习算法的发展过程中面临的一大挑战,而来自联邦学习系统内部设备的攻击是主要的攻击方式之一。恶意设备可以通过攻击训练数据集或者模型训练过程,实现全局模型性能的大幅度下降,从而使得联邦学习失去意义,此外,一些有目标的攻击会对全局模型在某些特定方面的表现造成巨大影响。在不同的联邦学习系统中,攻击方式也不尽相同,已有的防御主要是一些人为设计的针对数据攻击的防御算法,对于特定攻击方式的攻击,防御效果较差,无法根据攻击方式作出调整,从而使得适用场景都比较局限,而且难以评估其性能。发明内容[0003] 本发明提供一种联邦学习防御方法、装置及计算机可读存储介质,其主要目的在于解决对于特定攻击方式防御效果较差的问题。[0004] 为实现上述目的,本发明提供的一种联邦学习防御方法,包括:[0005] 从联邦学习的各参与方获取局部模型参数,根据所述局部模型参数构建攻击模型参数,根据所述局部模型参数及所述攻击模型参数得到训练数据集;[0006] 利用所述训练数据集训练预构建的判别器,得到攻击判别器;[0007] 利用所述攻击判别器对待检测局部模型参数进行判断,得到善意局部模型参数;[0008] 对所述善意局部模型参数进行聚合运算,得到全局模型参数,并将所述全局模型参数发送给所述各参与方。[0009] 可选地,所述根据所述局部模型参数构建攻击模型参数,根据所述局部模型参数及所述攻击模型参数得到训练数据集,包括:[0010] 从获取的所述局部模型参数选取预设个数的局部模型参数,利用预设的攻击方式对选取的所述局部模型参数进行攻击处理,得到攻击模型参数;[0011] 将所述攻击模型参数作为负类样本及将从联邦学习的各参与方获取的所述局部模型参数作为正类样本,汇总所述负类样本及所述正类样本得到所述训练数据集。[0012] 可选地,所述所述预设的攻击方式方法为:对选取的第i组所述局部模型参数的第j个参数通过均值σ,方差μ的绝对值的10%的高斯分布进行随机扰动。[0013] 可选地,所述利用所述训练数据集训练预构建的判别器,得到攻击判别器,包括:[0014] 利用所述预构建的判别器中的神经网络计算所述训练数据集中每个参数的识别概率;[0015] 根据所述识别概率计算所述训练样本集中正类样本的预测概率;[0016] 根据所述预测概率计算损失值,直至所述损失值小于预设阈值,得到所述攻击判别器。[0017] 可选地,在所述利用所述训练数据集训练预构建的判别器,得到攻击判别器之后,还包括:[0018] 根据从所述各参与方获取的T次局部模型参数构建得到验证数据集;[0019] 利用所述验证数据集对所述攻击判别器进行性能评估。[0020] 可选地,所述利用所述攻击判别器对待检测局部模型进行判断,得到善意局部模型参数,包括:[0021] 利用所述攻击判别器对从联邦学习的各参与方获取的所述局部模型参数进行预测,得到善意模型预测概率;[0022] 在所述善意模型预测概率大于等于预设阈值时,保留所述局部模型参数,得到所述善意局部模型。[0023] 可选地,所述对所述善意局部模型参数进行聚合运算,得到全局模型参数,并将所述全局模型参数发送给所述各参与方,包括:[0024] 利用预设的聚合规则,采用下述公式对所述善意局部模型进行聚合,得到全局模型:[0025][0026] 其中, 为聚合规则,D为攻击判别器,W″i为第i个善意的局部模型参数,e为所述善意的局部模型参数的数量,W为所述全局模型;[0027] 将所述全局模型的参数发送给各参与方。[0028] 为了解决上述问题,本发明还提供一种联邦学习防御装置,所述装置包括:[0029] 训练集构建模块,用于从联邦学习的各参与方获取局部模型参数,根据所述局部模型参数构建攻击模型参数,根据所述局部模型参数及所述攻击模型参数得到训练数据集;[0030] 判别器训练模块,用于利用所述训练数据集训练预构建的判别器,得到攻击判别器;[0031] 模型判断模块,用于利用所述攻击判别器对待检测局部模型参数进行判断,得到善意局部模型参数;[0032] 联邦学习模块,用于对所述善意局部模型参数进行聚合运算,得到全局模型参数,并将所述全局模型参数发送给所述各参与方。[0033] 为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:[0034] 至少一个处理器;以及,[0035] 与所述至少一个处理器通信连接的存储器;其中,[0036] 所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的联邦学习防御方法。[0037] 为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被电子设备的处理器执行时以实现上述所述的联邦学习防御方法。[0038] 本发明实施例根据从联邦学习的各参与方获取的局部模型参数构建攻击模型参数,根据所述局部模型参数及所述攻击模型参数得到训练数据集,以训练预构建的判别器,得到攻击判别器,所述攻击判别器可以针对不同的应用场景和攻击方式进行调整,并且所述攻击判别器可以灵活部署在不同的联邦学习系统中,以进行恶意攻击的判断。因此本发明提出的联邦学习防御方法、装置、电子设备及计算机可读存储介质,可以解决联邦学习防御中对于特定攻击方式防御效果较差的问题。附图说明[0039] 图1为本发明一实施例提供的联邦学习防御方法的流程示意图;[0040] 图2为图1中其中一个步骤的详细实施流程示意图;[0041] 图3为图1中另一个步骤的详细实施流程示意图;[0042] 图4为图1中另一个步骤的详细实施流程示意图;[0043] 图5为图1中另一个步骤的详细实施流程示意图;[0044] 图6为本发明一实施例提供的联邦学习防御装置的功能模块图;[0045] 图7为本发明一实施例提供的实现所述联邦学习防御方法的电子设备的结构示意图。[0046] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式[0047] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0048] 本申请实施例提供一种联邦学习防御方法。所述联邦学习防御方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述联邦学习防御方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。[0049] 参照图1所示,为本发明一实施例提供的联邦学习防御方法的流程示意图。在本实施例中,所述联邦学习防御方法应用于服务端,并包括:[0050] S1、从联邦学习的各参与方获取局部模型参数,根据所述局部模型参数构建攻击模型参数,根据所述局部模型参数及所述攻击模型参数得到训练数据集。[0051] 本发明实施例中,联邦学习的各参与方各自在本地利用本地数据库进行模型训练,得到所述局部模型参数,并将所述局部模型参数传输给所述服务端。[0052] 较佳地,参考图2所示,所述根据所述局部模型参数构建攻击模型参数,根据所述局部模型参数及所述攻击模型参数得到训练数据集,包括:[0053] S10、从获取的所述局部模型参数中选取预设个数的局部模型参数,利用预设的攻击方式对选取的所述局部模型参数进行攻击处理,得到攻击模型参数;[0054] S11、将所述攻击模型参数作为负类样本及将从联邦学习的各参与方获取的所述局部模型参数作为正类样本,汇总所述负类样本及所述正类样本得到所述训练数据集。[0055] 优选地,本发明实施例中,所述服务端在从联邦学习的各参与方获取的m组局部模型参数中随机选取c组局部模型参数,用以构建联邦学习系统中的攻击模型参数。优选地,本发明实施例中,所述攻击模型参数的数量需要小于从联邦学习的各参与方获取的局部模型参数的一半,即:[0056][0057] 进一步地,本发明实施例中,所述预设的攻击方式可以为随机扰动,即对选取的第i组所述局部模型参数的第j个参数通过均值σ,方差μ的绝对值的10%的高斯分布进行随机扰动。[0058] 详细地,所述对于选取的c组局部模型参数W1,W2,...,Wc,每组局部模型参数的参数个数都为P,被攻击处理之后对应的局部模型参数为W1′,W2′,...,WC′,则:[0059] Wc′=(W′c,1,W′c,2...W′v,p)[0060] Wij′=Wij+R,R~N(σ,10%*|μ|),i=1,2,...,c,j=1,2,...,P[0061] 其中,Wij所述c组局部模型参数中表示第i组参数的第j个参数,R为扰动项σ为均值,μ为方差。[0062] 本发明实施例中,根据上述方法可以构建得到c组攻击模型参数,将这c组攻击模型参数作为负类样本,并设置为第一标签,如0,同时从联邦学习的各参与方获取的的m组局部模型参数作为正类样本,并设置为第二标签,如1,得到规模为c+m的训练数据集。[0063] 本发明实施通过利用所述局部模型参数构建攻击模型参数,可以针对任意攻击方式进行调整,更为灵活及更有针对性,使得应用场景更加丰富。[0064] S2、利用所述训练数据集训练预构建的判别器,得到攻击判别器。[0065] 优选地,所述预构建的判别器可以为全卷积神经网络。本发明实施例中,所述判别器以长度为P的参数向量作为输入,经过多层一维卷积,可以得到一个长度为P的识别向量,P记为O=(o1,o2,...,op)∈R,其中oi∈[0,1],i=1,2,...,P是对第i个参数的识别概率,并根据所述识别概率判别某一个局部模型参数为正类样本(即为善意模型参数)的概率。[0066] 较佳地,参考图3所示,所述利用所述训练数据集训练预构建的判别器,得到攻击判别器,包括:[0067] S20、利用所述预构建的判别器中的神经网络计算所述训练数据集中每个参数的识别概率;[0068] S21、根据所述识别概率计算所述训练样本集中正类样本的预测概率;[0069] S22、根据所述预测概率计算损失值,直至所述损失值小于预设阈值,得到所述攻击判别器。[0070] 本发明实施例中,通过下述公式计算正类样本的预测概率:[0071][0072] 其中,oi∈[0,1],i=1,2,...P,是对第i个参数的识别概率,q为所述正类样本的预测概率。[0073] 进一步地,本发明实施例中,通过下述方法计算所述损失值:[0074][0075] 其中,b是每次迭代训练使用的样本个数,q(k),l(k)分别是第k个样本的预测概率和标签。[0076] 进一步地,所述利用所述训练数据集训练预构建的判别器,得到攻击判别器之后,本发明还包括:[0077] 根据从所述各参与方获取的T次局部模型参数构建得到验证数据集;[0078] 利用所述验证数据集对所述攻击判别器进行性能评估。[0079] 本发明其中一个实施例中,服务端与各参与方总共进行了T轮通信,其中,每一次通信中,所述服务端都会从联邦学习的各参与方获取局部模型参数,则服务端可以收集到T(1)组局部模型参数,将这T组局部模型参数进行合并,可以得到验证数据集:V={v ,...,v(n)},[0080] 其中n是验证数据集的样本个数。[0081] 本发明实施例中,所述攻击判别器D对第k组样本v(k)的预测概率为z(k),k=1,(k)2,...,v,则v 的判别结果为:[0082] D(v(k))=pred(k)=1{z(k)≥0.5}[0083] 进一步地,记第k个样本的标签为l(k),k=1,2,...,v,若选择样本准确率作为所述攻击判别器D的评估指标,则所述攻击判别器的性能可以量化为:[0084][0085] 其中,1是示性函数,本发明其他实施例中也可以选择其它评估指标。[0086] 本发明实施通过利用所述训练数据集训练预构建的判别器,得到攻击判别器,识别准确率较高,同时也能较好的进行性能评估。[0087] S3、利用所述攻击判别器对待检测局部模型进行判断,得到善意局部模型参数。[0088] 详细地,参阅图4所示,所述S3具体包括:[0089] S30、利用所述攻击判别器对从联邦学习的各参与方获取的所述局部模型参数进行预测,得到所述局部模型参数为善意模型参数的预测概率;[0090] S31、在所述预测概率大于等于预设阈值时,保留所述局部模型参数,得到所述善意局部模型参数。[0091] 本发明实施例中,在联邦学习系统中,当训练任务的局部模型参数量比较多(如自然语言模型)时,为了防御特定的某种攻击方式(如随机扰动攻击),可以将以上预训练好的攻击判别器部署到服务端上,所述服务端在接收到来自各方的局部模型参数后,先使用所述攻击判别器对其进行判别,若判别为攻击模型参数,则丢弃该局部模型参数,使得最后参与聚合的局部模型参数都是善意的,从而提高了全局模型的性能。[0092] S4、对所述善意局部模型参数进行聚合运算,得到全局模型参数,并将所述全局模型参数发送给所述各参与方。[0093] 较佳地,参阅图5所示,所述S4包括:[0094] S40、利用预设的聚合规则对所述善意局部模型进行聚合,得到全局模型;[0095] S41、将所述全局模型的参数发送给各参与方。[0096] 本发明实施例中,通过下述方法得到所述全局模型参数:[0097][0098] 其中, 为聚合规则,D为攻击判别器,W″i为第i个善意的局部模型参数,e为所述善意的局部模型参数的数量,W为所述全局模型。[0099] 本发明实施例根据从联邦学习的各参与方获取的局部模型参数构建攻击模型参数,根据所述局部模型参数及所述攻击模型参数得到训练数据集,以训练预构建的判别器,得到攻击判别器,所述攻击判别器可以针对不同的应用场景和攻击方式进行调整,并且所述攻击判别器可以灵活部署在不同的联邦学习系统中,以进行恶意攻击的判断。因此本发明提出的实施例可以解决对于特定攻击方式防御效果较差的问题。[0100] 如图6所示,是本发明一实施例提供的联邦学习防御装置的功能模块图。[0101] 本发明所述联邦学习防御装置100可以安装于电子设备中。根据实现的功能,所述联邦学习防御装置100可以包括训练集构建模块101、判别器训练模块102、模型判断模块103及联邦学习模块104。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。[0102] 在本实施例中,关于各模块/单元的功能如下:[0103] 所述训练集构建模块101,用于从联邦学习的各参与方获取局部模型参数,根据所述局部模型参数构建攻击模型参数,根据所述局部模型参数及所述攻击模型参数得到训练数据集。[0104] 本发明实施例中,联邦学习的各参与方各自在本地利用本地数据库进行模型训练,得到局部模型参数,并将所述局部模型参数传输给所述服务端。[0105] 较佳地,所述训练集构建模块101通过下述操作得到所述训练数据集:[0106] 从获取的所述局部模型参数中选取预设个数的局部模型参数,利用预设的攻击方式对选取的所述局部模型参数进行攻击处理,得到攻击模型参数;[0107] 将所述攻击模型参数作为负类样本及将从联邦学习的各参与方获取的所述局部模型参数作为正类样本,汇总所述负类样本及所述正类样本得到所述训练数据集。[0108] 优选地,本发明实施例中,所述服务端在从联邦学习的各参与方获取的m组局部模型参数中随机选取c组局部模型参数,用以构建联邦学习系统中的攻击模型参数。优选地,本发明实施例中,所述攻击模型参数的数量需要小于从联邦学习的各参与方获取的局部模型参数的一半,即:[0109][0110] 进一步地,本发明实施例中,所述预设的攻击方式可以为随机扰动,即对选取的第i组所述局部模型参数的第j个参数通过均值σ,方差μ的绝对值的10%的高斯分布进行随机扰动。[0111] 详细地,所述对于选取的c组局部模型参数W1,W2,...,Wc,每组局部模型参数的参数个数都为P,被攻击处理之后对应的局部模型参数为W1′,W2′,...,WC′,则:[0112] W′c=(W′c,1,W′c,2...W′v,p)[0113] Wij′=Wij+R,R~N(σ,10%*|μ|),i=1,2,…,c,j=1,2,…,P[0114] 其中,Wij所述c组局部模型参数中表示第i组参数的第j个参数,R为扰动项σ为均值,μ为方差。[0115] 本发明实施例中,根据上述方法可以构建得到c组攻击模型参数,将这c组攻击模型参数作为负类样本,并设置为第一标签,如0,同时从联邦学习的各参与方获取的的m组局部模型参数作为正类样本,并设置为第二标签,如1,得到规模为c+m的训练数据集。[0116] 本发明实施通过利用所述局部模型参数构建攻击模型参数,可以针对任意攻击方式进行调整,更为灵活及更有针对性,使得应用场景更加丰富。[0117] 所述判别器训练模块102,用于利用所述训练数据集训练预构建的判别器,得到攻击判别器。[0118] 优选地,所述预构建的判别器可以为全卷积神经网络。本发明实施例中,所述判别器以长度为P的参数向量作为输入,经过多层一维卷积,可以得到一个长度为P的识别向量,P记为O=(o1,o2,...,op)∈R,其中oi∈[0,1],i=1,2,...,P是对第i个参数的识别概率,并根据所述识别概率判别某一个局部模型参数为正类样本(即为善意模型参数)的概率。[0119] 较佳地,所述判别器训练模块102通过下述操作得到所述攻击判别器:[0120] 利用所述预构建的判别器中的神经网络计算所述训练数据集中每个参数的识别概率;[0121] 根据所述识别概率计算所述训练样本集中正类样本的预测概率;[0122] 根据所述预测概率计算损失值,直至所述损失值小于预设阈值,得到所述攻击判别器。[0123] 本发明实施例中,所述判别器训练模块102通过下述公式计算正类样本的预测概率:[0124][0125] 其中,oi∈[0,1],i=1,2,...P,是对第i个参数的识别概率,q为所述正类样本的预测概率。[0126] 进一步地,本发明实施例中,通过下述方法计算所述损失值:[0127][0128] 其中,b是每次迭代训练使用的样本个数,q(k),l(k)分别是第k个样本的预测概率和标签。[0129] 进一步地,所述判别器训练模块102还包括:[0130] 根据从所述各参与方获取的T次局部模型参数构建得到验证数据集;[0131] 利用所述验证数据集对所述攻击判别器进行性能评估。[0132] 本发明其中一个实施例中,服务端与各参与方总共进行了T轮通信,其中,每一次通信中,所述服务端都会从联邦学习的各参与方获取局部模型参数,则服务端可以收集到T(1)组局部模型参数,将这T组局部模型参数进行合并,可以得到验证数据集:V={v ,...,v(n)},[0133] 其中n是验证数据集的样本个数。[0134] 本发明实施例中,所述攻击判别器D对第k组样本v(k)的预测概率为z(k),k=1,(k)2,...,v,则v 的判别结果为:[0135] D(v(k))=pred(k)=1{z(k)≥0.5}[0136] 进一步地,记第k个样本的标签为l(k),k=1,2,...,v,若选择样本准确率作为所述攻击判别器D的评估指标,则所述攻击判别器的性能可以量化为:[0137][0138] 其中,1是示性函数,本发明其他实施例中也可以选择其它评估指标。[0139] 本发明实施通过利用所述训练数据集训练预构建的判别器,得到攻击判别器,识别准确率较高,同时也能较好的进行性能评估。[0140] 所述模型判断模块103,用于利用所述攻击判别器对待检测局部模型进行判断,得到善意局部模型参数。[0141] 详细地,所述模型判断模块103通过下述操作得到所述善意局部模型参数:[0142] 利用所述攻击判别器对从联邦学习的各参与方获取的所述局部模型参数进行预测,得到善意模型预测概率;[0143] 在所述善意模型预测概率大于等于预设阈值时,保留所述局部模型参数,得到所述善意局部模型。[0144] 本发明实施例中,在联邦学习系统中,当训练任务的局部模型参数量比较多(如自然语言模型)时,为了防御特定的某种攻击方式(如随机扰动攻击),可以将以上预训练好的攻击判别器部署到服务端上,所述服务端在接收到来自各方的局部模型参数后,先使用所述攻击判别器对其进行判别,若判别为攻击模型参数,则丢弃该局部模型参数,使得最后参与聚合的局部模型参数都是善意的,从而提高了全局模型的性能。[0145] 所述联邦学习模块104,用于对所述善意局部模型参数进行聚合运算,得到全局模型参数,并将所述全局模型参数发送给所述各参与方。[0146] 较佳地,所述联邦学习模块104通过下述操作对所述善意局部模型参数进行聚合运算:[0147] S40、利用预设的聚合规则对所述善意局部模型进行聚合,得到全局模型;[0148] S41、将所述全局模型的参数发送给各参与方。[0149] 本发明实施例中,通过下述方法得到所述全局模型参数:[0150][0151] 其中, 为聚合规则,D为攻击判别器,W″i为第i个善意的局部模型参数,e为所述善意的局部模型参数的数量,W为所述全局模型。[0152] 如图7所示,是本发明一实施例提供的实现联邦学习防御方法的电子设备的结构示意图。[0153] 所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如联邦学习防御程序12。[0154] 其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(SmartMediaCard,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(FlashCard)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如联邦学习防御程序12的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。[0155] 所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(CentralProcessingunit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如联邦学习防御程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。[0156] 所述总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称PCI)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。[0157] 图7仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图7示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。[0158] 例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi‑Fi模块等,在此不再赘述。[0159] 进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI‑FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。[0160] 可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(OrganicLight‑EmittingDiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。[0161] 应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。[0162] 所述电子设备1中的所述存储器11存储的联邦学习防御程序12是多个指令的组合,在所述处理器10中运行时,可以实现:[0163] 从联邦学习的各参与方获取局部模型参数,根据所述局部模型参数构建攻击模型参数,根据所述局部模型参数及所述攻击模型参数得到训练数据集;[0164] 利用所述训练数据集训练预构建的判别器,得到攻击判别器;[0165] 利用所述攻击判别器对待检测局部模型进行判断,得到善意局部模型参数;[0166] 对所述善意局部模型参数进行聚合运算,得到全局模型参数,并将所述全局模型参数发送给所述各参与方。[0167] 具体地,所述处理器10对上述指令的具体实现方法可参考图1至图5对应实施例中相关步骤的描述,在此不赘述。[0168] 进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑OnlyMemory)。[0169] 在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。[0170] 所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。[0171] 另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。[0172] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。[0173] 因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。[0174] 本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。[0175] 此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。[0176] 最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
专利地区:广东
专利申请日期:2020-11-23
专利公开日期:2024-07-26
专利公告号:CN112446025B