Unifying Graph Convolution and Contrastive Learning in Collaborative Filtering
概
本文将推荐系统中的好用的对比学习和图卷积联系在一起, 证明了它们间的一种等价性.
主要内容
-
一般的对比损失为:
\[\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}\) 在按照一种图卷积的形式进行更新.