李宏毅领域自适应学习日志


前言

了解Data Adaptation中的Domain Adaptation


一、数据适应是什么?

是一种机器学习和深度学习领域的技术,用于使模型能够在源域和目标域之间进行泛化。源域是指训练数据的分布,而目标域是指实际应用场景中数据的分布。在许多情况下,源域和目标域之间可能存在分布差异,这可能导致在源域上表现良好的模型在目标域上泛化性能较差。
数据适应的主要目标是通过调整或转换模型或数据,使模型能够在目标域上取得良好的性能。

二、域偏移(Domain Shift)

域偏移Domain Shift:训练数据和真实数据来源于不同分布,有训练数据集A,测试数据集B,B和A有联系但又有差别,无法完全适配。如A医院的数据训练的模型,应用于B医院的预测,结果往往不准。在比如训练黑白数字识别,应用到预测彩色的图片时。
在这里插入图片描述

三、领域自适应(Domain Adaptation)

1.迁移学习(Transfer Learning)

transfer learning:在A任务上学到的内容,应用于B任务。

2.领域自适应(Domain Adaptation)

Domain Adaptation是一种解决域偏移的手段。也可以看做时transfer learning的一种,训练的是一个domain,测试资料是另一个domain。将已拥有的训练domain应用于测试domain时,要对测试domain有一定的了解,如在现实场景中,我们所需要处理的数据源是复杂的,有可能训练Domain (Source Domain)和测试Domain(Target Domain)都有充足的数据和标签,有可能只有Source Domain有标签,还有可能有充足的Source和Target Domain的源数据,但是两个数据集都只有部分标签。如果都有标签,那么不用进行domain adaptation。如果target domain上有标注,但是量很少,可以用有标注的资料,微调在source domain上训练出来的模型,注意不要出现overfitting。
而如果面对target domain上存在大量没有标注的资料,如何训练source domain的资料。
在这里插入图片描述
虽然source domain和target domain表面上看起来不同,feature extractor会把他们不同的拿掉,抽取出相同的feature,希望feature extractor学习忽视颜色的不同。
在这里插入图片描述
domain的classifier是一个二元的分类器,用于区分输入进来的image来自source还是target。而feature extractor的目标就是想办法骗过domain classifier,功能类似于Generator(目前还没看懂generator具体如何实现)。Label predictor的功能就是输出预测的值。Domain Classifier的功能就是让判断source/target的Loss(θd)越来越低,也就是分类的效果越来越好。Label Predictor的功能是让预测的Loss(θp)越来越低。而Feature Extractor的功能是站在Label Predictor正确的情况下(θp降低),站在Domain Classifier相反的方向(θd增加),θf是Label Predictor的Loss减去Domain Classifier的Loss。(这里既要求Feature Extractor的Loss小,也就是Domain Classifier的Loss大,又要求Domain Classifier的Loss小,可能这种方法不一定是一个好的方法)。

Domain adversrial training的效果:
在这里插入图片描述
在traget训练,target上预测的效果>90%。在source上训练,target上预测,正确率下降很多。而通过domain adversrial training,效果变好很多。

在这里插入图片描述
这个方法有一个限制,蓝色圆和三角形表示在source上的两个分类,找一个边界将这两类分开。Target的上的都用正方形来表示。目标是让方形的分布和圆和三角的分布越接近越好。明显右边的分布比左边的分布更加好。方法:既然已经知道将圆和三角分开的分界点,就让正方形远离分界点,就算不知道这个方的类别,要让方集中在某一个类别里。远离分界点的方法,有DIRT-T、Maximum Classifier Discrepancy等。

在这里插入图片描述
还有一个问题,就是source和target里面的标签不一定完全相同,可能出现很多情况,如source里面的多,target里面的少。或者相反。也或者source和target的label只有一部分重合,每个domain里面都有对方没有的标签。这样如果强行分类,可能就会出现让狗和狮子分为一类等等情况。解决方法在Universal domain adaptation(https://openaccess.thecvf.com/content_CVPR_2019/html/You_Universal_Domain_Adaptation_CVPR_2019_paper.html)。
另一个情况,不仅target domain没有标签,而且数据量很少,如果用之前的方法,是无法进行分类的(解决方法:Testing Time Training。https://arxiv.org/abs/1909.13231)。


总结

学习视频地址:https://www.bilibili.com/video/BV1ES4y137ie/?spm_id_from=333.880.my_history.page.click&vd_source=3a369b537e1d34ff9ba8f8ab23afedec

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值