
1.本发明涉及联邦学习技术领域,尤其涉及双层公平联邦学习方法、装置和存储介质。
背景技术:2.机器学习在各行各业中得到了越来越广泛的关注和应用。但是它需要大量的、全方位的数据来训练模型。而在现实世界中,大多数企业只有有限和单一方面的数据,传统的做法是将跨组织的数据融合到一个中央服务器中。随着越来越多的公司意识到数据安全和用户隐私的问题,不同公司之间的数据集成面临着巨大的阻力。因此,在大多数行业中,数据以孤岛的形式存在。
3.近年来,联邦学习的公平性引起了人们的关注。联邦学习的公平性分为两类:协作公平性和最小最大公平性。协作公平认为,由于不同客户的贡献可能不同,客户应该得到与其贡献相称的不同机器学习模型。最小最大公平性认为,要减少客户机模型性能差异,为所有客户机提供一个高质量的模型。本专利关注的是最小最大公平性。
4.现有的联邦学习的公平性主要关注最小最大公平性。联邦学习的兴起为解决数据孤岛问题提供了新的学习思路。联邦学习使得分布在不同地点的多个客户端在不泄露数据的情况下,建立一个共享的全局机器学习模型。
5.然而,传统的联邦学习只是追求全局模型在所有数据集上的效果,忽略了单个客户端的效果。由于客户端上的数据是非独立同分布(non
‑
iid)数据,虽然模型的整体准确度较高,但是某些客户端的效果却很差。近年来,公平性的联邦学习受到越来越多的关注,即降低模型在各个客户端的性能差异,这是符合实际意义。一方面,在联帮学习中,如果客户端无法得到好的模型,它可以随时退出学习过程,中心服务器需要确保每个客户机的效果,鼓励更多的客户端参与培训,以获得更好的全局模型。另一方面,减少客户端的模型性能差异可以提高全局模型的泛化能力,比如,如果模型在数据集d1和d2下损失是相同的,那么说明在d1数据上训练的模型可以在d2上很好地推广,反之亦然。
6.目前q
‑
fair federated learning(q
‑
ffl)算法是比较受欢迎的最小最大公平性联邦学习算法。q
‑
ffl将各个客户端的损失函数扩大,修正为原始目标函数的q+1的幂次方,其中q>0。在这样的设置中,对误差较大的客户端赋予了相对较高的权重,从而减小了客户端的模型性能差异,提高了公平性。
7.但是,q
‑
ffl算法存在以下缺点:首先,它没有考虑到联邦学习中的non
‑
iid情况。non
‑
iid数据会减慢收敛速度,精度会显著降低;其次,被扩大的客户端损失函数会导致不稳定的收敛。最后,q
‑
ffl用准确度的方差作为公平性的定义,由于方差是是一个绝对指标,与准确度的量级有关,会造成评估不准确。
技术实现要素:8.本发明的目的是提供双层公平联邦学习方法、装置和存储介质,能够在不泄露个
体客户端的内部数据的情况下,依据各个客户端的非独立同分布数据生成具有较高泛化能力的全局模型,且各个客户端的局部模型依据全局模型进行调整实现所有客户端的模型训练共享。
9.为了实现上有目的,本发明公开了一种双层公平联邦学习方法,其包括如下步骤:
10.s1、获取多个客户端的局部模型;
11.s2、中央服务端对所有局部模型进行聚合处理,得到全局模型;
12.s3、每一所述客户端分别依据所述全局模型对对应的局部模型进行约束处理,使对应的局部模型的模型参数接近所述全局模型的模型参数,以得到对应的新的局部模型;
13.s4、所述中央服务端依据所有新的局部模型更新所述全局模型。
14.较佳地,所述步骤(1)具体包括如下步骤:
15.s11、每一客户端分别搜集对应的内部数据,所述内部数据为非独立同分布数据;
16.s12、对每一客户端的内部数据进行模型训练,以构建对应的局部模型。
17.较佳地,所述步骤(4)之前还包括:
18.s401、依据每一客户端的内部数据对对应的新的局部模型进行迭代训练。
19.较佳地,所述内部数据包括当前客户端的历史内部数据和最新的内部数据。
20.较佳地,所述步骤(3)具体包括:
21.s31、依据所述全局模型对每一所述客户端对应的局部模型添加对应的修正变量,以使对应的局部模型的模型参数接近所述全局模型的模型参数,以得到对应的新的局部模型。
22.具体地,将第i个客户端的损失函数定义为其中,w
i
为第i个客户端对应的局部模型,x
i
为第i个客户端的输入数据,y
i
为第i个客户端对应x
i
的真实标签,f为中央服务端以基尼系数为测度的目标函数,f为客户端的目标函数,将第i个客户端的对应的局部模型对应的修正变量定义为则第i个客户端被约束处理后的损失函数为其中,w为全局模型。
23.具体地,所述中央服务端依据公式将所有新的局部模型更新所述全局模型,其中,w
(t)
为迭代第t次后的全局模型,w
(t+1)
为迭代第t+1次后的全局模型,k为客户端的总数量,w
i(t)
为第i个客户端迭代第t次后对应的局部模型,λ为聚合参数。
24.具体地,所述步骤(4)具体包括:
25.s41、所述中央服务端依据所有新的局部模型以模型距离无关性或模型性能公平性更新所述全局模型;
26.s42、所述中央服务端依据所有新的局部模型以模型距离无关更新所述全局模型时,所述中央服务端依据公式将所有新的局部模型更新所述全局模型,其中,d
i
为w
i
和w之间的距离;
27.s43、所述中央服务端依据所有新的局部模型以模型性能公平性更新所述全局模
型时,依据不同客户端的性能差异将λ定义为或其中,l
i
为第i个客户端的损失,l为所有客户端的平均损失。
28.相应地,本发明还公开了一种双层公平联邦学习装置,其包括:
29.获取模块,用于获取多个客户端的局部模型;
30.聚合模块,用于中央服务端对所有局部模型进行聚合处理,得到全局模型;
31.约束模块,用于每一所述客户端分别依据所述全局模型对对应的局部模型进行约束处理,使对应的局部模型的模型参数接近所述全局模型的模型参数,以得到对应的新的局部模型;
32.更新模块,用于所述中央服务端依据所有新的局部模型更新所述全局模型。
33.相应地,本发明还公开了一种存储介质,用于存储计算机程序,所述程序被处理器执行时实现如上所述的双层公平联邦学习方法。
34.与现有技术相比,本发明一方面能够在不泄露个体客户端的内部数据的情况下,中央服务端依据各个客户端的非独立同分布数据生成具有较高泛化能力的全局模型,且各个客户端的局部模型依据全局模型进行调整实现所有客户端的模型训练共享;另一方面,各个客户端时通过对局部模型进行约束处理以使局部模型的模型参数接近所述全局模型的模型参数,使得客户端的局部模型能够具有最大限度的准确性,以满足实际使用需求。
附图说明
35.图1是本发明的双层公平联邦学习方法中中央服务端和各个客户端的结构关系示意图;
36.图2是本发明的双层公平联邦学习方法的执行流程图;
37.图3是本发明的双层公平联邦学习装置的结构示意图。
具体实施方式
38.为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
39.请参阅图1
‑
图2所示,本实施例的双层公平联邦学习方法包括如下步骤:
40.s1、获取多个客户端2的局部模型;
41.s2、中央服务端1对所有局部模型进行聚合处理,得到全局模型;
42.s3、每一所述客户端2分别依据所述全局模型对对应的局部模型进行约束处理,使对应的局部模型的模型参数接近所述全局模型的模型参数,以得到对应的新的局部模型;
43.s4、所述中央服务端1依据所有新的局部模型更新所述全局模型。
44.通过重复步骤(2)至步骤(5)以迭代更新局部模型,从而迭代更新全局模型,直至所有的局部模型收敛于所述全局模型。使所有的局部模型收敛于所述全局模型的目的在于供每个局部模型最大化地学习到了其他局部模型的特征信息,实现在不泄露其内部数据的情况下,使每个客户端2均能学习到其他局部模型的特征信息,以提升局部模型的泛化能力,及提升全局模型的泛化能力,从而吸引更多的客户端2加入本实施例的联邦学习中,以使得全局模型具有更好的公平性和稳定性。
45.较佳地,所述步骤(1)具体包括如下步骤:
46.s11、每一客户端2分别搜集对应的内部数据,所述内部数据为非独立同分布数据;
47.s12、对每一客户端2的内部数据进行模型训练,以构建对应的局部模型。
48.可以理解的是,由于每个客户端2的局部模型是通过其内部数据进行模型训练得到的,因此,每个局部模型具有该客户端2的特征信息,但局部模型本身不具有该客户端2的内部数据,因此,将该客户端2的局部模型供中央服务端1聚合,不会造成该客户端2的内部数据泄漏,但由于全局模型是由全部局部模型聚合形成的,因此,全局模型集成了各个客户端2的特征信息,使得全局模型具有一定的泛化能力,能够在一定程度上适应其他的没有加入本实施例的联邦学习的客户端2,因此,能够鼓励这部分没有加入本实施例的联邦学习的客户端2加入联邦学习中,以提升联邦学习的规模,使得迭代的全局模型具有更高的泛化能力、稳定性和公平性。
49.本实施例所指的双层包括上层和下层,上层指中央服务端1,本实施例的上层只包括一个中央服务端1;下层指客户端2,本实施例的下层包括k个客户端2。中央服务端1和各个客户端2能够独立控制相应变量以优化对应模型的模型参数,中央服务端1能够与每一客户端2进行通讯,中央客户端2不能完全决定每一客户端2的行为,但中央客户端2的决策可能会影响每一客户端2的行为,同样地,每一客户端2的决策不仅决定自身的行为,也可能影响中央服务端1的行为。也就是说,中央客户端2和每一客户端2之间是相互依存、相互影响的关系。
50.较佳地,所述步骤(4)之前还包括:
51.s401、依据每一客户端2的内部数据对对应的新的局部模型进行迭代训练。
52.较佳地,所述内部数据包括当前客户端2的历史内部数据和最新的内部数据。
53.可以理解的是,依据内部数据对新的局部模型进行迭代训练,以使得新的局部模型能够更加贴合当前客户端2,且由于客户端2的内部数据会随着时间的变化而发生动态变化,因此,将历史内部数据和最新的内部数据作为模型训练数据,对新的局部模型进行模型训练,能够保证新的局部模型的模型参数更能符合客户端2的当前状态。
54.较佳地,所述步骤(3)具体包括:
55.s31、依据所述全局模型对每一所述客户端2对应的局部模型添加对应的修正变量,以使对应的局部模型的模型参数接近所述全局模型的模型参数,以得到对应的新的局部模型。
56.具体地,将第i个客户端2的损失函数定义为其中,w
i
为第i个客户端2对应的局部模型,x
i
为第i个客户端2的输入数据,y
i
为第i个客户端2对应x
i
的真实标签,f为中央服务端1以基尼系数为测度的目标函数,f为客户端2的目标函数,将第i个客户端2的对应的局部模型对应的修正变量定义为则第i个客户端2被约束处理后的损失函数为其中,w为全局模型。
57.这里的修正变量为l2范数,通过修正变量对第i个客户端2的损失函数进行灵活且有弹性的正则化约束,以调整全局模型
施加到第i个客户端2的局部模型的强度。
58.由于f为中央服务端1以基尼系数为测度的目标函数,基尼系数是一个相对指标,具有强洛伦兹一致性,适于准确评估全局模型的公平性。将f定义为中央服务端1以基尼系数为测度的目标函数,能够相对传统以方法评估公平性更准确,且后续能够利用基尼系数分解不公平水平的构成要素和不公平程度的变化,以便于对学习过程进行更进一步的渗入分析。
59.进一步地,所述中央服务端1依据公式将所有新的局部模型更新所述全局模型,其中,w
(t)
为迭代第t次后的全局模型,w
(t+1)
为迭代第t+1次后的全局模型,k为客户端2的总数量,w
i(t)
为第i个客户端2迭代第t次后对应的局部模型,λ为聚合参数。
60.可以理解的是,为了保证全局模型在单个局部模型上的收敛稳定性,本实施例没有用全局模型代替第i个客户端2的局部模型w
i
,而是对每个局部模型进行优化调整后添加到全局模型上,以更新全局模型,从而在后续的迭代中实现全局模型和每个局部模型的不断优化。
61.值得注意的是,由公式可知,w
(t+1)
的值能够根据局部模型的数量进行变化,且各个模型不涉及到客户端2的具体内部数据,仅涉及到由具体内部数据构建的局部模型的特征信息,因此,本实施例的双层公平联邦学习方法的客户端2能够中途退出学习,也能够中途加入学习,从而使得本实施例的学习方法具有更高的适应性
62.具体地,所述步骤(4)具体包括:
63.s41、所述中央服务端1依据所有新的局部模型以模型距离无关性或模型性能公平性更新所述全局模型。
64.s42、所述中央服务端1依据所有新的局部模型以模型距离无关更新所述全局模型时,所述中央服务端1依据公式将所有新的局部模型更新所述全局模型,其中,d
i
为w
i
和w之间的距离。
65.可以理解的是,当聚合参数λ对所有客户端2都相同时,远离全局模型的局部模型将获得优势。因此,为了实现模型距离的无关性,需要对远离全局模型的局部模型进行约束,使全局模型到所有局部模型的更新是一致的,从而体现全局模型的公平性。实际上,局部模型每迭代一次,会越靠近全局模型,当迭代至一定程度时,局部模型会收敛于全局模型。
66.s43、所述中央服务端1依据所有新的局部模型以模型性能公平性更新所述全局模型时,依据不同客户端2的性能差异将λ定义为或其中,l
i
为第i个客户端2的损失,l为所有客户端2的平均损失。
67.可以理解的是,针对局部模型的性能差异,对客户端2的更新施加不同的权重,赋
予损失较高的客户更大的权重,从而降低全局模型在不同客户端2上的性能差异,提高公平性。不同局部模型的聚合参数λ根据实际情况在上述三个定义上进行选取,在此不做详细讨论。
68.至此,本实施例完成了全局模型和各个局部模型的构建及更新迭代,为了对全局模型和各个局部模型进行优化求解,本实施例还提供了解决全局模型和各个局部模型的双层规划问题:
69.1、固定全局模型,优化局部模型:将局部模型的优化问题的求解看做是一个迭代优化过程,用梯度下降法求解局部模型的目标函数的解,可用公式进行多次梯度下降,从而获得局部模型优化问题的近似解;
70.2、固定局部模型,求解全局模型:在得到局部模型优化问题的近似解后,依据公式计算全局模型,其中,λ
i
有三种策略:
71.a.
72.b.
73.c.不同的λ
i
有策略根据实际情况在上述三个策略上进行选取,在此不做详细讨论,不同λ
i
策略的选定能够获得不同的全局模型求解结果。
74.请参阅图1
‑
图3所示,相应地,本发明还公开了一种双层公平联邦学习装置,其包括:
75.获取模块10,用于获取多个客户端2的局部模型;
76.聚合模块20,用于中央服务端1对所有局部模型进行聚合处理,得到全局模型;
77.约束模块30,用于每一所述客户端2分别依据所述全局模型对对应的局部模型进行约束处理,使对应的局部模型的模型参数接近所述全局模型的模型参数,以得到对应的新的局部模型;
78.更新模块40,用于所述中央服务端1依据所有新的局部模型更新所述全局模型。
79.相应地,本发明还公开了一种存储介质,用于存储计算机程序,所述程序被处理器执行时实现如上所述的双层公平联邦学习方法。
80.结合图1
‑
图3,本发明一方面能够在不泄露个体客户端2的内部数据的情况下,中央服务端1依据各个客户端2的非独立同分布数据生成具有较高泛化能力的全局模型,且各个客户端2的局部模型依据全局模型进行调整实现所有客户端2的模型训练共享;另一方面,各个客户端2时通过对局部模型进行约束处理以使局部模型的模型参数接近所述全局模型的模型参数,使得客户端2的局部模型能够具有最大限度的准确性,以满足实际使用需求。
81.以上所揭露的仅为本发明的优选实施例而已,当然不能以此来限定本发明之权利
范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。