迁移学习的目的,从一个知识迁移到另一个
Domain Adaption 是其中一种
因为比较喜欢简单通俗的写法, 而且本身不是很复杂,所以我用最简单的方式解释了文章的核心内容,至于把结果显示出来,也是为了方便对比,但要注意每个文章的对比有些许不同,比如所使用的基础架构不同,导致比对很奇怪。
基础文章:
Adversarial Discriminative Domain Adaptation
很简单, Classifier一致, 然后训练好Target Encoder 就好了
实验结果:
Maximum Classifier Discrepancy for unsupervised domain adaptation
思想很简单,就是训练两个discriminator, 让这两个产生‘尽量’不一样的结果
让不同的类别分开
其中Step A 是正常训练, 即
实验结果:
其思路是来源于相似网络
Duplex Generative Adversarial Network for Unsupervised Domain Adaptation
这篇文章采用了GAN架构, 中间的
最后的Loss分为三部分
Lg 是 Generator生成图像进入Discriminator所得loss
LD 是 原始图像进入Discriminator的loss
LC是原始图像的 分类loss (Encoder E)
实验结果:
M-ADDA: Unsupervised Domain Adaptation with Deep Metric Learning
其主要思想是把尺度学习融合进 领域自适应
根据上图很容易看出过程, 其中两个Encoder的作用是提取Feature,前面的训练由两个部分,
1是Source Encoder使用triple loss来训练, 而不是一般的CrossEntropy。
2是通过Discriminator判断是否为Source/Target 来训练Target Encoder
后面的Decoder部分是通过聚类拟合来完成:
从图中可以看出, 10个类别通过knn找出聚类点 以及一个KNN predictor, 然后
通过KNN predictor来输出Target Features的伪标签, 计算feature和最近聚类中心的距离作为Loss(把伪标签向拉近)
这个loss来训练Decoder,
最后的测试阶段则使用KNN predictor输出类别, (不是使用softmax之类)
Generate To Adapt: Aligning Domains using Generative Adversarial Networks
一幅图概括全部
说实话思想也简明,一目了然, 不需要太多介绍,
实验效果如下:
Collaborative and Adversarial Network for Unsupervised domain adaptation
这篇看似复杂,实则不然
其实是有很多的 Feature Extraction Block, 如上图,然后每个都做一个Domain Classifier, 1~m
不过特别的是对于
所以Loss很显然分成两部分, 上面的Classifier的loss 和下面一串的 Discriminator的Loss
这篇文章还有一个部分,因为前面的部分效果并不好。
所以加了一个iCAN
便是用增强伪标签, 即伪标签本来是 0.8 的数字1, 0.2的其他, 然后把伪标签改成1.0概率的数字1,在训练一遍
这就是
所以最后成了
实验
没有UPS - MNIST 的结果。。。