论文笔记-Drop to Adapt: Learning Discriminative Features for Unsupervised Domain Adaptation
论文信息
Adaptation Strategy: Extracting Discriminative Features for Unsupervised Domain Adaptation
论文作者:Seungmin Lee, Dongwan Kim, Namil Kim, Seong-Gyun Jeong
研究机构:首尔国立大学,NAVER LABS, CODE42.ai
论文出处:ICCV 2019
引用信息:
@inproceedings{DBLP:conf/iccv/LeeKKJ19,
author = {Seungmin Lee and
Dongwan Kim and
Namil Kim and
Seong{-}Gyun Jeong},
title = {Drop to Adapt: Learning Discriminative Features for Unsupervised Domain
Adaptation},
booktitle = {2019 {IEEE/CVF} International Conference on Computer Vision, {ICCV}
2019, Seoul, Korea (South), October 27 - November 2, 2019},
pages = {91--100},
publisher = {{IEEE}},
year = {2019},
url = {https://doi.org/10.1109/ICCV.2019.00018},
doi = {10.1109/ICCV.2019.00018},
timestamp = {Thu, 05 Mar 2020 13:43:22 +0100},
biburl = {https://dblp.org/rec/conf/iccv/LeeKKJ19.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
代码链接:https://github.com/postBG/DTA.pytorch
论文主要贡献和参考价值
主要贡献:
* 提出 UDA 通用框架,基于对抗 dropout 实现
参考价值:
* 域适应方法
论文要点翻译
摘要
- 最近的研究主要表明,在处理跨领域适应时广泛采用的是基于对抗训练的方法来生成领域无关性高的特征表示,并结合了特征提取技术和领域鉴别器网络来进行协同优化;然而这些现有技术仍存在一定的优化局限性
- 我们提出了一种名为DTA(Drop to Adapt)的新算法,在这一框架下通过引入抗性丢弃技术来增强模型对不同领域的适应能力
- 实验结果显示,在图像分类与语义分割等典型任务上该算法均展现了显著的优势
引言
- 深度神经网络的引入显著提升了多种视觉任务在大数据集上的性能水平。
- 在训练深度神经网络时通常需要大量标注数据支持这一过程往往耗时耗力。
- 此外无法获取的数据来源往往集中在危险场景或者低发生率事件中导致标注资源的获取面临诸多限制。
- 为解决这些问题研究者提出了使用合成数据集的方法其中合成数据易于获取不同场景下的标注信息从而弥补了真实数据的不足。
- 为了更好地利用合成数据集域适应算法成为当前研究热点领域适应的目标是在源域丰富标注条件下训练出强表现模型并将其应用到目标域上。
- 然而由于目标域与源域之间存在固有的差异仅基于源域训练出的模型难以直接应用于目标域导致典型的domain shift问题影响模型泛化能力。
- 因此本文针对这一领域问题提出了一种改进方法。
- 本文主要聚焦于无监督领域适应UDA问题其核心在于完全无标签的目标域数据如何实现有效的学习。
- 最近的研究工作主要通过域对抗训练来实现源目标域数据分布的对齐这些方法通过判别器提取出具有领域无关特征从而使得分类器能够在不同领域上获得较好的表现。
- 然而现有方法存在不足即由于判别器仅关注于特征对齐而未考虑类别标签可能导致提取到特征同时具备领域无关性又与类别判别产生冲突进而影响模型性能。
- 针对上述问题本文提出了一种基于聚类假设的方法认为决策边界应位于特征空间中的稀疏区域如果未进行模型适应则无法获得有判别性的特征因此本文通过调节决策边界的位置实现了更好的领域适应效果。
- 具体而言本文提出了一种名为DTA的方法它通过对抗性dropout的方式使得目标域上的聚类假设同样成立这一方法同时考虑了元素级和通道级的对抗性策略分别应用于全连接层和卷积层并通过关联损失函数实现了跨任务学习效果。
- 本文的主要贡献包括:
- 提出了一个适用于UDA框架的新方法基于对抗性dropout实现
- 在多个图像分类基准数据集上进行了实验并验证了与现有SOTA方法相比具有更好的性能
- 将该方法成功扩展到了语义分割任务上实现了多任务学习效果
相关工作
- 域适应:不同度量手段设定理论上限;特征重排采用对抗训练策略;域对抗训练为关键机制;探索如何使目标数据分布远离决策面;ADR为本文框架基础:基于两个分类器设计;对于同一目标样本集;通过最大化两者预测差异实现分类器更新;基于最小化预测差异原则进行特征提取器优化;最终达成提升模型鲁棒性目的
- Dropout:随机丢弃神经元是一种强大的正则化技术(防止模型过拟合)
方法
无监督域适应,UDA
源域的数据 S=\{X_s,Y_s\} 与目标域的数据 T=\{X_t\} 通过 also 正提取器 f(\mathtt x,m_f) 进行关联学习。其中参数m_f 表示 dropout 遮盖层,在特征提取器任一层次上均可应用。其输入则为源域与目标域数据的联合分布x \sim S \cup T ,经过计算得到隐层向量表示。其输出则为分类器c(\cdot;m_c) ,该分类器同样可以在任一层次上应用 dropout 遮盖层m_c 。最终得到的结果则可表示为h(x;m_f,m_c)=c(f(x;m_f);m_c)
对抗 dropout
30
30
30
该系统具有显著的效果,在测试集中的实验表明其性能优于现有方法的基础上实现了自适应地优化特征提取的能力。为了实现这一目标,在现有框架的基础上进行了多方面的改进:首先提出了基于注意力机制的自适应特征提取模块;其次设计了一种新的损失函数以更好地平衡各子任务间的相关性;最后引入了多模态融合策略以进一步提升模型鲁棒性。
首先设定 DP 隐藏层 m ,该隐藏层应用于 H 网络的中间层部分。为了简化描述 ,本文将 H 进行分解为两个子网络 H_l 和 H_u 。具体而言 ,计算过程可表示为:H (x ; m ) = H_u (m ⊙ H_l (x )) ,其中 ⊙ 符号代表元素级相乘操作 。需要注意的是 ,H_l (x ) 和 m 参数具有相同的维度 。此外 ,假设 D [p , p '] ≥ 0 用于衡量两个概率分布之间的差异程度 。对于输入的不同预测结果(通过不同设置的 DP 隐藏层参数)之间的对比关系 ,其散度定义如下:D [H (x ; m^s ), H (x ; m ) ] = D [H_u (m^s ⊙ H_l (x )) , H_u (m ⊙ H_l (x )) ]
在对抗训练中(或可简略),我们定义一种称为EAdD的方法,在对抗训练中(或可简略),我们定义一种称为EAdD的方法,在对抗训练中(或可简略),我们定义一种称为EAdD的方法,在对抗训练中(或可简略),我们定义一种称为EAdD的方法,在抗
基于 EAdD 的扩展方法 CAdD,在保留原有特性的同时增加了对卷积层的支持能力;从而支持多种任务的应用场景;该方法直接通过丢弃整个特征图来实现抗受干扰能力的提升;其中 h_l(x) 的第 i 个激活图由 m(i) =\mathbf{0}\ or\ \mathbf{1} 定义(对于所有 i ∈ {1, ..., C});因此 CAdD 可被视为一种对抗示例生成机制:m^{adv}=\mathtt{argmax}_m D[h(x;m^s), h(x;m)];在此定义下满足约束条件 (1/(HW))\sum_{i=1}^C \|m^s(i)-m(i)\| \leq \delta_c C
DTA
与以往方法不同,在本文中我们采用统一的目标函数来优化所有网络 L(S,T)=L_T(S)+\lambda_1 L_{DTA}(T)+\lambda_2 L_{E}(T)+\lambda_3 L_{V}(T)。该目标函数由四个部分组成:任务损失 L_T(S)、域适应损失 L_{DTA}(T)、熵最小化损失 L_E(T) 和虚拟对抗训练损失 L_V(T)。
其中 L_T(S)=-\mathbb E_{(x_s, y_s) \sim S}\left[\log h(x_s)^{y_s}\right]。
此外,在计算L_{DTA}(T)时我们将其划分为两部分:
首先通过随机丢弃和对抗丢弃分别最小化同一输入的预测结果分布之间的散度,
其中一个是使用随机丢弃的模型预测结果,
另一个则是基于对抗丢弃设计的模型预测结果,
并且我们采用KL散度作为衡量标准,
因此有:
L_{fDTA}(T)=\mathbb E_{x_t \sim T} D[h(x;m_f^s),h(x;m_f^{adv})]=\mathbb E_{x_t \sim T} D_{KL}[h(x;m_f^s)\|h(x;m_f^{adv})]
在此基础上,
我们进一步将AdD应用于分类器的设计上,
由于分类器采用的是全连接层结构,
因此可以得到:
L_{cDTA}=\mathbb E_{x_t \sim T} D_{KL}[h(x;m_c^s)\|h(x;m_c^{adv})]
L_E(T)代表在分布T下对h(x_t)进行计算得到的期望值,并取其负值;
L_V(T)则是衡量在扰动范围\epsilon内函数h(x_t)的最大可能变化程度,
其中\mathbb{E}_{x_t \sim T}表示从分布T中抽取样本x_t计算期望,
而\max_{\|r\|\leq \epsilon}则是在扰动幅度不超过\epsilon的情况下寻找最大的变化量,
这里的h(x_t + r)表示对输入x_t施加扰动r后的函数输出,
而D_{KL}则表示两个概率分布之间的KL散度,
最终L_V(T)反映了在扰动情况下模型输出分布的变化特性;
