Generalizing to Unseen Domains: A Survey on Domain Generalization 论文分享

这篇论文应该是领域泛化领域第一篇综述,楼主花了些时间较为仔细的读了一下,写了这篇笔记

1.理论分析(论文所有的分析都基于二分类问题,分析工具会用到VC维)

  • Domain Adaptation中的error bound

    error bound包含三项:源域上的误差+源域和目标域的距离+理想模型的误差(对相同的数据集,源域和目标域上的理想分类器的分类差异)

    一般的DA方法将第三项视作为常数项,主要优化第一和第二项(缩小源域和目标域的距离), i.e. domain invariant feature representation

  • Domain Generalization

    • Average risk estimation error bound

      考虑在所有可能的目标域上的性能,结论表明相比把所有的域糅杂成一个数据集,多个域作为测试集更能反应模型的真实泛化性能。

    • Generalization risk bound (假设只发生了协变量偏移, i.e. Covariant Shift)

      假设所有未见过的域统称为一个目标域,用已有的多个源域来拟合目标域,分析思想同Domain Adaptation。与Domain Adaptation error bound的区别在于, Generalization risk bound要考虑每个源域在拟合中的占比,进而分配各个源域误差在误差上界中的占比。

  • Dataset shift

    在机器学习中,数据集一共可以产生三种shift:协变量、因变量和自变量的偏移

    假设一个回归模型:
    y = w T x y=w^Tx y=wTx

    其中,x是协变量、w是自变量、y是因变量。

2. 方法review

  1. data manipulation
  • data augmentation

domain randomization通常的做法是改变对象的位置和纹理、数量和形状,修改对象的光照,转换相机视图,以及向数据添加不同类型的随机噪声。还有些工作考虑场景的结构,对标签进行增广。缺陷是样本增广通常是随机的,如何考虑生成增广价值高的样本?

Adversarial data augmentation依靠梯度或者形变网络来增广样本,缺陷是对抗网络很难训练。

  • data generation

GAN、VAE、MIXUP,目的是在保持生成对象语义(分类任务中可理解为label)不被改变的情况下,增大与原始样本的域差异。Wasserstein和Adain会被用到。例如,改变数据的统计特性,保留content,修改style。

一篇有意思的工作,利用带噪声的AdaIN生成新的domain。生成的数据用来训练带对比loss的分类器。生成器和分类器采用对抗训练。[Progressive domain expansion network for single domain generalization, CVPR 2021]

  1. representation learning

2.1 domain-invariant representation learning

  • kernel-based methods

    利用核函数减小数据在特征空间中的分布差异。一篇有意思的文章,将每个domain的数据投影到对应的椭圆上来表示该domain的分布

    [Robust domain generalization by enforcing distribution invariance, AAAI 2016]。基于核表示的方法高度依赖其他类型的domain generalization方法,在其他方法中充当散度度量的角色。

  • domain adversarial learning

经过对抗学习,判别器无法分辨domain的真实标签。一篇有意思的工作,只需确保不同领域真实的人脸在特征空间中无法分辨,不考虑假人脸的分布。

[Single-side domain generalization for face anti-spoofing, CVPR 2020]

  • explicit feature alignment

增大类间差异,减小不同领域间的类内差异。有一类feature normalization 方法,IN, BN, BIN, SNR(残差思想)。

[Adversarially adaptive normalization for single domain generalization, CVPR 2021]

  • invariant risk minimization (IRM)

对domain invariant新的解读,之前的观点是在同一特征空间对齐不同域的数据分布,此时的特征称为domain invariant。IRM的观点是所谓的domain invariant需要满足分类器能同时在所有的域上取得最优结果(转化成了一个带限制的优化问题)。

2.2 feature disentanglement

将学习到的特征进行解耦,分解成领域相关和领域不相关的两种特征。

  • Multi-component analysis

一篇关于模型可解释性的有趣工作,利用带标注的前景信息来监督分类模型,强迫模型学到领域无关的特征。论文的假设是模型关注前景区域的像素能够提取出更具判别性的特征,从而提升泛化性能。

[Explainable deep classification models for domain generalization, CVPR 2021]

  • Generative modeling

