论文《Federated Social Recommendation with Graph Neural Network》阅读
论文概况
今天总结一下最近阅读的关于联邦社会化推荐的论文《Federated Social Recommendation with Graph Neural Network》,论文 由 UIC(伊利诺伊大学芝加哥分校)数据挖掘方向大牛 Philip S. Yu(俞士纶)团队 Zhiwei Liu 等人 和 北航 Hao Peng 等人完成。论文发表在期刊 TIST (ACM Transactions on Intelligent Systems and Technology) 2022 上。论文主要完成一个基于联邦学习框架下的社会化推荐模型 FeSoG。
论文地址: 论文地址
论文整体来说,Writing部分相对比较流畅,easy to read。但是同时文中出现较大比例的typo、语法错误等,对于阅读不太友好。作为本人关于联邦推荐的入门读物,这里总结一下,下面进入具体介绍。
Intro
作者首先总结了联邦社会化推荐(Federated Social Recommender System,FSRS)的主要几个挑战:
- 异构性。social recommendation既包括 U-U 连接,也包括 U-I 连接。
- 个性化。每个用户的兴趣之间呈现非独立同分布,应该单独处理。
- 安全性。联邦推荐场景下应注意保护用户的个人隐私
针对上述挑战,作者提出基于图神经网络的联邦社会化推荐(Federated Social Recommendation with Graph Neural Networks, FeSoG)模型。
Methodology
问题形式化
这里先介绍问题形式化 及 关键定义。
用户集合 U = { u 1 , u 2 , … , u N } \mathcal{U}= \left\{ u_1, u_2, \ldots, u_N\right\} U={
u1,u2,…,uN} 及物品集合 T = { t 1 , t 2 , … , t M } \mathcal{T}= \left\{t_1, t_2, \ldots, t_M \right\} T={
t1,t2,…,tM},用户与物品、用户与用户之间形成评分矩阵 R ∈ R N × M \mathbf{R} \in \mathbb{R}^{N \times M} R∈RN×M,用户邻接矩阵 S ∈ { 0 , 1 } N × N \mathbf{S} \in\{0,1\}^{N \times N} S∈{
0,1}N×N 。
针对联邦推荐场景,
- 客户端(Client):每个用户 n n n 即一个客户端 c n c_n cn,客户端包含的数据包括 用户对物品的评分 ( R n ⋅ \mathbf{R}_{n\cdot} Rn⋅)和他与其他用户之间的之间相邻关系( S n ⋅ \mathbf{S}_{n\cdot} Sn⋅)。
- 服务器(Center Server):中心用户不包含用户的邻接数据和用户的交互矩阵。中心服务器包含的数据包含每个client上的参数,每个用户、每个物品的embedding。通过 server 和 client 之间每轮的数据更新,根据 client 上传给 server 的梯度数据进行更新, 更新完成之后再将最新的参数都更新给每个客户端。
- 联邦社会化推荐(FSRS):对于 任意客户端 c n c_n cn,根据
当前用户 n n n 的交互向量 r n = { r n 1 , r n 2 , ⋯ , r n k } \mathbf{r}_{n} = \{ {r}_{n1}, {r}_{n2}, \cdots, {r}_{nk}\} rn={ rn1,rn2,⋯,rnk} 及 一阶邻居向量 s n = { s n 1 , s n 2 , ⋯ , s n p } \mathbf{s}_{n} = \{ {s}_{n1}, {s}_{n2}, \cdots, {s}_{np}\} sn={ sn1,sn2,⋯,snp} ( n , p ∈ { 1 , 2 , ⋯ , N } n, p \in \{1, 2, \cdots, N\} n,p∈{ 1,2,⋯,N}, k ∈ { 1 , 2 , ⋯ , M } k \in \{1, 2, \cdots, M\} k∈{ 1,2,⋯,M}),FSRS 在 不知道每个client 的 raw data 的基础上预测用户的交互数据。
问题形式化:
上述 FSRS 的定义如下所示:
用户 n n n 的 交互数据 T ( n ) = { t 1 ( n ) , t 2 ( n ) , … , t k ( n ) } \mathcal{T}^{(n)}=\left\{t_1^{(n)}, t_2^{(n)}, \ldots, t_k^{(n)}\right\} T(n)={
t1(n),t2(n),…,tk(n)},社交邻居 U ( n ) = { u 1 ( n ) , u 2 ( n ) , … , u p ( n ) } \mathcal{U}^{(n)}=\left\{u_1^{(n)}, u_2^{(n)}, \ldots, u_p^{(n)}\right\} U(n)={
u1(n),u2(n),…,up(n)},FSRS 预测 mask 掉的物品 t ∗ ∈ T \ T ( n ) t^* \in \mathcal{T} \backslash \mathcal{T}(n) t∗∈T\T(n) 的交互分数。
通过对 每个客户 c n c_n cn 构建本地的局部异构图 G n \mathcal{G}_{n} Gn(包含U-U 及 U-I),
给出形式化定义:给定每个 客户 n n n 的局部异构图集合 { G n ∣ n = 1 N } \left\{\mathcal{G}_{n} \mid _{n=1}^{N}\right\} { Gn∣n=1N},在不接触 local graph 中raw data 的前提下,FSRS致力于预测 连边 ( u n , t ∗ ) (u_n, t^*) (un,t∗) 的值。
FeSoG
本地图设计
这部分就是设计了一个GAT网络,完成异构图上的embedding传播,这部分embedding是根据center server 下载的,本地用户只保存他自己的交互物品 和 好友用户,因此只能传播一阶邻居信息,这里不做赘述,把公式摆在底下。
o n p = LeakyReLU ( a ⊤ [ W 1 e u n ∥ W 1 e u p ] ) . (1) o_{n p}=\operatorname{LeakyReLU}\left(\mathbf{a}^{\top}\left[\mathbf{W}_1 \mathbf{e}_{u_n} \| \mathbf{W}_1 \mathbf{e}_{u_p}\right]\right).\tag{1} onp=LeakyReLU(a⊤<