没错,我就是那个为了勋章不择手段的屑(手动狗头)。快乐的假期结束了哭哭...
DANN 对抗迁移学习
域适应Domain Adaption-迁移学习;把具有不同分布的源域(Source Domain)和目标域(Target Domain)中的数据,映射到同一个特征空间。
GAN:生成对抗网络,包含生成器和判别器,有点类似博弈论的做法。
GAN+迁移学习:生成器不再是生成样本,而是进行特征提取工作。目标:从源域和目标域中提取特征,使得判别器无法区别提取的特征是来自哪个域。
好的可迁移特征:1-Domain-invariance,2.Discriminativeness
损失loss:训练损失和域判别损失
这里有一个疑惑,就是梯度反转层gradient reversal layer的作用?论文原文称之为GRL。
部分源码
下面对DANN的一个pytorch实现代码进行简要的分析。仅对网络的搭建代码进行说明。
1-梯度反转层的构建(GRL)
from torch.autograd import Function
class ReverseLayerF(Function):
@staticmethod
def forward(ctx, x, alpha):