DANN-经典论文概念及源码梳理

这篇博客介绍了DANN(领域适应对抗网络)的工作原理,包括如何使用生成对抗网络(GAN)结合迁移学习来提取源域和目标域的不变特征。文章重点讨论了梯度反转层(GRL)的角色,它用于训练过程中反转特征提取层的梯度,以促进域不变性。博主分享了一段PyTorch实现DANN的代码片段,并邀请读者一起探讨学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

没错,我就是那个为了勋章不择手段的屑(手动狗头)。快乐的假期结束了哭哭...

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):
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值