Contrastive Learning Is Spectral Clustering On Similarity Graph
概
本文将对比学习与谱聚类联系在一起.
主要内容
-
我们知道, 一般的对比学习形如:
\[\min_{\theta} \quad \mathbb{E}_{x, x^+, \{x_k^-\}_{k=1}^K} -\log \frac{ \exp(\text{sim}(f(x; \theta), f(x^+; \theta))) }{ \sum_{k=1}^K \exp(\text{sim}(f(x; \theta), f(x_k^-; \theta))) }, \]其中 \(\text{sim}(\cdot, \cdot)\) 是相似度函数, 比如标准的 InfoNCE 采取的是
\[\text{sim}(x, y) = \frac{1}{\tau} \cdot \frac{x^T y}{\|x\|_2 \|y\|_2}. \]这里 \(\tau > 0\) 为 temperature.
-
现在, 令 \(z = f(x)\) 为隐变量, 然后让我们简单地关注如下问题:
\[\min_{Z} \quad \mathcal{L} = \mathbb{E}_{z, z^+, \{z_k^-\}_{k=1}^K} -\log \frac{ \exp(\text{sim}(z, z^+)) }{ \sum_{k=1}^K \exp(\text{sim}(z, z^-)) }, \] -
首先, 进行一些简化:
\[\begin{array}{ll} \mathcal{L} &= \underbrace{\mathbb{E}_{z, z^+, \{z_k^-\}_{k=1}^K} -\log \frac{ \exp(\text{sim}(z, z^+)) }{ \sum_{k=1}^K \exp(\text{sim}(z, z^-)) }}_{\mathcal{L}_{main}} \\ &= \mathbb{E}_{z, z^+} \Big[-\text{sim}(z, z^+) \Big] +\mathcal{L_R}. \end{array} \]其中 \(\mathcal{L_R}\) 是一正则化项.
-
进一步地, 假设 \(\mathbb{E}_{z, z^+}\) 所服从的分布为 \(P \in [0, 1]^{N \times N}\), 满足 \(\sum_{ij} P_{ij} = 1\), 则
\[\mathcal{L}_{main} = -\sum_{ij} P_{ij} \text{sim}(z_i, z_j). \] -
在特殊情况下, 如
\[\text{sim}(z_i, z_j) = -\|z_i - z_j\|_2^2, \]我们有
\[\mathcal{L}_{main} =-\sum_{ij} P_{ij} \text{sim}(z_i, z_j) =\sum_{ij} P_{ij} \|z_i - z_j\|_2^2 = \text{Tr}(Z^T L Z), \]其中 \(L = \text{diag}(\mathbf{1}^T P) - P\) 为 \(P\) 的 Laplacian 矩阵.
-
换言之, \(\mathcal{L}\) 在这种情况下相当于是一个谱聚类的效果.
-
进一步地, 作者从谱聚类的角度解释了为什么 InfoNCE 是这个样子的 (请会看原文, 很有意思).
-
于是本文设计了 kernel-InfoNCE 损失:
\[\text{sim}(x, y; \gamma, \tau) = - \frac{\|x - y\|^{\gamma}}{\tau}. \]