SimSiam:探索简单的孪生表示学习.

SimSiam是一种不依赖于负样本的对比学习方法,使用孪生网络$f$从图像$x$的两个增强版本$x_1,x_2$中提取特征$z_1,z_2$,并使用预测头$h$根据一个特征预测另一个特征。

损失函数设置为负余弦相似度:

\[\begin{aligned} \mathcal{L}_{\text{SimSiam}} = -\frac{1}{2} \frac{h(z_1)}{||h(z_1)||_2} \cdot \frac{sg(z_2)}{||sg(z_2)||_2} -\frac{1}{2} \frac{h(z_2)}{||h(z_2)||_2} \cdot \frac{sg(z_1)}{||sg(z_1)||_2} \end{aligned}\]

SimSiam的实现过程如下:

作者对比了若干种使用孪生网络的对比学习方法。SimCLR同时使用正样本和负样本;SwAV通过SK算法构造聚类中心;BYOLSimSiam类似,主要区别在于前者使用移动平均更新矩编码器参数。

实验结果表明,在不使用负样本的对比学习中,损失函数中的梯度停止操作$sg(\cdot)$非常重要,否则可能使网络学习到平凡解。

对于这种基于孪生网络的对比学习方法,作者提出了一种基于期望最大算法(Expectation-Maximization)的解释。对于数据样本$x$,通过数据增强变换为\(\mathcal{T}(x)\),通过任意变换转换为$\eta_x$,则上述对比学习损失为:

\[\mathcal{L}(\theta,\eta) = \Bbb{E}_{x,\mathcal{T}}[||\mathcal{F}_{\theta}(\mathcal{T}(x))-\eta_x||_2^2]\]

最小化上式可以通过迭代地求解以下两个子问题:

\[\begin{aligned} \theta^t & \leftarrow \mathop{\arg \max}_{\theta} \mathcal{L}(\theta,\eta^{t-1}) \\ \eta^t & \leftarrow \mathop{\arg \max}_{\theta} \mathcal{L}(\theta^t,\eta) \end{aligned}\]

固定$\theta^t$时,最优$\eta$为:

\[\eta^t \leftarrow \mathcal{F}_{\theta^t}(\mathcal{T}(x))\]

代回原式得:

\[\theta^{t+1} \leftarrow \mathop{\arg \max}_{\theta} \Bbb{E}_{x,\mathcal{T}}[||\mathcal{F}_{\theta}(\mathcal{T}(x))-\mathcal{F}_{\theta^t}(\mathcal{T}'(x))||_2^2]\]