FedGNN: Federated Graph Neural Network for Privacy-Preserving Recommendation

FedGNN:用于隐私保护推荐的联邦图神经网络

参考笔记
ICML-21-workshop

本文的主要创新工作
  1. 在具有局部差分隐私的模型训练中保护模型梯度,并提出一种伪交互项目采样技术来保护用户与之交互的项目。
  2. 提出了一种保护隐私的用户-项目图扩展方法,以利用分散的用户数据中的高阶用户-项目交互。

本文所采用的的四种隐私保护措施

  1. 采用伪交互项目抽样:通过抽样用户未与之交互的项目,并使用与真实项目嵌入梯度相同均值和协方差的高斯分布随机生成它们的梯度。将真实嵌入梯度与伪交互项目嵌入梯度相结合,得到模型和设备上的统一梯度。这样做是为了保护用户的真实交互项目。
  2. 推荐服务器从不收集原始的用户-项目交互数据,并且只有本地计算的梯度被上传到该服务器,与原始交互数据相比,这些梯度包含的私人消息少的多。
  3. 伪随机梯度干扰(就是给梯度加噪声,最常见的例如添加拉普拉斯噪声):为了保护用户的隐私,将真实的用户-项目交互梯度与伪随机梯度干扰相结合。具体来说,使用具有相同均值和协方差值的高斯分布随机生成伪随机梯度,并将其与真实梯度相结合,以保护用户的隐私。
  4. 使用局部差分隐私技术:在用户设备上计算的局部梯度上应用局部差分隐私技术,通过添加零均值拉普拉斯噪声来保护用户隐私。这样做可以使从这些梯度中恢复原始用户消费历史变得更加困难。同时需要适当选择裁剪阈值和噪声强度来平衡模型性能和隐私保护。
基于隐私保护的项目图扩展方法
  1. 论文提出了一种保护隐私的用户-项目图扩展方法,该方法找到用户的匿名邻居,以增强用户和项目表示学习,其中用户隐私不会泄露。
    FedGNN: Federated Graph Neural Network for Privacy-Preserving Recommendation_第1张图片
  2. 中心服务器首先生成公钥,将其发给所有用户客户端进行加密,在接受到公钥后,每一个设备对它的项目ID进行同态加密。
  3. 设备将项目ID和自己的嵌入上传到中心服务器。
  4. 服务器基于项目匹配找到与相同项目交互的用户,然后为每一个用户提供它的匿名邻居的向量表示。
  5. 安全性分析,给每个用户提供的是匿名邻居的向量表示,客户端不知道自己拿到的是谁的向量表示。中心服务器拿到的是加密的向量表示,没有私钥也无法解密。
  6. 通过这种方式,在不泄露用户隐私的情况下丰富了本地的向量表示。
主模型图

FedGNN: Federated Graph Neural Network for Privacy-Preserving Recommendation_第2张图片

说的比较有道理的话
  1. First, for embedding gradients, only the items that a user has interactions with have non-zero gradients to update their embeddings, and the server can directly recover the full user-item interaction history based on the non-zero item embedding gradients.

这篇论文没有找到代码实现。

你可能感兴趣的:(联邦学习,深度学习,github)