一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种分组可验证的链式隐私保护联邦学习方法及装置

2022-10-13 02:24:50 来源:中国专利 TAG:


1.本发明属于人工智能领域,涉及人工智能的安全保护方法,特别涉及一种分组可验证的链式隐私保护联邦学习方法及装置。


背景技术:

2.随着数据的爆炸式增长,机器学习作为一种数据挖掘技术,显示出了巨大的发展潜力,其可以应用于自动驾驶、智慧医疗、智能城市等场景。该类型机器学习范式需要对大量数据进行集中处理。但是,用户数据可能包含隐私信息。比如在智慧医疗中,患者数据高度保密,不能直接与第三方共享。另外,在网络资源有限的情况下,收集大量数据也具有极大挑战。
3.针对这一缺陷,谷歌率先提出了联邦学习方案,该方案可以在数据不离开用户的情况下进行机器学习训练。联邦学习由多轮训练组成。在每一轮的训练中,聚合服务器根据规则将全局模型分发给选定的用户。然后用户在自己的本地数据集上训练本地模型并将其上传到服务器,聚合服务器进行模型聚合以获得新的全局模型。虽然联邦学习在本地保留了敏感的训练数据,但它仍然面临着极大的安全风险。在训练过程中,攻击者可能会破坏聚合服务器并毒化全局模型,从而间接破坏用户本地模型。并且,攻击者也可以使用接收到的信息来推断用户隐私信息。
4.由于上述的各类隐私安全问题,许多方案使用同态加密、安全多方计算或差分隐私来实现隐私保护的联邦学习。然而,这些技术在实践中仍有不足之处。对于同态加密,过高的计算复杂度往往会导致较大的时间开销,特别是当客户端数量过大时。对于安全多方计算,其通信计算开销过大,难以支撑实际使用需求。对于差分隐私,由于其引入了噪声,易对模型精度造成影响。另外,在基于差分隐私的方案中,为了得到更精确的模型,往往需要更大的隐私预算,在这种情况下,实际达到的隐私水平值得商榷。
5.同时,为了防范聚合服务器返回错误的聚合结果,也需要对聚合结果进行正确性验证。为了缓解该问题,有研究人员通过结合同态哈希和零知识证明技术提出了对应的解决方案。然而,这些方案仍然面临昂贵的计算和通信开销。
6.由此可知,现有技术中的方法存在计算开销较大的技术问题。


技术实现要素:

