论文《Federated Recommendation with Additive Personalization》阅读
- 论文概况
- Preliminaries
- Methodology
- Experiments
- 消融实验
- Convergence
- Curriculum分析
- 可视化
- 一点总结
今天带来的是 ICLR 2024 关于联邦推荐的论文《Federated Recommendation with Additive Personalization》,论文由 悉尼科技大学 Zhiwei Li 等人 及 马里兰大学帕克分校(UMD)Tianyi Zhou 完成。论文发表在 ICLR 2024,主要聚焦于 联邦推荐场景下 (1)不同用户与 server 上传下载的各自的 embedding gradient 比较片面;(2)较大的数据量传输影响 传输效率 这几个问题,提出了模型 FedRAP (Federated Recommendation with Additive Personalization)。
论文地址:https://openreview.net/pdf?id=xkXdE81mOK
代码仓库:https://github.com/mtics/FedRAP
论文概况
FedRAP实际上就是把每个user 对应的 client 中关于 当前用户的 user embedding 向量与 item embedding matrix 之间的运算进行拆分,具体来说,是将 item embedding matrix进行拆分,分为 C \mathbf{C} C 和 D i \mathbf{D}^{i} Di。
针对挑战 C1:大部分 FRS 都是将所有的item embedding 在全局进行共享,忽略了 用户 对 不同物品的 preference。作者使用
C
\mathbf{C}
C 和
D
i
\mathbf{D}^{i}
Di 的分离对这一问题进行解决。
针对挑战 C2:联邦推荐需要占用较大的通信开销,特别是对于物品数量较多的场景。作者加了一个正则化项进行约束。
此外,作者在一个全局向量
C
\mathbf{C}
C 的添加过程中,加入了一个渐进式增加的权重函数,用于提高学习精确率。
Preliminaries
- rating 矩阵 R = [ r 1 , r 2 , ⋯ , r n ] ⊤ ∈ { 0 , 1 } n × m \mathbf{R} = [\mathbf{r}_1, \mathbf{r}_2, \cdots, \mathbf{r}_n ]^{\top} \in \{0,1\}^{n\times m} R=[r1,r2,⋯,rn]⊤∈{0,1}n×m, n n n表示用户数量, m m m表示物品数量。
- 用户表示 U ∈ R n × k \mathbf{U} \in \mathbb{R}^{n\times k} U∈Rn×k,每个客户端 i i i 只保存自己的那一份 u i \mathbf{u}_{i} ui。
- 作者对于物品表示使用了两份矩阵,local item embedding D ( i ) ∈ R m × k \mathbf{D}^{(i)}\in \mathbb{R}^{m\times k} D(i)∈Rm×k,这部分用户只保存在自己的client端,不进行传输,用于保存用户的个性化信息。
- 另一份用于保存global item 信息的 embedding 是 C ∈ R m × k \mathbf{C} \in \mathbb{R}^{m \times k} C∈Rm×k。在整个FedRAP中,用于传播的只有 C \mathbf{C} C 这部分而已。
- 为标记每个用户的 interaction records,使用 Ω = { ( i , j ) : the i -th user has rated the j -th item } \boldsymbol{\Omega} = \left\{(i,j): \text{the} \ i\text{-th user has rated the}\ j\text{-th item} \right\} Ω={(i,j):the i-th user has rated the j-th item}
下面介绍具体的方法论部分。
Methodology
FedRAP 的主要创新是在 client 端进行的。
客户端维持 自己的 user embedding 和 所有物品的 item embedding 矩阵,并添加了一个全局 item embedding 矩阵,用于维护全局向量。具体来说,使用内积加sigmoid方法进行interaction预测,如下所示:
r
^
i
j
=
1
/
(
1
+
e
−
<
u
i
,
(
D
(
i
)
+
C
)
j
>
)
(1)
\hat{r}_{ij} = 1/ (1+ e^{-<\mathbf{u}_{i}, (\mathbf{D}^{(i)} + \mathbf{C} )_{j}>})\tag{1}
r^ij=1/(1+e−<ui,(D(i)+C)j>)(1)
损失函数使用 交叉熵损失,如下所示:
min
U
,
C
,
D
(
i
)
∑
(
i
,
j
)
∈
Ω
−
(
r
i
j
log
(
r
^
i
j
)
+
(
1
−
r
i
j
)
log
(
1
−
r
^
i
j
)
)
.
(2)
\min_{\mathbf{U}, \mathbf{C}, \mathbf{D}^{(i)} } \sum\limits_{(i,j)\in \boldsymbol{\Omega}} -( r_{ij} \log ({\hat{r}}_{ij}) + (1 - r_{ij}) \log(1 - {\hat{r}}_{ij})). \tag{2}
U,C,D(i)min(i,j)∈Ω∑−(rijlog(r^ij)+(1−rij)log(1−r^ij)).(2)
另外,添加一个正则化项用于约束
C
\mathbf{C}
C ,使得
C
\mathbf{C}
C 能够 与 每个客户端的 个性化信息 扩大差距,加入下式:
max
C
,
D
(
i
)
∑
i
=
1
n
∥
C
−
D
(
i
)
∥
F
2
(3)
\max_{\mathbf{C}, \mathbf{D}^{(i)}} \sum\limits_{i=1}^{n} \|\mathbf{C} - \mathbf{D}^{(i)} \|_{F}^{2} \tag{3}
C,D(i)maxi=1∑n∥C−D(i)∥F2(3)
为了使得早期能够更多地学习 user-item 之间的 interaction 协同过滤信息,在正则化项中加入了两个 权重因子 λ ( a , v 1 ) \lambda_{(a, v_{1})} λ(a,v1)、 μ ( a , v 2 ) \mu_{(a, v_{2})} μ(a,v2),这里的 a a a 是 iteration 的轮次坐标, v 1 , v 2 v_1, v_2 v1,v2 是宏参。具体的Loss如下:
min U , C , D ( i ) ∑ i = 1 n ∑ ( i , j ) ∈ Ω − ( r i j log ( r ^ i j ) + ( 1 − r i j ) log ( 1 − r ^ i j ) ) − λ ( a , v 1 ) ∥ C − D ( i ) ∥ F 2 ) + μ ( a , v 2 ) ∥ C ∥ 1 . (4) \min_{\mathbf{U}, \mathbf{C}, \mathbf{D}^{(i)} } \sum\limits_{i=1}^{n} \sum\limits_{(i,j)\in \boldsymbol{\Omega}} -( r_{ij} \log ({\hat{r}}_{ij}) + (1 - r_{ij}) \log(1 - {\hat{r}}_{ij}))\\ - \lambda_{(a, v_{1})} \|\mathbf{C} - \mathbf{D}^{(i)}\|_{F}^{2}) + \mu_{(a, v_{2})} \|\mathbf{C}\|_{1}.\tag{4} U,C,D(i)mini=1∑n(i,j)∈Ω∑−(rijlog(r^ij)+(1−rij)log(1−r^ij))−λ(a,v1)∥C−D(i)∥F2)+μ(a,v2)∥C∥1.(4)
这里最后一项用的约束是 1-范式,即绝对值之和,越小代表空位越多,因此可以带来越少的通信开销。这里的 λ ( a , v 1 ) \lambda_{(a, v_{1})} λ(a,v1)、 μ ( a , v 2 ) \mu_{(a, v_{2})} μ(a,v2) 使用相同实现方式,使用 tanh ( ⋅ ) \tanh(\cdot) tanh(⋅) 完成,具体地, λ ( a , v 1 ) = tanh ( a / 10 ) × v 1 \lambda_{(a, v_{1})} = \tanh(a/10)\times v_{1} λ(a,v1)=tanh(a/10)×v1。
Server端和正常FRS一样,只不过 FedRAP 只 交互
C
\mathbf{C}
C。整体流程如下图所示:
对FedRAP整个算法流程进行总结,如下算法所示,简单高效:
Experiments
本文的一大特点是实验部分以图为主,表格倒是比较少(不过放在附录中了,能够查看详细数值)。具体如下:
另外,实验部分写得非常干练,直接把所有的variants都列在一块,在每一块对应要分析的地方直接进行对比。
消融实验
Convergence
Curriculum分析
即对不同的
λ
(
a
,
v
1
)
\lambda_{(a, v_1)}
λ(a,v1) 和
μ
(
a
,
v
2
)
\mu_{(a, v_2)}
μ(a,v2) 进行分析,FedRAP采用的是
tanh
\tanh
tanh,除此以外,还提供了诸如sin、固定值、交换0/1、
v
1
/
(
a
+
1
)
v_1/{(a+1)}
v1/(a+1)等方式,如下所示:
结果如下:
可视化
一点总结
除此以外,作者还在文中介绍了一些关于联邦推荐中某个客户端连续两次参与梯度aggregation能够泄露隐私的相关证明。
整体而言,本文提出的方案相对简单,然而有效。simple yet effective。