原型对比学习:图像表征与聚类中心之间的交互,可以简单总结为在表征空间中最大化图像特征与其所属的聚类中心的相似度。
分层语义结构 自然存在于图像数据集中,其中几个语义相关的图像簇可以进一步集成到一个更大的簇中,具有更粗粒度的语义。用图像表示捕获这样的结构可以极大地促进对各种下游任务的语义理解。现有的对比表示学习方法缺乏如此重要的模型能力。此外,这些方法中使用的负样本对不能保证在语义上是不同的,这可能会进一步妨碍学习图像表示的结构正确性。
在这个框架中,一组层次原型被构建并动态更新,以表示隐空间中数据背后的层次语义结构。该方案旨在 选择具有相似语义的更多样化的正对和具有真正不同语义的更精确的负对。
在过去的几年里,自监督图像表示学习取得了长足的进步,其中基于解决信息难题的传统方法 [12, 16, 33, 34, 49] 明显被对比学习方法 [6-8, 19,36]超越。
现有的对比方法主要可以分为两类,实例对比学习[7 SimCLR,19 MoCo,36 CPC]和原型对比学习[6 SwAV,27]。
1.实例对比 旨在隐空间中 将相似的实例映射到附近,同时 将不同的实例映射到相距较远,这保证了不同图像表示之间的合理局部结构。
2.原型对比 旨在获得 聚集在相应聚类中心周围的 紧凑图像表示,它捕获了一些可以由单个聚类层次结构表示的基本语义结构。
然而,在对可能始终 拥有多个语义层次结构 的大规模图像数据集进行建模时,这些方法在表示能力上落后。学习包含图1这种分层语义结构的图像表示可以极大地促进对各种下游任务的语义理解。
此外,现有的对比方法 通常通过对某些噪声分布进行穷举采样来构造负对,并且 所有采样的负对均不经选择地使用。不能保证 以这种方式 获得的负样本对拥有真正不同的语义。因此,一些语义相似的样本可能会被这些方法错误地嵌入相距很远的地方,从而影响学习图像表示的质量。
在HCSC框架中,我们建议使用 分层原型 捕获数据底层的分层语义结构,分层原型是隐空间中的一组 树结构的 表征的嵌入。在训练过程中,这些原型会 动态更新 以适应当前的图像表示。在这种分层语义结构的指导下,我们寻求 通过 选择语义正确的高质量正负对 来改进实例和原型对比学习。
创新点:
1.提出通过 动态维护分层原型 来表示图像表示的分层语义结构;
2.提出了一种新颖的对比学习框架,分层对比选择性编码(HCSC),它通过 选择语义正确的正负对 来改进传统的实例和原型对比学习。
·解决puzzles的前置任务:不能保证为不同的下游任务获得有区别的特征表示。
·实例对比学习:试图在隐空间将相似的实例嵌入到附近,而将相异的实例嵌入相距很远的地方。标准的实例对比方法[7,19,42]通过最大化相关实例之间的互信息来实现这一目标,即使用 InfoNCE 损失进行优化。然而,这些方法 并不了解整个数据集的全局语义。
标准 InfoNCE 损失 [36] 以最大化该正对之间的相似性并最小化一些随机采样的负对之间的相似性。
·原型对比学习:通过利用 图像簇的原型 表示来明确地利用语义结构。然而,所有这些方法都表示单一层次的语义簇,这忽略了图像数据集自然具有层次语义的重要事实。
每个正对 由一个实例及其关联的语义原型组成,负对 由实例与不相关的语义原型配对形成。以这种对构造的方式,给定一个正对 (z, c),ProtoNCE 损失。
我们寻求学习 具有多个语义层次结构 的图像表示。DeeperCluster [5] 通过分层预测聚类分配在这个方向上进行了尝试。相比之下,我们的方法利用 对比选择性编码 来更准确地发现数据的语义层次结构。
给定 N 个未标记图像的集合 X = {x1, x2, ···, xN},我们的目标是为每个 xn ∈ X 学习一个低维向量 zn ∈ Rδ。除了图像表示Z 之外,我们还 维护一组 层次原型 C 来表征数据底层的层次语义结构,
受这些限制的启发,我们提出了一种新颖的对比学习框架,称为分层对比选择性编码(HCSC)。简而言之,我们用分层原型表示数据的语义结构,并在训练过程中动态更新这些原型(第 4.2 节)。基于这种分层语义表示,我们寻求通过选择适合语义结构的更好的正负对(第 4.3 和 4.4 节)来促进传统的实例和原型对比学习,并且我们的总体目标结合了两种学习方式(第 4.5 节) .我们的方法的图形总结如图 2 所示。
与只能捕获单个语义层次结构或几个独立层次结构的先前方法 [6, 27] 相比,我们的方法能够捕获各种语义集群之间的层次关系。我们通过一种简单而有效的 分层 K-means 算法来实现这一点,该算法以 自下而上 的方式执行。
分层 K-means 算法 :伪代码如Alg.1所示。首先,图像编码器提取数据集中所有图像的特征表示,并对这些图像表示进行K-means聚类,得到第一层次的原型。之后,通过迭代地将 K-means 聚类应用于下面的层次结构原型,得到每个更高层次结构的原型。
由于图像表示会随着训练过程而更新,因此还需要对分层原型进行维护方案,以确保它们是隐空间中的表征性嵌入。为了平衡精度和效率,我们在每个 epoch 开始之前执行分层 K-means 算法,以根据当前图像表示更新分层原型。
1.实例对比选择性编码:通过数据增强很容易获得相似(即正)的实例对,而不同(即负)实例对的定义是重要的。以前的方法通过在数据集上均匀采样或从去偏数据分布中采样来得出负样本。但是,他们不能保证生成的负样本相对于query样本具有完全不同的语义。为了克服这个缺点,我们的 目标 是 选择更精确的负样本,这些样本具有与query真正无关的语义。
对于特定的query图像 x,我们 不是不加选择地 将其与队列中的所有负候选 N 进行对比,而是通过对每个负候选执行 伯努利采样 来选择真正的负样本进行对比。
2. 原型对比选择性编码:旨在在隐空间中获得 紧凑的 图像表示,其中每个图像都紧密嵌入在其相关的聚类中心周围。给定一个query样本,之前的工作将其与单个原型池进行比较,他们将其最相似的原型视为其正样本,将所有其他原型视为负样本。然而,该方案 忽略了不同簇之间的语义相关性,并且可能 过度惩罚一些语义相关的簇。为了减轻这种过度惩罚,我们寻求选择在语义上远离query的更精确的负簇。
顶层时使用所有的负样本 N L ,因为顶层的语义簇共享很少的语义相关性,因此可以安全地被视为彼此的负样本。
“实例对比学习利用 局部实例级结构,原型对比学习 在隐空间中构建 全局语义结构。
负样本对的选择策略:证明了实例和原型 两个对选择方案的互补性。
实例和原型两种对比损失是互补的。
如图 6 所示,我们发现 更多的语义层次(3 或 4 个层次)明显有利于模型在线性分类上的性能。
说明了使用 丰富的原型 来充分捕获数据背后的语义集群的重要性。
Conclusion:在这个框架中,数据底层的层次语义结构由 层次原型 捕获。在这些原型上,设计了一种新颖的对选择 pair selection 方案,以更好地选择正负对进行对比学习。
当前 HCSC 方法的 主要限制 是在预训练期间发现的 分层原型在下游任务中被丢弃。然而,这些原型包含丰富的语义信息,它们应该以某种方式有利于下游应用的语义理解。因此,我们未来的工作将主要集中在通过 充分利用分层原型 来提高模型在下游任务上的性能。