domain adaptation 小综述

  • 前段时间为了一个项目读了一些domain adaptation的论文,希望了解领域背景和前沿,现在进行一个总结。

  • 首先介绍下domain adaptation的概念,简单地说就是,在一个数据集上训练得到的模型无法很好地在另一个数据集上表现,两个数据集之间存在差异。用上术语就是两个domain之间存在domain shift,导致了性能的下降。举个例子,自然图像数据集上训练得到的目标检测模型,应用到遥感图像上表现很差,是因为自然图像和遥感图像之间存在着domain shift。domain adaptation 就是为了寻找各种各样的方法去克服domain shift。

  • domain adaptation 中有个子领域 unsupervised domain adaptation,这是我读的论文中主要涉及的领域,也是相对来说应用到真实场景中更加自然的一个方向。unsupervised domain adaptation 是指这样一类问题:

    你有两个数据集/数据源,我们称其中一个为source domain,另一个为 target domain。关于source domain我们有完善的标注,但它不是我们应用的目标,我们想要应用到 target domain 上,也就是说追求的是 target domain 上有较高的测试指标。但关于target domain我们根本没有标注。举个例子,我们希望在黑暗图像上有较好的目标检测效果,但我们只有很多黑暗图像,却没有关于这些图像的目标检测标注。那么把黑暗图像当作 target domain,我们可以借助有标注的高光图像数据集如coco和voc,把这样的数据集当作 source domain,通过种种方法,利用source domain 的 labeled samples 和 target domain 的 unlabeled samples,想办法克服两个domain之间的domain shift得到一个能够在target domain 上进行预测并且效果较好的方法,就是unsupervised domain adaptation的目标。

  • domain adaptation 问题除了 unsupervised domain adaptation 外还有 semi-supervised domain adaptation,这种 DA 的t arget domain 有 partial label。除此之外还可以有另一种分类方式,是根据 domain 的数量,有multi-single的domain adaptation和 single-single 的 domain adaptation 等,涉及到multi-domain adaptation的往往在方法的考虑要考虑如何无监督地或有监督地识别出不同的domain分别处理或是统计方法进行建模等,而 single-single domain adaptation 则更加关注于 domain shift 这一核心,接下来也将主要介绍 unsupervised domain adaptation 中的 single-single 方向。

  • 对于 single-source unsupervised domain adaptation,有三个方向:

    • 一个是通过数据增强和训练流程的控制等,学得一个对 domain 不敏感的模型;
    • 另一个是希望学得一个对不同 domain 不变的特征空间,换句话说,希望将 target domain 和 source domain 映射到这样一个特征空间,在这个空间下 target domain 的特征和 source domain 的特征有相同的分布。这个映射通常就是利用卷积神经网络来完成的;
    • 第三个方向则是利用GAN进行domain的transfer,要么是将source domain的图片通过GAN的风格转换变成target domain的图片,然后利用这些转换后的图片以及原有的标签训练一个针对target domain的模型,要么是训练一个将target domain到source domain的风格迁移的GAN和一个source domain上的模型,然后测试的时候直接将target domain的图片先转换成source domain再进行预测。
  • 对于上述的第二个方向,也有两类方法。一类是人为设计出某个公式,来衡量两个分布之间的距离,一类是利用GAN的框架,利用discriminator来衡量两个分布之间的距离。接下来具体介绍各类的流程:

  • 第一类的方法,例子是这篇论文:“Learning Target-Domain-Specific Classifier for Partial Domain Adaptation,” IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS, VOL. 32, NO. 5, MAY 2021

  • 这类方法主要流程是这样的,用一个网络 F 1 F1 F1去提取source domain 图片输入的特征 f 1 f1 f1,用一个网络 F 2 F2 F2 去提取 target domain 图片输入的特征 f 2 f2 f2,用一个loss函数 L L L 去计算一个batch下多个 f 1 f1 f1和多个 f 2 f2 f2这两个集合之间的分布距离 l l l,其实理论上,这个loss应该衡量整个source domain和整个target domain两个分布之间的距离的,但一般都采取batch的方式,也就是说从source domain和target domain中分别采样一个batch的子集,那么这个 batch 的 source domain 的图片得到的特征和 target domain 的图片得到的特征之间的距离应该可以代表两个数据集在这个特征空间上的距离。通过减小 l l l,就能得到一个domain invariant的特征空间。当然训练过程中同时还会将 f 1 f1 f1 继续前向传播产生预测结果并利用已有的label进行监督训练(一般是图像分类任务)。根据情况,可能会将 F 1 F1 F1 F 2 F2 F2共享权重,也就是用一个网络来提取两个domain的特征。所以得到的流程图就类似下面这样(截图自上一点的例子论文"Learning Target-Domain-Specific Classifier for Partial Domain Adaptation"):
    在这里插入图片描述

  • 第二类方法是利用GAN的流程进行的,简单地说,就是把上述的衡量两个分布之间距离的loss函数改成一个discriminator,通过训练希望让discriminator分不出两个domain生成的feature是哪个domain生成的,从而得到一个domain invariant的特征空间,例子论文是:“Adversarial Discriminative Domain Adaptation”,是2017 CVPR的论文。

  • 流程大概如下面几个图:
    在这里插入图片描述
    在这里插入图片描述

  • 而第三个方向的典型论文是这篇2018 CVPR的论文"From source to target and back: Symmetric Bi-Directional Adaptive GAN"把这里的GAN改成了cycleGAN。下面是它的流程:
    在这里插入图片描述

  • 此外呢,研究domain adaptation的通常都是在分类任务上验证的,其实这些方法也可以应用到具体的其它领域,其实就和目标检测与行人检测的关系是一样的。比如这一篇ECCV2020的文章"YOLO in the Dark - Domain Adaptation Method for Merging Multiple Models",就将domain adaptation的方法用到了黑暗图像目标检测上。

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
域自适应是一种机器学习中的问题,它解决的是训练数据与测试数据存在不同分布的情况。具体而言,域自适应旨在利用在一个或多个源域上训练得到的模型,来对一个未知目标域上的数据进行有效的预测。 域自适应面临的主要挑战之一是域间的分布差异。不同域之间可能存在特征分布的偏移,或者标签分布的偏移,这导致了在目标域上直接使用源域模型时的性能下降。为了解决这个问题,研究者提出了各种方法。 一类常见的方法是基于特征映射的域自适应方法。这些方法通过学习一个映射函数,将源域和目标域的特征空间映射到一个共享的特征空间中,从而减小域间的分布差异。有些方法将源域的标签信息也用于训练这个映射函数,以增强其适应目标域的能力。 另一类方法是基于实例重标定的域自适应方法。这些方法试图通过调整源域的样本权重或标签权重,使得源域上的样本在目标域上的表现更好。有些方法借助迁移矩阵来确定样本权重,从而实现重标定。 还有一类方法是基于深度神经网络的域自适应方法。这些方法利用深度神经网络的能力来提取抽象的特征表示,并通过在网络中加入领域分类器或对抗损失函数等方式,来减小域间的分布差异。 总的来说,域自适应是一个重要而具有挑战性的问题,在实际应用中具有广泛的潜力。目前研究者们提出了各种各样的方法来解决这个问题,但仍然存在很多挑战和待解决的问题,例如如何减小源域与目标域的分布差异,以及如何更有效地利用标签信息等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值