联邦学习之差分隐私

联邦学习过程

  联邦学习以轮为单位,每个轮内包含模型分发、本地训练和全局更新这3个阶段。

1. 模型分发

  在模型分发阶段,服务器按照一定标准,选择参与本轮联邦学习的设备,例如下图中选中了3个设备,向它们分发全局模型。
联邦学习之差分隐私_第1张图片

2. 本地训练

  在本地训练阶段,每个设备加载当前全局模型,使用自己的训练数据训练,得到新的本地模型。
联邦学习之差分隐私_第2张图片

3. 全局更新

  在全局更新阶段,每个设备向服务器上传模型更新值,服务器收集更新值进行聚合,得到聚合结果,更新全局模型。
联邦学习之差分隐私_第3张图片
联邦学习之差分隐私_第4张图片
下一轮,服务器会将新的全局模型发送给选中的设备
联邦学习之差分隐私_第5张图片

差分隐私

差分隐私类型

  1. 样本级别(element-level)的差分隐私:训练的模型,不会泄露某个特定的样本是否参与了训练
  2. 用户级别(client-level)的差分隐私:训练的模型,不会泄露某个用户是否参与了训练

样本级别差分隐私

联邦学习之差分隐私_第6张图片
  样本级别的差分隐私,是在通常的SGD的一个batch训练过程中,增加了DP的两个步骤。在一个batch根据损失函数计算完梯度之后,在进行梯度下降的更新前,第一步是对每个样本计算的梯度裁剪,第二步是在这个batch的梯度更新前对梯度更新总值添加噪声。对梯度进行放缩,让梯度的二范数值在范围C内,之后添加的噪声的大小和C值有关。C值是一个动态变化的值,文章中提出,C的值选取为这个batch梯度的范数中位数值。

联邦学习差分隐私

  联邦学习的差分隐私的用户级别差分隐私,包含三个步骤:①裁剪;②聚合;③加噪
  一般的联邦学习的聚合过程是FedAvg,每个用户是返回梯度的更新值 θ ′ − θ t \theta'-\theta_t θθt给服务器,服务器做加权聚合:
联邦学习之差分隐私_第7张图片
  联邦学习的差分隐私包含两个步骤,梯度裁剪和添加噪声,都是由服务器完成。
  客户做完本地SGD得到梯度更新值,服务器不是直接对梯度更新值进行聚合,而是进行梯度裁剪,与之前样本集的差分隐私类似,二阶范数限制取所有用户梯度更新值的中位数值。
联邦学习之差分隐私_第8张图片
  服务器对进行了范数限制的梯度更新值进行加权聚合:
联邦学习之差分隐私_第9张图片
  第二个差分隐私步骤是添加噪声,添加噪声的强度与用户梯度更新范数值中位数S有关。在聚合平均之后,服务器添加高斯噪声,然后做模型参数的全局更新。
联邦学习之差分隐私_第10张图片

完整算法

联邦学习之差分隐私_第11张图片

参考

  1. Geyer R C, Klein T, Nabi M, et al. Differentially Private Federated Learning: A Client Level Perspective. NIPS, 2017.
  2. Abadi M, Chu A, Goodfellow I, et al. Deep Learning with Differential Privacy[J]. computer and communications security, 2016: 308-318.
  3. H. Brendan McMahan, Daniel Ramage, Kunal Talwar, Li Zhang.Learning Differentially Private Recurrent Language Models. ICLR, 2018
  4. Jakub Konečný. “Federated Learning-Privacy-Preserving Collaborative Machine Learning without Centralized Training Data”. Jan 2020. URL: http://jakubkonecny.com/files/2018-01_UW_Federated_Learning.pdf

你可能感兴趣的:(边缘智能,联邦学习,深度学习,机器学习,大数据,网络安全)