联邦学习隐私保护总结

736 阅读6分钟

隐私保护是联邦学习最重要的作用之一,特写此篇总结一下最近所看联邦学习论文里所使用的隐私保护方法和技术

索引

  1. Federated Machine Learning: Concept and Applications
  2. Fed-LTD: Towards Cross-Platform Ride Hailing via Federated Learning to Dispatch
  3. Task Assignment with Federated Preference Learning in Spatial Crowdsourcing

Federated Machine Learning: Concept and Applications

作为联邦学习的入门文章,在2.2概括了联邦学习的隐私保护技术:

2.2 Privacy of Federated Learning

隐私(Privacy)是联邦学习(Federated Learning)的基本属性之一。以下介绍联邦学习的主要隐私技术:

安全多方计算(Secure Multi-party Computation SMC)。SMC安全模型自然涉及多方,并在一个定义明确的模拟框架中提供安全证明,以保证完全的 Zero knowledge ,也就是说,每一方除了其输入和输出外什么都不知道。Zero knowledge 是非常理想的,但这种理想的属性通常需要复杂的计算协议,而且可能无法有效实现。

差分隐私(Differential Privacy DP)。另一类方法使用差分隐私或 k -匿名化来保护数据隐私。差分隐私、k-匿名和多样化方法在数据中添加噪音,或使用泛化方法来掩盖某些敏感属性,直到第三方无法区分个人,从而使数据无法被还原以保护用户隐私。然而,这些方法的根基仍然需要将数据传输到其他地方,而且这些工作通常涉及准确性和隐私之间的权衡。

同态加密(Homomorphic Encryption)。通过在机器学习过程中的加密机制下的参数交换来保护用户数据隐私。与差分隐私保护不同的是,数据和模型本身不被传输,也不能被对方的数据所猜测。因此,在原始数据层面上,泄漏的可能性很小。

image.png

横向联邦学习

image.png

一个典型的横向联邦学习系统的架构如图所示。在这个系统中,具有相同数据结构的k个参与者在一个参数或云服务器的帮助下协作学习一个机器学习模型。一个典型的假设是,用户端是安全的,服务器端可能是安全的,因此不允许任何参与者的信息泄露给服务器。这样一个系统的训练过程通常包含以下四个步骤。

  1. 参与者在本地计算梯度,用加密(差分隐私)掩盖部分梯度。将遮蔽的结果发送给服务器。
  2. 服务器在不了解任何参与者信息的情况下进行安全的梯度聚合。
  3. 服务器将梯度汇总后的结果发回给参与者。
  4. 参与者用解密的梯度更新他们各自的模型。

通过上述步骤的迭代持续到损失函数收敛,从而完成整个训练过程。

纵向联邦学习

image.png

第一部分。加密的实体对齐(Encrypted entity alignment)。由于两家公司的用户群不一样,系统使用基于加密的用户 ID 对齐技术,在不暴露 A 和 B 各自数据的情况下确认双方的共同用户。在实体对齐过程中,系统不会暴露彼此不重合的用户。

第二部分。加密的模型训练(Encrypted model training)。在确定共同实体后,可以使用这些共同实体的数据来训练机器学习模型。训练过程可以分为以下四个步骤(如图4所示)。

  1. 合作者 C 创建加密对,向 A 和 B 发送公钥。
  2. A 和 B 加密并交换梯度和损失计算的中间结果。
  3. A 和 B 分别计算加密的梯度和添加额外的掩码,B 也计算出加密的损失;A 和 B 将加密的值发送给 C。
  4. C 解密并将解密后的梯度和损失发回给 A 和 B;A 和B 解除梯度掩码,相应地更新模型参数。

在实体对齐和模型训练过程中,A 和 B 的数据被保存在本地,训练中的数据交互不会导致数据隐私泄露。潜在的信息泄露给 C 可能被认为是侵犯隐私,也可能不被认为是。在这种情况下,为了进一步防止 C 从 A 或 B 那里了解信息,A 和 B 可以通过添加加密的随机掩码进一步向 C 隐藏他们的梯度。因此,双方在联邦学习的帮助下实现了合作训练一个共同的模型。因为在训练过程中,每一方收到的损失和梯度与他们在没有隐私限制的情况下用在一个地方收集的数据共同建立一个模型时收到的损失和梯度完全相同,也就是说,这个模型是无损的。该模型的效率取决于加密数据的通信成本和计算成本。在每个迭代中,A 和 B 之间发送的信息随着重叠样本的数量而增加。因此该算法的效率可以通过采用分布式并行计算技术进一步提高。

Fed-LTD: Towards Cross-Platform Ride Hailing via Federated Learning to Dispatch

3.3节
本地平台需要把本地价值函数上传到总服务器,为了防止局部平台的信息被泄露,使用了随机掩码防止聚合过程中泄露信息

3.4节
重建全局二部图将各个本地平台的参与二部图整合成全局二部图进行重新匹配的同时要保护用户的位置隐私,encoder过程使用了局部敏感哈希和md5

image.png
用差分隐私模糊边的权重

image.png

Task Assignment with Federated Preference Learning in Spatial Crowdsourcing

如算法1所示,将每个平台中心的本地模型参数传输给中央服务器,以达到保护隐私的目的。

在通信回合t∈[1 , ...,T]中,一个平台中心PtP_t⊂{pc1, ...,pcN }的子集是活跃的,其中N是所有平台中心的数量。然后,每个活跃的平台中心优化本地经验风险目标,这是其本地经验损失和动态惩罚风险函数之和(第5行)。此外,每个活跃的平台中心计算其本地梯度以满足本地最优条件(第6行),然后将更新的参数传输到中央服务器(第7行)。对于未被选中的平台中心,它们不更新其模型(第8-10行)。最后,中央服务器更新其状态hth^t,这意味着他们是否收敛到一个原来是全局风险的静止点的点,以及模型参数θtθ^t(第11-12行)。

image.png