NTU ML2023Spring Part2.12 领域自适应
domain shift: 训练资料和测试资料的分布不一样。
domain adaptation 可以看作是 transfer learning 的一种。详见这个视频
domain shift 有很多类型,这里只讨论输入数据分布不一样的情况。记作 source domain 和 target domain.
如果你在 target domain 上有一大堆有标注的资料,那根本不需要做 domain adaptation,只要拿这些资料直接训练就行了,不会有 domain shift 的问题。
要做 adaptation 的情况:
-
你只有少量的 target domain 里的有标注的资料。
一个做法是直接用这些资料来微调。但是要小心 overfitting 的问题。
-
你有大量的 target domain 里的资料,但没有标注。
训练一个 feature extractor,试图把共同的特征提取出来(即将 source domain 和 target domain 映射到同样的分布)
可以简单粗暴地把一个 image classifier 的前几层当作 feature extractor,然后设法让两个 domain 里的图片输出同样的分布就行了。这需要借助 domain adversarial training 的技术。
类似 GAN 的思路,我们训练一个 domain classifier 来判断 feature extractor 输出内容来自 source 还是 target,然后就是类似地训练,让 feature extractor 骗过 domain classifier。
-
你只有少量的 target domain 里的资料,而且还没有标注。
为什么不人工标注? -
你对 target domain 一无所知。
这时就不叫 domain adaptation 了,应该叫 domain generalization.
有点像 data augmentation 的做法。详见这里。

浙公网安备 33010602011771号