论文信息
-
论文标题:Drop to Adapt: Learning 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)则是利用对抗的 dropout 来学习较强的具有判别性的特征,相应地,设计损失函数支持鲁棒的域适应
- 实验结果表明,本文的方法在图像分类和语义分割任务中都已经取得了较好的性能
-
引言
- DNN 的出现使得许多视觉任务在大规模数据的帮助下得到大幅度性能改进,训练 DNN 通常需要大量的数据和相应的标签,通常,标注的过程是费时费力的,此外,在许多危险或者出现概率较小的场景中的数据是无法收集的,因此,研究者也提出使用合成场景数据,其中的合成数据很容易获取不同场景的标注数据
- 为了更好利用合成数据集,域适应算法已经成为一个火热的研究领域,在域适应的条件设置下,可以利用具有丰富的标签数据的源数据域获得较强的性能,并将模型适应到缺乏标注数据的目标域,然而,由于目标域数据通常和源数据域有着天然的差异,只在源域数据训练的模型难以直接运用到目标域数据中,这就是典型的 domain shift 域偏差问题,也是导致源域数据训练的模型在目标域性能较差的主要原因,因此,本文针对域适应中的域偏差问题进行改进
- 本文主要解决无监督域适应 UDA 问题,其中的目标域数据是完全无标签的,最近的研究工作主要利用域对抗训练进行源域和目标域数据的分布对齐,这些方法使用域判别器获取域无关的特征表示,主要的假设在于如果特征表示是域无关的,则在源域特征上训练的分类器可以很好地作用到目标域上;但是,实际上,与对抗方法存在不足,由于域判别器只是简单地将两个域的特征进行对齐,没有考虑到类标签,可能提取得到的特征不仅仅是域无关的,同时也是对类别标签不可判断的,因此,很难针对具体任务到达较好性能
- 本文方法基于聚类假设,认为决策边界应当是在特征空间中的稀疏区域,没有模型适应的话,特征提取得到的是没有判别性的特征,因此,本文通过将决策边界远离目标域特征的方式进行域适应模型的学习,方法 DTA 利用对抗的 dropout 使得在目标域上聚类假设同样成立。准确来说,为了支持不同任务,本文引入元素级和通道级的对抗 dropout 操作,元素级用于全连接层,通道级用于卷积层,并设置关联损失函数
- 本文具体贡献:(1)提出 UDA 通用框架,基于对抗 dropout 实现;(2)在不同的图像分类基准数据集上测试方法并和 SOTA 方法进行比较;(3)将方法扩展到语义分割任务
-
相关工作
- 域适应:不同的散度衡量方法,定义上界;特征对齐方法,对抗训练策略;域对抗训练;决策边界与特征表示之间的关系;探索将目标特征分布远离决策边界的方法;ADR 是本文的基础,使用两个不同的分类器,对于相同的目标数据样本,分类器的更新主要是将两个预测结果之间的差异最大化,最后特征提取器的更新则是将两个预测结果之间的差异最小化
- Dropout:简单有效的正则化方法(随机选择部分神经元丢弃)
-
方法
-
无监督域适应,UDA
- 源域数据 S = { X s , Y s } S=\{X_s,Y_s\} S={Xs,Ys},目标域数据 T = { X t } T=\{X_t\} T={Xt},利用也正提取器 f ( x , m f ) f(\mathtt x,m_f) f(x,mf) ,其中的 m f m_f mf 表示 dropout 掩膜,可以在特征提取器的任意一层使用,特征提取的输入为 S 和 T 的联合分布 x ∼ S ∪ T x \sim S \cup T x∼S∪T 得到一个隐层向量,然后输出分类器 c ( ⋅ ; m c ) c(\cdot;m_c) c(⋅;mc) ,分类器一样的可以在任意一层利用 dropout 掩膜 m c m_c mc,最终的网络可以表示为 h ( x ; m f , m c ) = c ( f ( x ; m f ) ; m c ) h(x;m_f,m_c)=c(f(x;m_f);m_c) h(x;mf,mc)=c(f(x;mf);mc)
-
对抗 dropout
-
本文利用的是非随机的 dropout 机制,对抗 DP ,用于无监督域适应。对抗 DP 最开始提出主要是用于有效的监督和自监督学习的正则化手段,【30】中定义了两种不同的对抗 DP,一种是监督的 SAdD,另一种是虚拟的 VAdD,S 可以结合真实标注数据最大化模型预测结果和真实标签之间的散度;没有真实数据时候,V 用于最大化两个独立的预测结果之间的散度,由于缺乏目标域标签,本文条件下 S 不适用,因此本文将利用 V
-
AdD 是简单有效的,生成同一个输入的两个不同的结果,最终的目标是使得聚类假设在目标域数据上成立,主要通过将两个预测结果之间的散度进行最小化得到,为此,本文引入两种 AdD,一种是元素级的 EAdD,一种是通道级的 CAdD
-
首先,定义 DP 掩膜 m,该掩膜作用于 h h h 网络中的中间层,本文将 h h h 简化表示为子网络 h l h_l hl 和 h u h_u hu,则 h ( x ; m ) = h u ( m ⨀ h l ( x ) ) h(x;m)=h_u(m \bigodot h_l(x)) h(x;m)=hu(m⨀hl(x)),其中的 ⨀ \bigodot ⨀ 表示元素级的乘,m 和 h l ( x ) h_l(x) hl(x) 维度相同。假设 D [ p , p ′ ] ≥ 0 D[p,p^{'}]\ge 0 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 ) ) ] D[h(x;m^s),h(x;m)]=D[h_u(m^s \bigodot h_l(x)),h_u(m \bigodot h_l(x))] D[h(x;ms),h(x;m)]=D[hu(ms⨀hl(x)),hu(m⨀hl(x))]
-
EAdD: m a d v m^{adv} madv 定义为 $m^{adv}=\mathtt {argmax} _m D[h(x;m^s),h(x;m)] $ ,其中 ∥ m s − m ∥ ≤ δ e L \|m^s-m\|\le \delta_eL ∥ms−m∥≤δeL,L 表示 m 的维度, δ e \delta_e δe 表示控制的超参数,该目标函数使得能够最小地修改对抗掩膜后将 x 的不同通路输出结果之间的散度最大化,为了能够找到该掩膜,首先,对于 h l ( x ) h_l(x) hl(x) 中的每一个元素都近似一个因子值,该值和元素对增加散度的贡献程度成正比,如果该值为负,则说明元素会降低散度
-
CAdD:对 EAdD 的扩展,使其可用于卷积层,进而用于更多任务,CAdD 直接对抗地丢弃整个特征图; m ( i ) = 0 o r 1 } , ∀ i ∈ { 1 , … , C } m(i) =\mathbf 0\ or\ \mathbf 1\}, \forall i \in \{1,\ldots,C\} m(i)=0 or 1},∀i∈{1,…,C} 表示 h l ( x ) h_l(x) hl(x) 的第 i 个激活图,因此 CAdD 可以定义为 m a d v = a r g m a x m D [ h ( x ; m s ) , h ( x ; m ) ] m^{adv}=\mathtt{argmax}_m D[h(x;m^s),h(x;m)] madv=argmaxmD[h(x;ms),h(x;m)],此处的 ( 1 / ( H W ) ) ∑ i = 1 C ∥ m s ( i ) − m ( i ) ∥ ≤ δ c C (1/(HW))\sum_{i=1}^C\|m^s(i)-m(i)\|\le\delta_cC (1/(HW))∑i=1C∥ms(i)−m(i)∥≤δcC
-
-
DTA
- 和之前的方法不同,本文利用统一的目标函数优化所有网络 L ( S , T ) = L T ( S ) + λ 1 L D T A ( T ) + λ 2 L E ( T ) + λ 3 L V ( T ) L(S,T)=L_T(S)+\lambda_1 L_{DTA}(T)+\lambda_2 L_{E}(T)+\lambda_3 L_{V}(T) L(S,T)=LT(S)+λ1LDTA(T)+λ2LE(T)+λ3LV(T),分别表示任务、域适应、熵最小化、虚拟对抗训练等损失
- L T ( S ) = − E x s , y s ∼ S [ y s T log h ( x s ) ] L_T(S)=-\mathbb E_{x_s,y_s \sim S}[y_s^T\log h(x_s)] LT(S)=−Exs,ys∼S[ysTlogh(xs)]
-
L
D
T
A
(
T
)
=
L
f
D
T
A
(
T
)
+
L
c
D
T
A
(
T
)
L_{DTA}(T)=L_{fDTA}(T)+L_{cDTA}(T)
LDTA(T)=LfDTA(T)+LcDTA(T)
- 其中,最小化的是统一输入的不同预测结果分布之间的散度,其中一个是用随机 droput 的,另一个使用对抗 dropout 的,使用 KL 散度,因此 L f D T A ( T ) = E x t ∼ T [ D [ h ( x ; m f s ) , h ( x ; m f a d v ) ] ] L_{fDTA}(T)=\mathbb E_{x_t \sim T}[D[h(x;m^s_f),h(x;m_f^{adv})]] LfDTA(T)=Ext∼T[D[h(x;mfs),h(x;mfadv)]] 即 = E x t ∼ T [ D K L [ h ( x ; m f s ) ∥ h ( x ; m f a d v ) ] ] =\mathbb E_{x_t \sim T}[D_{KL}[h(x;m^s_f)\|h(x;m_f^{adv})]] =Ext∼T[DKL[h(x;mfs)∥h(x;mfadv)]]
- 相似地,将 AdD 作用到分类器,其中的分类器是全连接层,因此可以得到 L c D T A = E x t ∼ T [ D K L [ h ( x ; m c s ) ∥ h ( x ; m c a d v ) ] ] L_{cDTA}=\mathbb E_{x_t \sim T}[D_{KL}[h(x;m^s_c)\|h(x;m_c^{adv})]] LcDTA=Ext∼T[DKL[h(x;mcs)∥h(x;mcadv)]]
- L E ( T ) = − E x t ∼ T [ h ( x t ) T log h ( x t ) ] L_E(T)=-\mathbb E_{x_t \sim T}[h(x_t)^T\log h(x_t)] LE(T)=−Ext∼T[h(xt)Tlogh(xt)]
- L V ( T ) = E x t ∼ T [ max ∥ r ∥ ≤ ϵ D K L [ h ( x t ) ∥ h ( x t + r ) ] ] L_V(T)=\mathbb E_{x_t \sim T}[\max_{\|r\| \le \epsilon} D_{KL}[h(x_t)\|h(x_t+r)]] LV(T)=Ext∼T[max∥r∥≤ϵDKL[h(xt)∥h(xt+r)]]
-