论文动机
Domain Adaptation 问题一直以来是迁移学习和计算机视觉领域等的研究热点。从传统方法,到深度方法,再到最近的对抗方法,都在尝试解决此问题。作者在本文中提出,现在的对抗方法面临两个挑战:
一是当数据特征具有非常复杂的模态结构时,对抗方法无法捕获多模态的数据结构,容易造成负迁移。通俗点说就是,现有的方法没有抓住深度特征之间的关系,只是把它们一股脑进行对抗适配。
二是当上面的问题存在时,domain classifier 就很容易出错,所以造成迁移效果不好。
论文方法
本文提出了基于条件对抗网络的领域自适应方法,英文名叫做 Conditional Adversarial Domain Adaptation。从题目中不难看出,主要由 Condition + Adversarial + Adaptation 这三部分构成。
进行 condition 的时候,用到了一个叫做 multilinear map 的数学工具,主要是来刻画多个特征和类别之间的关系。下面我们分别进行描述。
对抗网络基本结构
发表于 ICML 2015 的经典文章 Unsupervised domain adaptation by backpropagation[1] 中提出了用对抗的思想进行 Domain Adaptation,该方法名叫 DANN(或 RevGrad)。核心的问题是同时学习分类器 G、特征提取器 F、以及领域判别器 D。通过最小化分类器误差,最大化判别器误差,使得学习到的特征表达具有跨领域不变性。
作者指出,DANN 的方法只是关注了数据特征的整体分布,忽略了和类别之间的相关性。因此,本文首先提出,要将特征和类别一起做自适应。公式如下:
其中,f 和 g 分别是特征和类别。通过类似于 GAN 的最大最小优化方法,就可以进行 Domain Adaptation。
条件对抗机制
联合优化 (f,g) 的方法很多,将它们的特征向量连接起来是最直接的方法。但是这会造成它们彼此之间还是相互无关。达不到控制条件的目的。
作者借鉴了数学上的多线性映射(Multilinear Map)概念,来表征特征和分类器彼此之间的关系。什么是多线性映射?通俗点说就是,f(x)→y 是单映射,f(x,y)→z 是双映射,以此类推。线性呢?当固定其他自变量时,f 对未固定的那个自变量满足线性性(就是可加性、数乘不变),维基百科上对多线性映射的解释太抽象了。
那么,如何进行多线性映射?用 f⊗g。这里的 ⊗ 表示张量乘法,就是很多维的矩阵的乘法。
由于在深度网络中,特征维度往往很高。为了解决维度高导致的计算复杂度增加的问题,作者引入了相应的计算方法:
就是说,当数据维度太高时,直接从特征里随机采样一些向量做乘法。否则,用作者提出的方法做映射。
条件对抗网络
为了应对那些对迁移有负面影响的样本,作者用熵来控制它们的重要性,把熵操作加到了对抗网络中。
整个网络的优化目标如下:
作者还在文章中分析了方法的理论误差上界。
实验
实验部分与传统的 Domain Adaptation 相同,在 Office-31,ImageCLEF-DA,Office-Home,MNIST,USPS,以及 SVHN 这些公开数据集上都进行了实验。
实验比较充分,详细结果可以看原文。从结果上来说,取得了比作者之前的 JAN 更好的结果,不过提升幅度有限,这可能是深度网络"渐进式"式的增长。