其他分享
首页 > 其他分享> > 论文阅读:Differential privacy federated learning a client level perspective

论文阅读:Differential privacy federated learning a client level perspective

作者:互联网

论文名字

Differential privacy federated learning a client level perspective

来源

NIPS 2017 顶会

年份

2017

作者

Robin C. Geyer, T assilo Klein, Moin Nabi

核心点

 

阅读日期

2021.1.21 和 2020.12.19

影响因子

 

页数

7

引用数

 

引用

 

内容总结

文章主要解决的问题及解决方案:

问题:在联邦学习框架下,容易受到差分攻击,这种攻击可能来自联邦学习期间的任意一方。在这种攻击中,通过分析分布式模型来揭示客户端在训练期间的贡献和关于他们的数据集的信息。

解决方案:提出一种客户端差分隐私保护的联邦优化算法,目的是在训练期间隐藏客户的贡献,平衡隐私损失和模型性能之间的权衡,当参与者数量足够多的时候,所提方法可以维护客户端级的差分隐私,而模型性能的损失很低。

 

文章的主要工作:

①文章的主要贡献:①展示了当模型性能在联邦学习中保持较高时,客户的参与是可以隐藏的。证明了所提算法可以在模型性能损失较小的情况下实现客户端级的差分隐私;②提出在分布式训练期间动态地调整dp等级(dp-level)。经实验表明,模型性能会以这种方式提高。

②在联合优化的框架中(即联邦学习框架),服务器端的中央管理这在每轮通信后对客户端模型(即权重矩阵)进行平均。而在文中所提算法中,将使用随机机制来改变和近似这种平均。这样做是为了隐藏单个客户端在集合中的贡献,从而隐藏在整个分布式联邦学习过程中的贡献。其中,用来近似平均值的随机化机制包括两个步骤:

  1. 随机抽样:设K是客户端的总数量,在每次通信中,随机抽样一个子集Zt,其大小为mt≤K。中心管理者向这个数组中的客户端,也就是部分客户端发送模型wt。这些客户端使用自己的数据优化模型,Zt子集中的客户端保存独特的本地模型wk。优化本地模型和中心模型之间的差异被称为第k个客户端的更新。在每轮通信结束时,更新会被发送回中心管理者。
  2. 失真:一个高斯机制被用来失真全部的更新。这要求了解集合对求和操作的敏感度,我们可以通过放缩版本而不是真正的更新来增强特定的敏感度,缩放保证了第二范式是有限的。因此,相对于求和操作的缩放更新的灵敏度的上限是S,高斯机制现在将噪声(按灵敏度S缩放)添加到所有缩放更新的总和中。将GM输出除以mt,可以得出所有客户端更新真实值的平均值,同时防止个人关键信息的泄露。

新的中心模型wt+1是通过将近似值添加到当前的中心模型得到的:

平均值的失真由噪声方差S2σ2m控制。然而,该失真不应超过某个限制。否则,来自二次采样平均值的太多信息会被添加的噪声破坏,并且不会有任何训练进展。

③为跟踪隐私损失(privacy loss),文中使用了论文[1]中提出的方法来计算privacy loss。每次中心管理者会根据给定的ϵσ,m来计算δ,其中δ主要是用来判断单个用户的贡献值是不是过高,过高时会存在隐私泄露问题。需要保证δ≪1k,在[4]书中2.3章有细节。比率r=σ2m决定失真和privacy loss,更高σ和更低m,隐私损失会更高

④K个客户端梯度变化值wi,j的方差:

VARwi,j=1kk=0K△wi,jk-μi,j2

其中,μi,j=1Kk=1K△wi,jk

将更新矩阵中所有参数方差的和定义为

Vc=1q×pi=0qj=0pVARwi,j

更新标尺定义Us为:

Us=1q×pi=0qj=0pμi,j2

⑤实验部分:

与论文[5]一样,将MNIST数据集拆分,每个客户端得到两块碎片。

单个客户端无法在他们的数据集中训练一个模型,以使其达到十位数的精度。

客户端数量分别设置为100,1000,10000个,ϵ设置为8,当δ分别在100,1000,1000个客户端时达到e-3,e-5,e-6时停止训练。

⑥算法流程:

 

初始化权重w0和privacy loss的界限

 

 

服务器端执行:

循环:

  计算出当前δ(privacy loss值)

  如果δ>Q(超过了隐私预算):

     返回wt(当前全局模型的梯度)

  从K个客户端中,随机选一组参与者mt

  对于每个参与者都进行模型的更新(即训练)(并行)

  客户端更新norm的中位数

  更新当前中央的模型

 

 

客户端执行:

wt代替原来的w

循环(每个epoch):

  Mini batch更新梯度

客户端更新本地模型

Norm更新

返回分片(一部分的参与者)的更新后的模型和norm

 

⑦代码:https://github.com/SAP-samples/machine-learning-diff-private-federated-learning

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

文章内容:

实验结果:

ACC:accuracy

CR:number of communication

CC:communication costs

 

附录:

存在的疑问:

疑问:δ怎么确定?

标签:loss,privacy,模型,Differential,federated,更新,隐私,客户端
来源: https://blog.csdn.net/qq_39715243/article/details/113138060