对抗判别式领域自适应

对抗判别式领域自适应

论文链接:https://ieeexplore.ieee.org/document/8099799/

文献:E. Tzeng, J. Hoffman, K. Saenko, and T. Darrell, “Adversarial discriminative domain adaptation,” in Proceedings of the 30th IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, 2017, vol. 2017-July, pp. 2962–2971, doi: 10.1109/CVPR.2017.316.

领域自适应技术在不匹配说话人识别的问题中非常有效。这篇文章是图像领域的判别式对抗自适应方法,也同样可以迁移至说话人识别领域。

摘要

目的:在无监督领域自适应问题中,对抗方法是减少训练分布和测试分布之间的差别、改善泛化性能的有效又短。但如今的生成式方法在判别判别任务上性能不佳,而判别式方法,尽管能处理较大的域变换,但还未充分利用对抗生成网络的损失函数。
数据与方法:作者提出了对抗自适应方法的广义框架,进而在此基础上,提出了对抗判别式领域自适应方法 (ADDA),该方法涉及判别式模型、无共享权重和 GAN 损失。提出的方法在三个任务上进行测试:无监督领域自适应基准任务 - 数字(MNIST、USPS 和 SVHN)、跨模态的自适应学习任务(NYUD)和跨视觉域的自适应学习任务(标准 Office - amazon, webcam, dslr)。
结果:在基准任务上,当源域和目标域相近时( MNIST ⇋ USPS \text{MNIST}\leftrightharpoons \text{USPS} MNISTUSPS),ADDA 与生成式方法相当;在跨模态的自适应学习任务上,大部分类别的分类性能得到了显著改进,但也存在性能降低的类别;在跨视觉域的自适应学习任务上,不同模型的ADDA都获得了一致的性能提升。

1. 引言

深度学习在各种任务和视觉领域上能够学到各种表示,然而,领域变化/领域偏差导致这些表示在新的数据集和任务上的泛化效果不佳。针对这一问题,典型的解决方法是在针对任务的数据集上进行精调。但是,获取用于精调深度网络的大规模数据是非常困难。

领域自适应方法可以减轻领域变化的有害影响,其思想是学习到两个领域的共同特征空间。其手段是以实现最小化领域变化的距离为目标优化表示,其中领域变化的衡量方法是:

  1. maximum mean discrepancy (MMD):计算两个域均值之差的范数;
  2. correlation distances (CORAL):匹配两个分布的均值和协方差;
  3. 对抗损失:例如 GAN 方法的损失、反向梯度、领域混淆的损失。

对抗自适应方法是通过关于领域判别器的对抗优化目标来最小化的领域散度距离,常见的案例如生成对抗网络让生成器产生让判别器误导的图片。不同的对抗自适应方法的设计需要考虑三点:

  1. 是否使用生成器,
  2. 采用何种损失函数,
  3. 是否共享跨域权重。

2. 广义对抗自适应

对抗无监督自适应方法的一般框架:

  1. 源域: X s X_s Xs 及其标签 Y s Y_s Ys p s ( x , y ) p_s(x,y) ps(x,y) 获得,

  2. 目标域: X t X_t Xt p t ( x , y ) p_t(x,y) pt(x,y) 获得,但是无标签,

  3. 目标:学习目标域表示 M t M_t Mt 和目标域分类器 C t C_t Ct,使得能够在测试阶段正确地分类目标样本,即便在缺少域注释的情况下;

  4. 领域自适应方法:学习源域的表示映射 M s M_s Ms 和源域的分类器 C s C_s Cs,然后学会适应在目标域上的模型使用。

  5. 对抗自适应方法:主要目标是正则化源域和目标域映射( M s M_s Ms M t M_t Mt)的学习过程,以实现最小化经验性的源域和目标域映射( M s ( X s ) M_s(X_s) Ms(Xs) M t ( X t ) M_t(X_t) Mt(Xt))分布之间的距离。最后使得源域分类器 C s C_s Cs 能够师姐用于目标域表示,而不需要再单独为目标域训练分类器,即 C = C s = C t C = C_s = C_t C=Cs=Ct

其中分类器的监督损失:
min ⁡ M s , C   L cls ( X s , Y s ) = − E ( x s , y s ) ∼ ( X s , Y s ) ∑ k = 1 K 1 [ k = y s ] log ⁡ C ( M s ( x s ) ) \begin{aligned} &\min\limits_{M_s,C}\,\mathcal{L}_{\text{cls}}(\mathbf{X}_s,Y_s)=\\ &\quad\quad-\mathbb{E}_{(\mathbf{x}_s,y_s)\sim(\mathbf{X}_s,Y_s)}\sum\limits_{k=1}^K\mathbb{1}_{[k=y_s]}\log{C(M_s(\textbf{x}_s))} \end{aligned} Ms,CminLcls(Xs,Ys)=E(xs,ys)(Xs,Ys)k=1K1[k=ys]logC(Ms(xs))
判别器的监督损失:
L adv D ( X s , X t , M s , M t ) = − E x s ∼ X s [ log ⁡ D ( M s ( x s ) ) ] − E x t ∼ X t [ log ⁡ ( 1

### 领域自适应与跨域小样本学习 #### 定义与背景 领域自适应旨在减轻源域和目标域之间的分布差异带来的负面影响,从而提高模型在未见过的目标域上的性能。对于跨域小样本学习而言,则是指在一个或多个源域上利用少量标注样本来提升模型对新类别的快速适应能力[^1]。 #### 方法概述 无监督领域自适应通过引入来自目标域的无标签数据来调整预训练模型参数,使得该模型能够在未经标记的新环境中表现良好。而领域泛化则侧重于构建具有广泛适用性的分类器,即使面对未知环境也能保持较高的准确性[^2]。 #### 对抗判别式领域自适应 为了克服因领域变化引起的表现下降问题,对抗判别式领域自适应采用了一种特殊的机制——即让两个相互竞争的学习者共同进化:一个是试图区分输入属于哪个领域的鉴别器;另一个则是努力混淆这个区别的生成器。这种方式有助于减少不同领域间特征空间的距离,进而改善迁移效果[^3]。 #### 跨域小样本学习的技术细节 一种有效的策略是在已有的特征提取框架基础上添加特定组件,比如`1×1`卷积层以及线性变换器\(A_\beta\)。这些额外模块可以在不改变原有结构的前提下显著增强系统的灵活性与鲁棒性。特别是在基于episode的小样本设置里,它们可以促进更广泛的模式识别并积累丰富的经验,最终实现更好的跨域适配性能[^4]。 ```python import torch.nn as nn class CrossDomainAdapter(nn.Module): def __init__(self, input_dim=512, output_dim=512): super(CrossDomainAdapter, self).__init__() self.conv_1x1 = nn.Conv2d(input_dim, output_dim, kernel_size=(1, 1)) self.transformer = nn.Linear(output_dim, output_dim) def forward(self, x): # Apply 1x1 convolution followed by linear transformation out = self.conv_1x1(x.unsqueeze(-1).unsqueeze(-1)).squeeze() transformed_features = self.transformer(out) return transformed_features ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值