总览
当前大多数的分布式/联邦学习(FL)框架都需要参数服务器来聚合本地模型更新。这些基于服务器的框架不幸地遭受了单点故障问题的困扰。另外,现有联邦学习参与方不论贡献大小都能获得同样的最终联邦模型的设定导致不公平性的产生。为了解决这些问题,[Lyu et. al. 2020] 首创了能够确保协作公平,无需可信第三方的联邦学习系统,该生态系统称为decentralized Fair and Privacy-Preserving Deep Learning (FPPDL)。
为什么联邦学习需要协作公平?
在当前的联邦学习架构中,无论参与者的贡献如何,所有参与者都可以在协作模型训练结束时收到相同的联邦模型。这可能会严重阻碍协作,并使联邦学习易受搭便车参与者的攻击。例如,几家银行可能希望一起建立模型来预测中小企业的信用度。但是拥有更多数据和更高质量数据的大型银行可能不愿意参与到合作中,因为担心较小的银行会从共享FL模型中受益并侵蚀其市场份额。没有隐私保护和协作公平性的保障会严重阻碍具有高质量和大型数据集的参与者加入联邦学习,从而对健康的FL生态系统的形成产生负面影响。
如何定义和量化协作公平性?
在联邦学习系统中,高贡献者应该获得比低贡献者更好的本地模型作为奖励。特别地,可以通过不同方的贡献(X轴)与其各自的最终模型精度(Y轴)之间的相关系数来量化公平性。[Lyu et. al. 2020] 的工作使用了独立模型的准确性(sacci)和共享水平(λi)来量化各方贡献,使用各方最终模型精度(acci)作为协作奖励。独立模型准确性表征了各方在其自身本地数据上的学习能力,而共享水平则表征了各方的共享意愿。
如何在FL中实现协作公平?
[Lyu et. al. 2020] 设计了一种本地信誉共同评估机制,以确保FPPDL中的公平性,在此机制中,参与者使用其“积分”以“赚钱”的方式交易其信息。每个参与者的本地信誉和积分将通过初始基准测试阶段进行初始化,并通过保护隐私的协作式深度模型训练进行更新。基本思想是,参与者可以通过将信息贡献给其他参与者来赚取积分。然后他们可以使用赚取的积分与其他参与者交易信息。因此,此机制鼓励参与者上传更多样本或模型渐变以赚取更多积分(只要分享的信息在他们共享水平的限制之内),并使用这些积分从其他参与者下载更多渐变。下载和上传过程如下所示:
下载:由于一个参与者对其他参与者的贡献可能不同,因此从不同参与者的角度来看,该参与者的信誉可能有所不同。因此,每一参与者i均应维持一个记录了所有各方信誉的私有本地信誉列表,并按其信誉值进行降序排列。如果参与者j的信誉在参与者i的信誉列表排名越高,参与者i越有可能从参与者j下载渐变,并奖励参与者j更多的积分。
上载:一旦一方接收到针对其本地渐变的下载请求,它就可以基于来自请求者的下载请求及其自身的共享水平来确定要发送回多少有意义的渐变。
如何保护FL中的隐私?
在FL中,共享梯度可以防止直接泄露本地数据,但可以间接泄露本地数据信息。为了进一步防止潜在的隐私泄漏,这篇文章使用同态加密,以便每一方只能解密所接收到的加密梯度的总和。
由于梯度向量是高维的,因此直接用传统的paillier, elgamal加密梯度向量的计算和通信复杂度都非常昂贵。因此,这篇文章提出了一个三层的洋葱式加密方案。第一层通过使用简单有效的流密码进行同态加密来保护局部模型梯度。第二层和第三层是经典的混合加密。第二层用新的对称加密密钥fsk对第一层的密文进行重新加密,第三层用接收者的公共密钥对新的对称密钥进行加密。这样,对高维数据的加密变得非常有效,并且也可以用于验证接收方。
FPPDL的实现
FPPDL分两个阶段实现实现公平和隐私,如图1所示。

