基于图神经网络的推荐系统已经在很多工业场景验证了其有效性。最近,关于用户隐私的关注越来越多,如何在保证隐私的前提下实现GNN based Recommendation?ICML 2021 FedGNN: Federated Graph Neural Network for Privacy-Preserving Recommendation这篇文章就很好的回答了上述问题。
现有的基于 GNN 的推荐方法依赖于用户-物品图的集中存储和集中的模型学习,然而用户数据是隐私敏感的,数据的集中存储存在隐私泄露的风险。本文提出了一个基于GNN 隐私保护的联邦学习框架,在保护隐私的前提下从离散的的用户数据中训练 GNN 模型,并利用高阶的用户物品交互信息完成高效的推荐。
如果大家对大图数据上高效可扩展的 GNN 和基于图的隐私计算感兴趣,欢迎关注下面的 Github,之后会不断更新相关的论文和代码的学习笔记。
https://github.com/XunKaiLi/Awesome-GNN-Research
现有的基于 GNN 的推荐方法通常需要集中存储整个用户-物品图来学习 GNN 模型以及用户和物品的 embedding,这意味着用户-物品交互数据需要集中存储,如图1(a)所示。然而,用户-物品交互数据是高度隐私敏感的,其集中存储会导致用户的隐私问题和数据泄露的风险。此外,在 GDPR1 等严格的数据保护法规的压力下,在线平台可能无法集中存储用户物品交互数据,以便在未来学习GNN模型进行推荐。
解决用户-物品交互数据隐私问题的一个直观方法是在用户设备上本地存储原始数据,并在此基础上学习本地 GNN 模型,如图1(b)所示。但是存在以下限制:
定义用户集合和物品集合:, 分别代表用户物品的数量。评分矩阵为 ,用户物品的交互二部图 的生成基于观察到的评分 ,用户 的 K 个交互物品集合表示为 ,一名用户和其交互物品集合可以构成一阶用户物品交互子图 ,用户 的 K 个物品评分集合可以表示为 。为了保护用户隐私,模型目标是基于用户本地存储的一阶用户物品交互子图 在保证隐私的条件下预测没有观察到的评分矩阵部分 。
FedGNN 主要由一个中央服务器和大量的用户客户端组成。用户客户端保留一个本地子图,该子图由用户与物品的交互历史和该用户的邻居组成。每个客户端从其本地子图中学习用户/物品嵌入和 GNN模型,并将梯度上传至中央服务器。中央服务器负责在模型学习过程中协调这些用户客户端,从一些用户客户端收到的梯度汇总,并将汇总的梯度传递给客户端。
每个用户客户端上的局部子图是由用户与物品的交互数据和与该用户共同交互过物品的邻近用户构成。这个用户的节点与其所交互的物品的节点以及邻居用户的节点相连。
算法描述如下:
(1-4):每个用户客户端构建本地子图(包含交互物品节点和相邻用户节点),并初始化参数
Privacy-Preserving Model Update 模块对应于算法(9-11)。在用户客户端和中心服务器通信时,如果直接上传 GNN 模型和物品嵌入梯度,可能会出现一些隐私问题:
本文提出了两种策略来保护模型更新过程中的用户隐私。
Privacy-Preserving User-Item Graph Expansion 模块对应于算法(15),该模块希望寻找用户的邻居,并以保护隐私的方式扩展本地用户-物品图。在现有的基于集中式图存储的 GNN推荐方法中,高阶用户-物品交互可以直接从全局用户-物品图中得到。然而,当用户数据是分散的,要在不违反用户隐私保护的前提下纳入高阶用户-物品交互存在困难。为了解决这个问题,本文提出了一种保护隐私的用户-物品图扩展方法,该方法可以找到用户的匿名邻居,以增强用户和物品表示的学习,其中用户隐私不会泄露。其框架如图 3 所示。
维护推荐服务的中央服务器首先生成一个公钥,然后分发给所有用户客户端进行加密。在收到公钥后,每个用户设备根据这个密钥对互动过的物品的 ID 进行同态加密(因为这些物品的 ID是隐私敏感的),加密后的物品 ID 以及这个用户的嵌入被上传到第三方服务器(不一定被信任)。该服务器通过物品 ID 匹配找到与相同物品存在交互的用户,然后向每个用户提供其匿名邻居的嵌入。在这个阶段,负责推荐的服务器永远不会收到用户的私人信息,而第三方服务器由于无法解密物品的 ID,所以也无法获得用户和物品的任何私人信息。算法描述如下:
FedGNN中,用户隐私受到四个方面的保护:
超参数设置可见 Dataset and Experimental Settings。
在实验中使用的指标是均方误差(RMSE),实验结果为 10 次重复的 RMSE 值。
Figure 4 验证了纳入用户-物品图高阶信息的有效性,以及 FedGNN 的通用性。比较了 FedGNN 及其变体在完全可训练的邻居用户嵌入或没有高阶用户-项目交互的情况下的表现。并比较 GNN 模型(GGNN、GCN和GAT)的不同实现方式下的结果:https://pic2.zhimg.com/80/v2-71fb6592fb36ddbe34106621c756b3f9_1440w.jpg
作者探讨了三个重要的超参数的影响,即梯度剪辑阈值、LDP模块中拉普拉斯噪声的强度以及伪交互项的数量 :