PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记

Motivation

  • 对比学习:利用不同领域的样本对之间丰富的语义关系来学习domain-invariant represents。简而言之,构建多个正负样本对,然后用它们来学习优化一个距离度量,将来自不同正样本对之间的距离拉近,而将其他负样本对推远。
  • 基于代理的方法:代理被看作是一个子数据集的代表,一个标准的基于代理的方法是softmax cross entropy loss,其中代理用来表示类。
  • domain generalization: 1)数据增强通常用于提高DNN的泛化能力,作为一种正则化方法。2)学习策略:一些方法通过集成学习和元学习等策略来促进模型的泛化。集成学习假设每个领域都包含一些特定领域的知识,这些知识可以被不同的网络更好地学习。并且,这些网络可以结合起来以提高模型的泛化能力。3)域不变的表征学习:一些常见的方法是最小化一些统计指标,如MMD。还有一些方法使用对抗性学习来对齐不同的源域。
  • metric learning:基于配对的损失和基于代理的损失是度量学习的两个主要分支。基于配对的方法侧重于样本于样本之间的关系,基于代理的方法侧重于代理与样本的关系。

Constrative Loss:

  • 困难负样本挖掘
    正样本对比如(dog, dog),负样本对比如(dog,cat)。困难负样本指的是对于task而言,比如图像分类,模型总是会分错,会认为dog和cat是相似的。
    PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第1张图片
    对比损失:i代表第i个样本,k!=i说明是负例。希望分子/分母接近1,也就是希望正样本之间的相似度越大越好。

在对比学习中,一个简单的方法是将不同域的正样本对拉得更近,同时将其他负样本对推得更远。作者发现直接采用有监督的对比学习效果并不好。因为域之间通常存在显著的分布差异,使得直接拉近正样本对的距离反而阻碍了模型的泛化。
PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第2张图片
图1:在有监督的对比环境中,从不同的领域抽取正样本对。然而,由于域间差距大,一些正样本对很难对齐,这就降低了模型的泛化能力。
基于代理的自监督学习和传统自监督学习方法的差别
传统的基于对比的损失利用其样本到样本的关系,其中来自同一类的不同域样本可以被视为正对。作者认为,优化一些困难正样本对可能恶化模型的泛化能力。作者称之为正对齐问题(positive alignment problem)。因为各个域之间的差异可能会非常大,因此直接对齐不同域的正样本反而可能对模型有害。于是,作者提出基于代理的对比损失来解决这个问题。
PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第3张图片
图2:基于对比的损失主要集中在探索丰富的样本对之间的关系,而基于代理的损失使用代理来表示子训练集,能够实现安全和快速的融合,但会遗漏一些语义关系。于是。作者思考设计一个基于代理的损失,从对比学习中获得一些好的点。将每个代理视为anchor,并考虑所有代理和样本之间的关系。此外,作者在样本嵌入和代理权重上对齐一个投影头,并使用新的嵌入和新的代理权重进行基于代理的对比性损失。
对于传统的自监督学习而言,优化的是样本到样本的距离,而作者的方法优化的是样本到代理、代理到代理的距离。

Method

PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第4张图片
以Softmax Cross Entroy为baseline, 以PACS为benchmark,由表格1观察到正向对齐目标对性能没有贡献。
在这里插入图片描述
公式2:将每个锚点样本x与所有类代理联系起来,并用softmax函数测量它们的相似性。通过对齐每个类的代理权重w来学习分类器C。每一对类的决策边界是: ( w i − w j ) T x = 0 (w_i-w_j)^Tx=0 (wiwj)Tx=0,其中i, j 是类索引。
尽管softmax CE损失是有效的,但它只考虑了代理到样本的关系,而忽略了丰富的语义样本与样本之间的关系。相比之下,基于对比的损失考虑了丰富的样本与样本之间的关系。其关键思想是学习一个距离,将positive pairs拉近,将negative pairs推远

在这里插入图片描述
公式3:基于对比的Loss,来自同一类别的样本对被识别为正样本对, α \alpha α是比例因子。
hard pair: l两个身份不同,但属性一致的sample十分相似。
PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第5张图片
公式4: m a x [ s n j − s p ] + max[s_{n}^j-s_p]_+ max[snjsp]+表示具有最大距离的一对正负样本,通过控制比例因子从而实现hard pair mining。hard pair在基于对比的损失中起着重要的作用,它可以帮助网络学习更好的决策边界,以及防止网络陷入琐碎的解决方案中。通过考虑大量的负数对,基于对比的损失可以学习到更多的信息样本嵌入。
PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第6张图片
图3:softmax CE损失和基于对比的损失都构建了具有不同关系的正样本对和负样本对,并且可以使用softmax函数来生成输出概率。
在这里插入图片描述
公式5:通过将正样本对拉近,负样本对被同等的强度所推远。在基于对比的损失中,每个正样本对都必须把其他负样本对推开,这就促使正样本对获得更高的分数。在领域泛化中,一些正样本对是由难以对齐的不同分布形成的,这可能会损害模型的性能。
PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第7张图片

公式6:基于代理的对比性损失。N是一个小批次的样本数, w c w_c wc表示 x i x_i xi的目标类代理权重。C是类的数量,K是所有基于 x i x_i xi的样本对样本关系中的负数对的数量。样本嵌入即z和代理权重即w都被归一化。 α \alpha α是比例因子。
PCL Loss:正样本是与其同类的代理,负样本是不同类的代理,以及同一小批量的其它数据。
PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第8张图片

Experiments

作者在在四个标准的DG数据集上评估了所提出的基于代理的对比损失,即PACS、Office-Home、DomainNet和TerraIncognita。只使用在同一领域产生的负样本对.
PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第9张图片
表2:正向对齐对不同基准的影响,以验证它是否能提高模型的泛化能力。可以看出,在不同的基准上,正对齐目标对模型的泛化是无效的。

SOTA实验:
PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第10张图片
PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第11张图片
PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第12张图片
PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第13张图片
PCL: Proxy-based Contrastive Learning for Domain Generalization 阅读笔记_第14张图片
作者使用Adam优化器,将学习率设置为5x10^-5,在SWAD中使用相同的训练策略和数据增强方法。

Conclusion

  • 基于代理的方法在样本到样本的关系和类到样本的关系之间做了一个权衡。模型的泛化是通过牺牲一些潜在的有用的语义关系而获得的。
  • 从经验上发现,一些典型的基于对比的方法在领域泛化方面的性能下降源于正对排列。
  • 作者认为由于不同领域之间存在明显的分布差异,对正样本对的对齐往往会阻碍模型的泛化。
  • 为了解决这个问题,作者提出一种新的基于代理的对比学习方法,用代理到样本的关系取代了原来样本到样本的关系,从而缓解了正向对齐问题。
  • 作者还考虑了一个更复杂的情况,也就是没有提供ImageNet预训练的模型,并且作者的方法始终显示出更好的性能。

你可能感兴趣的:(领域泛化论文,机器学习,人工智能,python,深度学习)