目录
一、论文背景
二、目前存在的问题和解决方案
1、问题一和解决方案
问题:
解决方案
不足之处
2、问题二和解决方案
问题
解决方案
不足之处
3、问题三和解决方案
问题
解决方案
三、相关工作
1、联邦学习相关论文
2、图神经网络相关论文
四、方法论
1、问题定义
2、FedGNN框架
3、隐私保护的模型更新(Privacy-Preserving Model Update)
(1)问题一(embedding梯度会泄露隐私)
(2)问题二(模型梯度也会泄露隐私)
4、隐私保护的用户-物品交互图拓展(Privacy-Preserving User-Item Graph Expansion)
论文地址:https://arxiv.org/pdf/2102.04925.pdf
GNN在推荐系统中被广泛利用,因为它可以从用户和物品的交互图上提取出高阶(high-order)的用户-物品(user-item)交互信息。
目前基于GNN的推荐系统都是在一个中心服务器上集中训练的,并且user-item(用户-物品)交互图数据也集中存放在中心服务器上,这就带来了一个问题:用户和物品的交互数据是高度私密的,这些数据存放在中心服务器上会面临着隐私泄露的风险。
为了解决这个问题,本文提出采用联邦学习的方法来训练一个GNN模型,这样数据就可以安全的存放在每一个客户端上。
(不了解联邦学习的读者可以自行查阅相关资料和论文,这里就不展开叙述了,不了解GNN的读者可以参考我的另一篇博客 什么是图神经网络GNN?_探索计算机知识的边缘的博客-CSDN博客)
模型聚合时,本地客户端会将本地GNN模型梯度上传给中心服务器,但本地模型梯度编码了用户隐私数据信息(例如用户对物品的偏好),这可能会造成用户隐私泄露
采用局部差分隐私技术(local differential privacy,LDP),在客户端上传本地模型提出之前对梯度进行加噪处理,保护用户隐私
隐私预算
可以通过公式
来界定,噪声强度λ越高,隐私预算ϵ越小,隐私保护效果越好,但是上传的模型梯度相应的精度会降低,所以必须要找到一个能够平衡隐私保护效果和精度损失之间的
值,无法做到不损失精度又很好保护梯度的效果
个人理解:本地模型的梯度是由本地用户的数据经过GNN训练得出的 ,因此梯度中难免会包含一些用户的数据信息,比如用户更偏好于哪类物品,如果这些信息被中心服务器收集到并解密出来,就违背了联邦学习的初衷——保护用户的数据隐私,因此需要对其进行保护。
对于物品(item)的嵌入(embedding)来说,只有与用户有交互的物品才有非零的嵌入梯度,中心服务器可以根据物品的嵌入梯度是否为0,直接恢复完整的用户-物品交互历史。
采用伪交互项采样技术(pseudo interacted item sampling),客户端上传的真实物品嵌入梯度里,混入了一些随机抽样的伪交互物品的嵌入梯度,伪交互物品指的是没有与用户交互过的物品,为其随机的生成假的嵌入梯度,通过这样的方法来混淆中心服务器,使之无法分辨出用户到底和那些物品交互过。
随机抽样的伪交互物品数量越多,中心服务器能分辨出真实交互物品embedding梯度的能力就会越小,隐私保护能力就越强。但是随着伪交互物品的增多,本地客户端上的计算量也会增大,导致性能下降,所以在隐私保护和性能保证方面也不能做到两全
本地用户只包含一阶用户-物品(first-order user-item)交互信息,每个客户端上物品的embedding由于隐私限制不能直接交换,所以在不泄露隐私的前提下很难得到一个全局高阶用户-物品(high-order user-item)交互信息
个人理解:每个客户和物品都可以看作是一个顶点,用户和物品之间的交互关系可以看作是边,这样就构成了一个用户和物品之间的二部交互图。但是在每个客户端上都只包含了本用户和物品之间的交互子图(也就是一阶用户-物品交互信息),所以无法得到高阶用户-物品交互信息。
提出一种隐私保护的用户-物品交互图扩展方法(privacy-preserving user-item graph expansion method),后面在方法论部分进行解释。
论文在这部分对联邦学习有一个简要的介绍,感兴趣的读者可以去看看这部分的论文原文,以及这部分引用的论文。就不详细展开了。
论文将FedGNN和现有的方法进行比较,表格中第一行代表是否能够提取高阶的用户-物品交互信息,第二行代表是否能够进行评级保护,第三行代表是否能够保护物品的历史交互,第四行代表用户数据是集中式存储还是分布式存储(Cen.代表集中式存储,Local.代表分布式存储)。可以看出,FedGNN框架是唯一能够同时满足以上四个条件的框架。
图神经网络被广泛地应用在推荐系统中,因为GNN可以有效地获取高阶的用户-物品交互信息。这部分主要介绍了目前GNN网络在推荐系统中的应用,感兴趣地读者可以阅读原文获取相关引文,也不展开讲述了。
本文提出一种用于推荐系统的联邦图神经网络框架FedGNN,这个框架可以在保护用户隐私的前提下,获取高阶的用户-物品交互信息。
(1)用
表示user的集合,P代表集合中用户的个数。
代表item的集合,Q代表集合中item的个数。
(2)用矩阵
来表示每个用户对每个物品的评分,
是一个
行
列的矩阵,
来表示第
个用户对第
个物品的评分。
(3)我们通过观察到的评分
(
的一个子集),可以得到一个用户和物品之间的交互二部图(交互二部图指的是用户和物品之间会有边相连,当且仅当他们之间交互过)
。
(4)假设用户
和
个物品交互过,我们可以将这些物品表示成一个集合
。假设用户
和N个其他用户交互过,我们可以将这些用户表示成一个集合
。
(5)这些物品和用户
之间可以形成一个一阶的本地user-item交互子图
,用户对这些item的评分可以表示为
。(注意:
和
都是用户的私密信息,不能被泄露)
(6)目标:我们需要从
中通过GNN模型预测出没有观察到的用户评分
注意:数据都是分布式的存储在客户端上的,所以每个客户端都没有全局的user-item交互图,也就是说每个客户端上都只有一个一阶的user-item交互信息,没有高阶的全局user-item交互信息。
FedGNN框架如图所示
(1)在每一个客户端中,用户和物品的历史交互以及用户和其他用户的交互构成了一个子图(对应于红色框中的内容)
(2)Embedding层(图中蓝色框)负责将图中的顶点,包括
、
、
,转换成对应的embedding,比如
,
and
,这些embeddings作为GNN的输入,进行训练。在前T轮训练中,由于user embeddings可能不太准确,所以我们只将item embeddings作为输入进行训练,后面才将他们(user embeddings)加入训练。
(3)GNN的输出是用户顶点和物品顶点的隐藏表示,包括
,
,
,然后评分预测模块(绿色框)根据这些输出对用户评分进行预测
(5)利用这个损失值计算出模型梯度
和embedding梯度
,这些梯度最终会上传到中心服务器进行聚合。最后全局梯度为
(采用FedAvg方法进行聚合),并将其分发到每一个客户端进行模型和embedding的更新,开始下一轮的训练
每一轮中心服务器都会随机唤醒一部分客户端执行上面的步骤
如果我们直接将本地模型梯度和embedding梯度上传到服务器,可能会存在隐私泄露的问题。
对于embedding梯度,只有用户交互过的物品具有非零梯度来更新其embedding,服务器可以根据非零物品embedding梯度直接恢复完整的用户-物品交互历史。
解决方案:
伪交互项采样技术(pseudo interacted item sampling),在用户没有交互过的物品中随机采样个物品,并使高斯分布随机生成它们的伪梯度
,与真实物品embedding梯度
具有相同的均值和协方差,最后上传的梯度为
模型梯度和评分预测也会泄露用户的历史评分信息,因为 GNN 模型梯度和评分的预测编码了用户对物品的偏好。
解决方案:
局部差分隐私(local differential privacy),首先通过阈值为 δ 的 L∞−norm对本地梯度修剪,之后对梯度利用局部差分隐私(含0均值的拉普拉斯噪声)以实现更好的用户隐私保护。公式为:
,其中 λ 是拉普拉斯噪声的强度(隐私预算
可以通过公式
来界定,噪声强度λ越高,隐私预算ϵ越小,隐私保护效果越好,但是相应的精度会降低)。受保护的梯度
被上传到服务器进行聚合。
在现有的基于GNN的推荐系统中,全局用户-物品交互图是集中存储在中心服务器上的,高阶的用户-物品交互信息可以直接从这个全局交互图中获取。但是在联邦学习中,由于数据分布式存储,每一个客户端上都只有本用户与物品的交互子图,无法直接获取高阶用户-物品交互信息。
提出隐私保护的用户-物品交互图拓展方法,找到本地客户端的匿名邻居节点,以一种隐私保护的方式扩展本地客户端上的局部子图,加强本地客户端上用户和物品的表达。
(1)中心服务器生成一个公钥,然后将这个公钥分发给所有的客户端。
(2)客户端根据公钥对本地交互过的物品IDs(私密信息)进行同态加密
(3)将加密过的物品IDs以及自己的用户embedding发送到一个第三方服务器,由于不拥有公钥,第三方服务器无法解密出物品IDs,也就无法获取用户隐私信息。
(4)第三方服务器将不同客户端的物品IDs进行匹配,具有相同用户IDs的客户端视作邻居。将邻居之间的用户embedding进行匿名转发(例如用户A和B是邻居,那么就会将A的embedding转发给B,B的embedding转发给A)
(5)这样每个客户端都和他的匿名邻居联系在一起了,本地子图得到了拓展,有利于获取高阶的用户-物品交互信息
注意:若想要保证用户隐私信息,必须假设第三方服务器不会和中心服务器进行勾结,但事实上并不完全能保证,这也是本篇论文的漏洞之一。