Self-Supervised Visual Representation Learning with Semantic Grouping
本文提出从数据驱动的语义槽 进行对比学习,即SlotCon,用于联合语义分组和表征学习。
与先前的工作相比,通过同时优化 语义分组 和 对比学习 这两个耦合的目标,本文的方法绕过了手工制作的先验的缺点,并且能够从以场景为中心的图像中学习目标/组级别的表示。
<aside> 💡 Prototype(原型) 的概念其实就是 InfoSeg: Unsupervised Semantic Image Segmentation with Mutual Information Maximization 中的 global feature, 可以与特征图点积计算相似度, 得到每个像素分配到每个类别的概率. 另外可以认为是聚类得到的聚类中心.
</aside>
给定一个未标记图像的数据集 $D$,我们旨在学习一组原型 $S$,将每个像素分类为一个有意义的组,使得同一组内的像素是语义一致的(具有相似的特征表示),并且不同组之间的像素是语义不连贯的。
语义上有意义的分组 应该 对数据增强是不变的。因此,对于同一图像的不同增强,我们强制位于同一位置的像素具有相似的匹配分数 关于同一组集群中心(原型)。
<aside> 💡 类似于 leopart: Self-Supervised Learning of Object Parts for Semantic Segmentation
leopart 中损失函数中的两项分别是: student 网络输出的图像块的类别分数, 第二项是使用 teacher 网络输出的特征, 使用 OTA 匹配获得的类别分数.
$$ l \left( x _ { t _ { i } } , x _ { t _ { j } } \right) = H \left[ \left( s _ { \tau } \left( \alpha _ { B _ { j , i } } \left( g \left( \Phi \left( x _ { t _ { i } } \right) \right) ^ { T } C \right) , \alpha _ { B _ { i j } } \left( Q _ { t _ { j } } \right) \right] \right. \right. $$
而此模型与此类似, 损失函数的第二项与第一项的计算方式一致. 损失函数均为交叉熵, 并且 prototype 均为可以优化的.
</aside>
具体来说,如图 1 所示,本文的方法包含两个神经网络:学生网络由 $θ$ 参数化,并包括编码器 $f_θ$、projector $g_θ$ 和 一组 $K$个可学习原型 ,教师网络与学生拥有相同的架构,但使用了一组不同的权重 $ξ$,其更新为 $θ$ 的指数移动平均值。