阅读笔记:FedGNN: Federated Graph Neural Network for Privacy-Preserving Recommendation

FedGNN: Federated Graph Neural Network for Privacy-Preserving Recommendation
ICML’21 | 隐私保护下的图神经网络推荐系统 (qq.com).
重点是看GNN与联邦学习怎么结合的??

1. What does literature study?
a. 提出基于GNN的隐私保护联邦推荐框架,在隐私保护下利用高阶user-item交互协同训练GNN模型。

2. What’s the innovation?
Past shortcomings
a. 本地数据只包含一阶交互信息,用户的交互items不能直接交换
innovation:
a. 在保护隐私的情况下利用高阶交互信息增强user和item表征学习提高推荐准确率
b. 本地梯度隐私保护:采样items作为伪交互items来生成随机嵌入梯度(embedding gradients),合并梯度,并采用差分隐私对本地梯度加密。
c. 提出一个user-item图拓展方法拓展本地user-item图,旨在发现具有共同交互项的用户的邻居,并定期交换他们的嵌入,以一种隐私保护的方式传播高阶信息。

3. What was the methodology?
本文主要训练流程:用户设备计算GNN的梯度和user&item嵌入,将它们上传到*服务器,在*服务器聚合来自大量用户的梯度,之后将聚合的梯度分发给用户设备进行本地更新。
上次看的论文:安全联邦矩阵分解,step1:服务器将加密的item_vector发给用户,step2:用户利用item_vector进行梯度计算和user_vector更新,step3:服务器接收梯度进行item_vector更新。传递的是整个item set,相比传递梯度消耗更多的存储和通信成本。
a. FedGNN Framework:
(1)用户客户端,由用户与items的交互历史以及与该用户有共同交互项的邻居构成本地子图。用户从本地子图中学习user/item embedding和GNN模型,为了保证user embeddings的准确,在模型没有调好之前不使用邻居embeddings。
(2)将GNN应用到这些embedding中,来模拟本地一阶子图节点之间的交互。
(3)GNN模型输出user和item节点的隐藏表征。(隐藏表征是什么)
(4)通过预测模块预测用户i对items的评分,与真实值比较得到损失函数,通过损失函数求导得到GNN模型和user/item embedding的梯度,user embedding梯度用来在本地更新自己的user embedding。
(5)GNN和item embedding梯度上传服务器进行梯度聚合平均,将聚合梯度分发给客户端执行本地参数更新。
b. 隐私保护策略:
i. 对梯度上传的隐私保护
(1)伪交互项采样利用高斯分布(与真实item embedding gradients一样的均值和方差)来随机生成梯度,之后将伪梯度、真实梯度、模型梯度统一。
(2)利用差分隐私:首先基于L2范数对本地梯度修剪,之后对统一梯度利用差分隐私(0均值Laplacian噪声)。
g i = c l i p ( g i , δ ) + L a p l a c e ( 0 , λ ) g_i =clip(g_i,\delta)+Laplace(0, \lambda) gi​=clip(gi​,δ)+Laplace(0,λ)
ii. user-item 图拓展隐私保护
目的是在隐私保护的情况下:找到user的邻居来拓展本地user-item图,高阶交互可以增强user和item表征学习提高推荐准确率。
(1)*服务器首先生成一个公钥分发给所有客户端用以加密。
(2)客户端接收公钥,每个客户端对Item的ID应用同态加密,之后user embedding和item IDs上传到可信第三方服务器。
(3)第三方服务器通过item匹配找到具有相同交互项的用户,然后为每个user提供其匿名邻居的embeddings。
以这种方式,本地user-item图可以通过高阶user-item交互来丰富,而不损害用户隐私。

4. What are the conclusions?
a. 有效保护了本地梯度信息。
b. 有效拓展了本地图以传递高阶信息。
c. 优于FedMF(传递整个item set导致存储和通信消耗),FCF。FedGNN能够合并user-item图的高阶信息,他们两个不行。FedGNN可以保护交互历史和评分,他们两个只能保护评分。在哪保护评分来着?忘了!!
FedGNN:从框架上来看是在本地计算的预测评分,但是2.3节题目下面有一句话,当模型训练结束了,用户客户端将locally inferred hidden user embeddings 上传到服务器提供未来的推荐服务。
FCF:在客户端计算评分。
FedMF:强调item_vector的传输,并在传输过程中采用了同态加密,应该是在客户端进行的评分预测。

5.others

  1. 高阶交互是什么?保护高阶user-item交互信息的隐私性。
    高阶交互能够加强user和item的表示(《stacked and reconstructed graph convolutional networks for recommender systems》&&《Graph neural networks: A review of methods and applications》提出一种新的基于图的神经网络表示,称为关系图)
  2. 利用分散的用户数据协同训练GNN模型
  3. user端:对本地梯度采用差分隐私
    item端:随机抽样items作为伪交互项目
  4. 本地数据只包含一阶交互信息,所以提出了一个user-item图拓展方法为了拓展user-item图,以隐私保护的方式传播高阶信息。
  5. 评分矩阵可以组成一个user-item 二部图G,每个用户和交互的item构成子图,我们基于子图预测用户评分。在FedGNN中没有全局user-item交互图,而是在不同的设备上构建和存储本地图。这种方式与已经存在的联邦GNN方法不同:(要求整个图的构建和存储至少在一个平台或者设备)
  6. 这篇论文的server端作用只是协作聚合多方的梯度。更新都在本地进行,这样的话对本地计算力要求很高啊。
  7. ϵ = 2 δ λ \epsilon = \frac{2\delta}{\lambda} ϵ=λ2δ​

λ \lambda λ增加, ϵ \epsilon ϵ减小,RMSE增加,所以横轴增加,曲线是下降的。
分母增加,分母减小意味着好的隐私保护。
8. 什么是框架?什么是模型。框架就是模型,算法。

上一篇:C语言笔记—循环入门题型和猜数游戏


下一篇:李宏毅2020深度学习02