论文《Dual-Contrastive for Federated Social Recommendation》阅读
- 论文概况
- Motivation
- Methodology
- Client Local Computing
- Center Server Aggregation
- 总结
今天简单总结一下一篇关于联邦推荐方面的论文《Dual-Contrastive for Federated Social Recommendation》,主要简单介绍一下论文的思路,具体pipeline 就先不介绍了。
论文概况
论文由宁波大学 Linze Luo等人完成,发表在IJCNN 2022上(CCF C类会议),完成了模型 DFSR (Dual-Contrastive Federated Social Recommendation)。论文主要是在联邦社会化推荐中加入了对比学习,优化embedding refine过程。论文存在一定的组织混乱和写作问题,这里按照数据流方式进行组织一下。
Motivation
作者主要强调联邦学习中的 Non-IID 问题,即 每个客户端代表一个用户,每个用户的偏好是不同的,因此这种非独立同分布的情况 造成了性能的下降。
Methodology
在这里的介绍中,我们将计算内容分为本地计算(Client Local Computing
)和服务器聚合(Center Server Aggregation)两个过程。下面分别进行介绍。
Client Local Computing
本地计算基于MF 矩阵分解完成,具体如下:
L
M
F
=
∑
j
∈
V
i
∪
V
i
′
(
r
i
j
−
u
i
⊤
v
j
)
.
(1)
L_{MF} = \sum_{{j}\in {V_i \cup V_i^\prime}} (r_{ij} - \mathbf{u}_{i}^{\top}\mathbf{v}_{j}). \tag{1}
LMF=j∈Vi∪Vi′∑(rij−ui⊤vj).(1)
在此基础上,加入 (1)社会化对比项 和 (2)物品侧对比项。
(1)社会化对比项 使得 好友靠近,非好友远离,这里加入了一个阈值进行过滤,并在具体训练过程中不在一开始几轮训练中加入,已获得更精确的embedding。具体如下所示:
L
U
−
C
o
n
=
1
∣
U
i
∣
∑
u
j
∈
U
i
−
log
exp
(
sim
(
u
i
,
u
j
)
/
τ
u
)
exp
(
sim
(
u
i
,
u
j
)
/
τ
u
)
+
J
i
,
J
i
=
∑
u
k
∈
U
~
i
′
exp
(
sim
(
u
i
,
u
k
)
/
τ
u
)
,
U
~
i
′
←
{
u
k
∣
sim
(
u
i
,
u
k
)
<
δ
u
,
u
k
∈
U
i
′
}
,
(2)
\begin{aligned} L_{{U-Con}} &= \frac{1}{\left|U_i\right|} \sum_{\mathbf{u}_{j} \in \mathbf{U}_{i}}-\log \frac{\exp \left(\operatorname{sim}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right) / \tau_u\right)}{\exp \left(\operatorname{sim}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right) / \tau_u\right)+J_i}, \\ J_i &=\sum_{\mathbf{u}_{k} \in \tilde{U}_i^{\prime}} \exp \left(\operatorname{sim}\left(\mathbf{u}_{i}, \mathbf{u}_{k}\right) / \tau_u\right), \\ \tilde{U}_i^{\prime} &\leftarrow \left\{\mathbf{u}_{k} \mid \operatorname{sim}\left(\mathbf{u}_{i}, \mathbf{u}_{k}\right)<\delta_u, \mathbf{u}_{k} \in U_i^{\prime}\right\},\end{aligned}\tag{2}
LU−ConJiU~i′=∣Ui∣1uj∈Ui∑−logexp(sim(ui,uj)/τu)+Jiexp(sim(ui,uj)/τu),=uk∈U~i′∑exp(sim(ui,uk)/τu),←{uk∣sim(ui,uk)<δu,uk∈Ui′},(2)
这里的
U
i
′
U_i^{\prime}
Ui′ 表示 随机采样的 非邻接用户。
(2)物品侧对比项 使得 上一轮 epoch 的参数 与 经过 aggregation 的 global 参数靠近, 自己 与 上一轮的自己 疏远。具体如下:
L V − C o n = − log exp ( o g l o b a l ) exp ( o g l o b a l ) + exp ( o p r e v ) , o g l o b a l = sim ( V i ( t ) , V g l o b a l ( t ) ) / τ v , o p r e v = sim ( V i ( t ) , V i ( t − 1 ) ) / τ v , (3) \begin{aligned} L_{V-Con}&=-\log \frac{\exp \left(o_{g l o b a l}\right)}{\exp \left(o_{g l o b a l}\right)+\exp \left(o_{p r e v}\right)}, \\ o_{global} &= \operatorname{sim}\left(\mathbf{V}_{i}^{(t)}, \mathbf{V}_{{}global}^{(t)}\right) / \tau_v, \\ o_{p r e v}&=\operatorname{sim}\left(\mathbf{V}_{i}^{(t)}, \mathbf{V}_{i}^{(t-1)}\right) / \tau_v, \end{aligned} \tag{3} LV−Conoglobaloprev=−logexp(oglobal)+exp(oprev)exp(oglobal),=sim(Vi(t),Vglobal(t))/τv,=sim(Vi(t),Vi(t−1))/τv,(3)
L = L M F + μ u L U − C o n + μ v L V − C o n . (4) L=L_{MF}+\mu_u L_{U-Con}+\mu_v L_{V-Con}. \tag{4} L=LMF+μuLU−Con+μvLV−Con.(4)
经过固定轮次
E
E
E 的训练,本地模型完成训练。并将得到的模型梯度 上传 到 center server,中心服务器完成梯度的 聚合。
梯度上传过程中,加入了 Local Differentiate Privacy,这里不再赘述。
Center Server Aggregation
server 通过 interacted items 的数量 作为权重,进行加权求均值,完成聚合:
w
t
+
1
=
∑
i
∈
S
t
n
i
n
σ
w
t
+
1
i
,
n
σ
=
∑
i
∈
S
t
n
i
.
(5)
w_{t+1} = \sum_{i \in S_t}\frac{n_i}{n_\sigma} w_{t+1}^i, \quad n_\sigma=\sum_{i \in S_t} n_i. \tag{5}
wt+1=i∈St∑nσniwt+1i,nσ=i∈St∑ni.(5)
总结
在基于联邦学习的社会化推荐基础上,加入了两个对比化项,完成本文。