论文《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)
总结
在基于联邦学习的社会化推荐基础上,加入了两个对比化项,完成本文。