第1阶段:初始基准测试进行本地信誉列表和积分初始化。参与者在无需查看各自原始数据的前提下,可以进行相互评估各自训练数据的质量。该算法的工作原理如下:每个参与者根据其本地训练数据训练DPGAN,以生成人工样本。每个参与者根据其个人共享水平发布生成的人工样本,但不发布标签。所有其他参与者使用他们预先训练的独立模型为接收到的人工样本生成预测,并将预测的标签发送回生成这些样本的一方。每一方都会将所有合并标签的多数投票与特定方的预测标签进行比较,以评估此方的效果。这里所有组合标签的多数投票反映了多数方的结果,而第j方的预测标签仅反映了j方的结果。
通过释放DPGAN样本获得的积分将用于在第2阶段下载梯度,并且可下载梯度的数量取决于本地信誉列表和它所请求方的共享水平。
第2阶段:保护隐私的协作深度学习。此阶段涉及如何根据上载/下载来更新积分,如何使用三层洋葱式加密来保护单个模型更新的隐私,参数和本地信誉列表更新,以及系统对可信参与者的维护。
基准线
1)独立框架:假设各方在没有任何协作的情况下基于本地训练数据训练独立模型。该框架提供了最大的私密性,但实用性却很低,因为当单独进行训练时,每一方都容易陷入局部最优状态。
2)集中式框架:允许受信任的服务器以明文方式访问所有参与者的数据,并使用标准SGD在合并后的数据上训练全局模型。因此,这是违反隐私的框架。
3)分布式框架:使各方可以同时进行独立训练,并选择一部分参数在每次迭代中上载。
实验设置
设置1:不同的共享水平,相同的数据大小:各方的数据大小相同,但各方的共享水平是从某个范围(例如10%-50%)中随机抽样的,并且在协作过程中,各方根据自己的共享水平释放有意义的渐变。
设置2:不同的数据大小,相同的共享水平:在这种情况下,不同的参与者具有不同的数据大小,但是共享水平相同。
实验结果
公平性:一系列的结果表明,FPPDL较好的实现了公平性:协作后共享水平高并且拥有更多训练数据的一方得到了更精确的模型。相反,分布式框架在所有情况下均表现出较差的公平性,甚至在某些情况下甚至为负值,表明了分布式框架缺乏公平性。这是因为在分布式框架中,无论参与者贡献多少,所有参与者都可以得出相似的良好模型。
准确性: FPPDL允许每一方都能得到比其独立模型更好的模型。特别是,最有贡献的一方得到了最高的准确性,并且与分布式框架相当。
FPPDL能否抵御内部搭便车者和外部窃听者?
对于去中心化系统的内部攻击者,这篇文章特别考虑一个有趣的案例:没有任何数据的搭便车者,并且这篇文章指出此搭便车者属于低贡献方类别。 在初始化期间,该搭便车者可以选择向其他方发送虚假信息。例如,它可以从10个类别中随机抽取类别作为接收到的DPGAN样本的预测标签,然后将其释放给发布这些DPGAN样本并请求标签的参与者。当发布者从搭便车者那里收到返回的随机标签并检测到它们中的大多数与多数投票不一致时,则搭便车者将被报告为“低贡献者”。如果大多数参与者都将搭便车者报告为“低贡献”,那么系统会从可信集合中排除搭便车者,所有参与者都将终止与搭便车者的协作。这样一来,这样的恶意方就从一开始就被隔离了,而其余方之间的协作将不会受到影响。即使搭便车可能以某种方式成功潜入第一阶段,但与其他诚实方相比,其本地信誉也会大大降低。为了在联邦学习过程中进一步检测和隔离此恶意方,这篇文章使用初始化阶段生成的样本在第2阶段的每个通信回合中重复进行相互评估,从而大大降低恶意方幸存的机会。
对于旨在通过窃听各方之间的通信通道来窃取交换信息的外部窃听者,第一阶段使用的差分隐私和第二阶段应用的三层洋葱式加密本质上阻止了这种攻击。
结论
这项工作首次研究了去中心化联邦学习中的协作公平和隐私问题。这篇文章引入了本地信誉和交易积分的概念,并通过初始基准测试进行初始化,并在保护隐私的协作深度学习过程中进行更新。为了保护隐私,这篇文章采用差分隐私GAN(DPGAN),并提出了一种三层的洋葱式加密方案。这篇文章还提供了一种可行的解决方案,以检测并降低系统中低贡献者的影响。
一些有趣的未来研究:
1)将协作公平性扩展到更复杂的设置,例如极端的非IID设置,垂直FL,还有机构之间的实际协作等。
2)关注分布式系统中的各种恶意行为以及拜占庭或西比尔攻击,将系统健壮性集成到当前的系统。
3)在区块链平台上实施提出的框架和区块链原型以验证其适用性。
论文和代码
该论文的下载链接:https://ieeexplore.ieee.org/abstract/document/9098045/,https://arxiv.org/pdf/1906.01167.pdf
实验代码:https://github.com/lingjuanlv/FPPDL。
这项工作是由以下作者合作完成(顺序随机):Lingjuan Lyu (NUS),Jiangshan Yu (Monash),Karthik Nandakumar (IBM),Yitong Li (Unimelb),Xingjun Ma (Unimelb),Jong Jin (Swinburne),Han Yu (NTU) 和Kee Siong Ng (ANU)。
来源:oschina
链接:https://my.oschina.net/u/4399202/blog/4336251