基于对抗样本的思想,在特征空间或样本空间中进行适当的扰动,来生成新的样本。

代表性工作[Learning to Learn Single Domain Generalization, CVPR 2020]

  • Causality-inspired methods

因果推理:理想的表示是物体属于某一类标签的原因(例如该表示是代表物体的形状),模型预测不会被其他不相关的干扰(背景颜色、形状)所影响。一篇有意思的工作,考虑更为苛刻的设定,没有域标签、具有类别不平衡的domain generalization问题,核心想法是去除所有特征维度间的相关性,实现工具是利用向量正交则点积为零这一定理,没有引入额外的监督标签,类别不平衡问题利用sample weighting技术来解决。可视化效果是,应用了该方法之后,模型能够更加聚焦在分类物体上,而非不相关的背景。

[Deep Stable Learning for Out-Of-Distribution Generalization, CVPR 2021]

以前的dg方法希望学到class-condition的stable resprentation,实际上就算满足了这个条件,模型依旧无法很好的泛化。因为同一类的不同物体也是有不同差异的,需要关注类内差异。

第一阶段,利用对比学习学到一个好的特征空间,与传统对比学习不一样,anchor的positive pairs会动态调整,每个epoch取离当前anchor最近的相同类(要求来自不同域)组成positive pairs(尊重类内差异,不再要求将相同class压缩成为一个单元,将相同的object看作一个数据单元),标记每个anchor最近邻的正样本对作为相同的object对。

第二阶段,在分类loss的基础上增加一个正则项,拉近不同domain的object对的绝对距离。

两个阶段分开是防止分类loss对特征空间的学习有影响。

[Domain Generalization using Causal Matching, ICML 2021]

  1. learning strategy

    • Ensemble 集成技术

      • 多个模型,每个模型只在特定域上训练
      • 每个域保持特有的BN层
      • 多个域共用一个特征提取器,每个域单独训练一个分类器
    • Meta-learning 技术

    在元学习的框架下,利用蒸馏的思想,对齐meta-train和meta-test内的类别分布,使模型学到更加泛化的知识表示。

    [Domain Generalization via Model-Agnostic Learning of Semantic Features, NeurIPS 2019]

    • Gradient operation 技术

    一篇有意思的工作,增加一个正则项,通过最大化不同域之间梯度的内积,来对齐模型在不同域上的优化方向,以获取领域不变特征。

    [Gradient matching for domain generalization, ICLR 2022]

    • Distributionally robust optimization (DRO)

    一种类似DG的设定,DRO要求模型在一组来自比较困难的分布的数据上训练,在另一组困难数据上测试。前期的方法要求知道数据的组标签,后期发展的方法可以不需要该标签。与DG的区别在于,DG是按域(卡通、油画、真实)来划分的,DRO按经验困难(背景是水的鸟、背景是陆地的鸟)来划分。

    • 自监督技术

      一篇有意思的工作,以自监督的方式学习物体的空间属性,增强模型的泛化能力。

      [Domain generalization by solving jigsaw puzzles, CVPR 2019]

    • 其他方法

      传统的triple loss只能保证相同类靠近,不同类原理,没办法对齐不同的域。提出一种新的loss,在triple loss的基础上增加了两个分布对齐的约束

      [cross-Domain Similarity Learning for Face Recognition in Unseen Domains, CVPR 2021]

      将图像通过传统算法转换成shock graph,shock graph可以简单理解成一个封闭曲线以及该曲线的中轴线,有了图结构之后再利用GNN来做跨域分类。

      [Shape-Biased Domain Generalization via Shock Graph Embeddings, ICCV 2021]

      基于元学习框架,划分训练域和测试域,提出了三个loss来约束特征空间,比较有意思的一个loss是在利用对比学习或者triplet loss的时候挖掘困难样本。

      [Learning meta face recognition in unseen domains, CVPR 2020]

引用文献:Wang J, Lan C, Liu C, et al. Generalizing to unseen domains: A survey on domain generalization[J]. arXiv preprint arXiv:2103.03097, 2021.

你可能感兴趣的:(迁移学习,人工智能,机器学习,深度学习)