Unifying Graph Convolution and Contrastive Learning in Collaborative Filtering

Wu Y., Zhang L., Mo F., Zhu T., Ma W. and Nie J. Unifying graph convolution and contrastive learning in collaborative filtering. KDD, 2024.

本文将推荐系统中的好用的对比学习和图卷积联系在一起, 证明了它们间的一种等价性.

主要内容

  • 一般的对比损失为:

    \[\begin{array}{ll} l &= -\frac{1}{|\mathcal{D}|} \sum_{(u, i) \in \mathcal{D}} \log \frac{ \exp(\bm{e}_u^T \bm{e}_i) }{ \sum_{(x, y) \in \mathcal{D}_U \times \mathcal{D}_I} \exp(\bm{e}_x^T \bm{e}_y) } \\ &= -\frac{1}{|\mathcal{D}|} \sum_{(u, i) \in \mathcal{D}} \log \frac{ \exp(\bm{e}_u^T \bm{e}_i) }{ \sum_{(x, y) \in U \times I} d_x d_y \exp(\bm{e}_x^T \bm{e}_y) }, \end{array} \]

    其中 \(\bm{e}_u, \bm{e}_i\) 为 user/item 的 embedding, \(d_x, d_y\) 分别为节点 \(x, y\) 在数据集中出现的次数. 注意, 与一般对比损失不同, 这里将所有观测数据放在了分母, 一般只放一个 batch 的.

  • 在这种情况下, 可以证明, Embedding \(\mathbf{E}\) 在一般的梯度下降的更新方式下的迭代公式为:

    \[\mathbf{E}(t + 1) = \big( \mathbf{I} + \gamma \mathbf{A}'' (t) \big) \mathbf{E} (t). \]

    其中 \(\gamma > 0\) 为学习率,

    \[\mathbf{A}''(t) = \mathbf{A} / |\mathcal{D}| - \mathbf{A}' (t), \\ \mathbf{A}_{ij}'(t) =\frac{ d_i d_j \exp(\bm{e}_i^T (t) \bm{e}_j (t)) }{ \sum_{(x, y) \in \mathcal{U} \times \mathcal{I}} d_i d_j \exp(\bm{e}_x^T (t) \bm{e}_y (t)) }, \]

    \(\mathbf{A}\) 为邻接矩阵.

  • 换言之, \(\mathbf{E}\) 在按照一种图卷积的形式进行更新.

代码

[official-code]

posted @ 2024-10-13 20:59  馒头and花卷  阅读(11)  评论(0编辑  收藏  举报