7.本发明提供了一种分组可验证的链式隐私保护联邦学习方法及装置,用以解决或者至少部分解决现有技术中存在的计算开销较大的技术问题。
8.为了解决上述技术问题,本发明第一方面提供了一种分组可验证的链式隐私保护联邦学习方法,包括:
9.s1:服务器将全局模型参数发送给联邦学习用户;
10.s2:联邦学习用户将服务器发送的全局模型参数作为局部初始模型参数,并在本地数据基础上进行训练,获取新的局部模型参数;
11.s3:不同组的联邦学习用户基于新的局部模型参数和服务器发送的随机数进行局部模型的链式聚合;
12.s4:通过每一组中的最后一位联邦学习用户将局部模型聚合结果以及正确性验证标签发送给服务器;
13.s5:服务器对不同组的联邦学习用户发送的局部模型聚合结果以及正确性验证标签进行聚合,得到新的全局模型参数和全局验证标签,并发送至联邦学习用户;
14.s6:联邦学习用户根据接收的全局验证标签验证新的全局模型参数的正确性。
15.在一种实施方式中,步骤s1包括:
16.s1.1:联邦学习用户以分组的方式接入联邦学习训练网络,每组用户间采用链式结构进行连接;
17.s1.2:服务器将全局模型参数到各个联邦学习用户,并将利用伪随机数生成器生成的随机数δr发送给每组的第一个联邦学习用户和最后一个联邦学习用户,其中r表示当前处于第r轮迭代。
18.在一种实施方式中,步骤s2包括:
19.s2.1:每个联邦学习用户将接收到的全局模型参数作为局部初始模型参数,并利用局部初始模型参数和本地数据集计算梯度,计算公式为其中,d(i)表示联邦学习用户pi的本地数据集,wr表示全局模型参数,gi表示pi在数据集上d(i)训练得到的梯度,表示计算梯度;
20.s2.2:每个联邦学习用户计算新的局部模型参数,w
ir
=w
r-ηgi,其中η为学习速率,w
ir
为第r轮迭代中得到的新的局部模型参数。
21.在一种实施方式中,步骤s3包括:
22.s3.1:每组中的首个联邦学习用户通过公式进行计算θ
1r
=w
1r
δr,获得对应的盲化后的局部模型参数θ
1r
,并将θ
1r
发送到下一个用户,其中δr为服务器给每组用户的首个用户和最后一个用户下发的随机数,用来保护首个用户的隐私,w
1r
为r轮首个联邦学习用户训练出的新的局部模型参数;
23.s3.2:每组中除了首个联邦学习用户和最后一个联邦学习用户之外的其他联邦学习用户,根据公式θ
ir
=w
ir
θ
i-1r
进行计算,获得与该用户对应的盲化局部模型参数θ
ir
,并将θ
ir
传递给后续用户,其中r表示当前处于第r轮迭代,θ
i-1r
表示第i-1个用户得到的盲化后的局部模型参数,w
ir
为第r轮迭代中第i个用户训练出的新的局部模型参数;
24.s3.3:每组中的最后一个联邦学习用户根据θ
lr
=w
lr
θ
l-1r
计算得到经过盲化的局部聚合模型参数θ
lr
,并根据θ
gr
=θ
lr-δr计算当前用户组的局部聚合模型参数θ
gr
,将θ
gr
作为当前用户组的局部模型聚合结果,其中,g表示最后一个联邦学习用户在链式结构中的编号。
25.在一种实施方式中,步骤s4包括:
26.s4.1:联邦学习用户通过计算得到用户组gi的聚合结果正确性验证标签其中k和b为服务器不可知的随机向量,j表示当前第j组用户,为第r轮迭代中第j组用户得到的局部模型聚合结果;
27.s4.2:联邦学习用户将和一起上传到服务器中。
28.在一种实施方式中,步骤s5包括:
29.s5.1:服务器计算获得第r轮迭代后的全局模型模型参数w
r 1
,其中n为参与联邦学习训练的用户的数量,m为用户组的数量,为第r轮迭代中第j组用户的局部聚合模型参数,为第r轮迭代中第j组用户的局部模型聚合结果;
30.s5.2:聚合服务器计算获得第r轮迭代后的全局验证标签σ
r 1
,并将其发送给联邦学习用户。
31.在一种实施方式中,步骤s6包括:
32.联邦学习用户判断是否成立,若成立,则表示当前收到的新的全局模型参数是正确的,否则,舍弃接收到的新的全局模型参数,其中m为用户组的数量。
33.基于同样的发明构思,本发明第二方面提供了一种分组可验证的链式隐私保护联邦学习装置,包括:
34.全局模型参数同步模块,用于通过服务器将全局模型参数发送给联邦学习用户;
35.本地训练模块,用于通过联邦学习用户将服务器发送的全局模型参数作为局部初始模型参数,并在本地数据基础上进行训练,获取新的局部模型参数;
36.局部聚合模块,用于通过不同组的联邦学习用户基于新的局部模型参数和服务器发送的随机数进行局部模型的链式聚合;
37.聚合结果发送模块,用于通过每一组中的最后一位联邦学习用户将局部模型聚合结果以及正确性验证标签发送给服务器;
38.全局聚合模块,用于通过服务器对不同组的联邦学习用户发送的局部模型聚合结果以及正确性验证标签进行聚合,得到新的全局模型参数和全局验证标签,并发送至联邦学习用户;
39.验证模块,用于通过联邦学习用户根据接收的全局验证标签验证新的全局模型参数的正确性。
40.基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
41.基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
42.相对于现有技术,本发明的优点和有益的技术效果如下:
43.(1)与其他联邦学习方法不同的是,本发明仅使用分组的链式训练结构,即可完成隐私保护的联邦学习训练,可有效降低传统联邦学习隐私保护方案的计算、通信开销。
44.(2)本发明采用的可验证安全聚合方案,可以在保证隐私性和高效性的同时,实现对服务器聚合结果的正确性验证。
45.(3)本发明可用于资源受限条件下的联邦学习训练,其简单易用的架构,使其易于
部署,并极大的缓解了现有方案安全防护措施的开销。
附图说明
46.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1为本发明实施例中分组可验证的链式隐私保护联邦学习方法的场景示意图;
48.图2为本发明实施例中分组可验证的链式隐私保护联邦学习方法的流程示意图。
具体实施方式
49.本发明首先提出了一种分组的链式学习机制来保证用户在训练阶段的隐私,然后提出了一个可验证的安全聚合协议来保证全局模型的可验证性。本发明不需要任何复杂的密码原语,也不引入噪声,只需通过利用轻量级伪随机生成器,就可以实现可验证的隐私保护联邦学习。
50.为了达到上述技术效果,本发明的主要发明构思如下:
51.本发明首先将用户分成不同组进行模型训练,并每组将训练结果和验证标签上传到聚合服务器;然后聚合服务器对训练结果和验证标签进行聚合,并返回聚合结果即新的全局模型参数;最后用户对聚合后的标签进行验证,在验证通过后接受该聚合结果。本发明在不引入复杂密码学原语的基础下通过分组的链式学习机制保证了客户端的隐私,并通过可验证的聚合协议实现了聚合结果的可验证性,计算开销较低,可解决资源受限场景下的联邦学习需求
52.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
53.实施例一
54.本发明实施例提供了一种分组可验证的链式隐私保护联邦学习方法,包括:
55.s1:服务器将全局模型参数发送给联邦学习用户;
56.s2:联邦学习用户将服务器发送的全局模型参数作为局部初始模型参数,并在本地数据基础上进行训练,获取新的局部模型参数;
57.s3:不同组的联邦学习用户基于新的局部模型参数和服务器发送的随机数进行局部模型的链式聚合;
58.s4:通过每一组中的最后一位联邦学习用户将局部模型聚合结果以及正确性验证标签发送给服务器;
59.s5:服务器对不同组的联邦学习用户发送的局部模型聚合结果以及正确性验证标签进行聚合,得到新的全局模型参数和全局验证标签,并发送至联邦学习用户;
60.s6:联邦学习用户根据接收的全局验证标签验证新的全局模型参数的正确性。
61.本发明实例提供一种面向边缘计算场景下轻量且安全的隐私保护联邦学习方法,
具体场景如图1所示。该方法流程如图2所示。
62.具体实施过程中,联邦学习用户以分组的形式接入联邦学习训练网络,并进行服务器与用户之间的参数同步。步骤s2是本地训练,各联邦学习用户将服务器发送的全局模型参数作为局部初始模型参数,并在本地数据基础上进行训练,从而获取新的局部模型参数。s3是局部模型参数的链式聚合,并通过每一组中的最后一位联邦学习用户将局部模型聚合结果以及正确性验证标签发送给服务器。步骤s5是服务器对每一组发送的具备模型聚合结果和对应的标签进行全局聚合,从而得到新的全局模型参数和全局验证标签。最后由用户进行验证。
63.在一种实施方式中,步骤s1包括:
64.s1.1:联邦学习用户以分组的方式接入联邦学习训练网络,每组用户间采用链式结构进行连接;
65.s1.2:服务器将全局模型参数到各个联邦学习用户,并将利用伪随机数生成器生成的随机数δr发送给每组的第一个联邦学习用户和最后一个联邦学习用户,其中r表示当前处于第r轮迭代。
66.具体来说,联邦学习用户即联邦学习客户端或者参与方。服务器将利用伪随机数生成器生成的随机数δr发送给每组的第一个联邦学习用户和最后一个联邦学习用户,是为了后续过程中的参数的盲化和聚合,其中,分组中的第一个用户可以利用服务器发送的随机数盲化自己的模型参数(具体参见公式θ
1r
=w
1r
δr),最后一个用户则需要用这个数据来进行解盲,从而恢复出这一组用户的局部聚合结果(具体参见公式θ
gr
=θ
lr-δr)。
67.在一种实施方式中,步骤s2包括:
68.s2.1:每个联邦学习用户将接收到的全局模型参数作为局部初始模型参数,并利用局部初始模型参数和本地数据集计算梯度,计算公式为其中,d(i)表示联邦学习用户pi的本地数据集,wr表示全局模型参数,gi表示pi在数据集上d(i)训练得到的梯度,表示计算梯度;
69.s2.2:每个联邦学习用户计算新的局部模型参数,w
ir
=w
r-ηgi,其中η为学习速率,w
ir
为第r轮迭代中得到的新的局部模型参数。
70.具体实施过程中,联邦学习用户每次训练时,都会将本轮接收的全局模型参数作为当前局部模型训练的输入,即作为局部初始模型参数。
71.在一种实施方式中,步骤s3包括:
72.s3.1:每组中的首个联邦学习用户通过公式进行计算θ
1r
=w
1r
δr,获得对应的盲化后的局部模型参数θ
1r
,并将θ
1r
发送到下一个用户,其中δr为服务器给每组用户的首个用户和最后一个用户下发的随机数,用来保护首个用户的隐私,w
1r
为r轮首个联邦学习用户训练出的新的局部模型参数;
73.s3.2:每组中除了首个联邦学习用户和最后一个联邦学习用户之外的其他联邦学习用户,根据公式θ
ir
=w
ir
θ
i-1r
进行计算,获得与该用户对应的盲化局部模型参数θ
ir
,并将θ
ir
传递给后续用户,其中r表示当前处于第r轮迭代,θ
i-1r
表示第i-1个用户得到的盲化后的局部模型参数,w
ir
为第r轮迭代中第i个用户训练出的新的局部模型参数;
74.s3.3:每组中的最后一个联邦学习用户根据θ
lr
=w
lr
θ
l-1r
计算得到经过盲化的局
部聚合模型参数θ
lr
,并根据θ
gr
=θ
lr-δr计算当前用户组的局部聚合模型参数θ
gr
,将θ
gr
作为当前用户组的局部模型聚合结果,其中,g表示最后一个联邦学习用户在链式结构中的编号。
75.具体来说,每组中的首个联邦学习用户通过公式进行计算,得到对应的盲化后的局部模型参数θ
1r
,然后将θ
1r
发送给该组中的下一个用户,下一个用户则基于前一个用户发送的参数和该用户得到的新的局部模型参数进行计算,得到对应的盲化后的局部模型参数。直到该组的最后一个用户,最后一个用户还要进行进一步的操作,即将得到的盲化后的局部模型参数与服务器发送的随机数进行计算,得到改组的局部模型参数聚合结果。
76.在一种实施方式中,步骤s4包括:
77.s4.1:联邦学习用户通过计算得到用户组gi的聚合结果正确性验证标签其中k和b为服务器不可知的随机向量,j表示当前第j组用户,为第r轮迭代中第j组用户的得到的局部模型聚合结果;
78.s4.2:联邦学习用户将和一起上传到服务器中。
79.在一种实施方式中,步骤s5包括:
80.s5.1:服务器计算获得第r轮迭代后的全局模型模型参数w
r 1
,其中n为参与联邦学习训练的用户的数量,m为用户组的数量,为第r轮迭代中第j组用户的局部聚合模型参数,为第r轮迭代中第j组用户的局部模型聚合结果;
81.s5.2:聚合服务器计算获得第r轮迭代后的全局验证标签σ
r 1
,并将其发送给联邦学习用户。
82.需要说明的是,通过步骤s5.1和步骤s5.2中服务器的计算后,这一轮(第r轮)训练完成,此时会得到对应的全局模型参数和全局验证标签(即迭代后的模型参数和标签),其中,第r轮迭代后的全局模型模型参数w
r 1
会作为下一轮(第r 1)训练的输入。例如第一轮迭代过程中,将初始全局模型参数w1发送给各个联邦学习用户,其作为输入进行训练,在本轮训练结束后就会得到这一轮的训练结果即w2,再作为下一轮训练的输入(全局模型参数)。
83.在一种实施方式中,步骤s6包括:
84.联邦学习用户判断是否成立,若成立,则表示当前收到的新的全局模型参数是正确的,否则,舍弃接收到的新的全局模型参数,其中m为用户组的数量;
85.经过上述验证之后,联邦学习用户与服务器继续进行下一轮的迭代训练,直到满足迭代条件为止。
86.本发明提供的一种分组可验证的链式隐私保护联邦学习方法,可在保护用户隐私的同时,实现对全局模型的正确性验证,缓解联邦学习聚合服务器的单点故障风险。
87.实施例二
88.基于同样的发明构思,本实施例提供了一种分组可验证的链式隐私保护联邦学习装置,包括:
89.全局模型参数同步模块,用于通过服务器将全局模型参数发送给联邦学习用户;
90.本地训练模块,用于通过联邦学习用户将服务器发送的全局模型参数作为局部初始模型参数,并在本地数据基础上进行训练,获取新的局部模型参数;
91.局部聚合模块,用于通过不同组的联邦学习用户基于新的局部模型参数和服务器发送的随机数进行局部模型的链式聚合;
92.聚合结果发送模块,用于通过每一组中的最后一位联邦学习用户将局部模型聚合结果以及正确性验证标签发送给服务器;
93.全局聚合模块,用于通过服务器对不同组的联邦学习用户发送的局部模型聚合结果以及正确性验证标签进行聚合,得到新的全局模型参数和全局验证标签,并发送至联邦学习用户;
94.验证模块,用于通过联邦学习用户根据接收的全局验证标签验证新的全局模型参数的正确性。
95.由于本发明实施例二所介绍的装置为实施本发明实施例一中分组可验证的链式隐私保护联邦学习方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的装置都属于本发明所欲保护的范围。
96.实施例三
97.基于同一发明构思,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现如实施例一中所述的方法。
98.由于本发明实施例三所介绍的计算机可读存储介质为实施本发明实施例一中分组可验证的链式隐私保护联邦学习方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
99.实施例四
100.基于同一发明构思,本技术还提供了一种计算机设备,包括存储、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述程序时实现实施例一中的方法。
101.由于本发明实施例四所介绍的计算机设备为实施本发明实施例一中分组可验证的链式隐私保护联邦学习方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机设备都属于本发明所欲保护的范围。
102.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
103.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
104.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
105.显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献