这篇论文即将发表于 NIPS 2018(现在应该叫 NeurIPS 了),作者是清华大学的龙明盛团队。论文研究的还是 领域自适应(Domain Adaptation) 这一热点问题,在一些公共的数据集中,本文的方法取得了当前最优的结果。
论文动机
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 更好的结果,不过提升幅度有限,这可能是深度网络"渐进式"式的增长。
参考文献
[1] Ganin, Y. and Lempitsky, V. Unsupervised domain adaptation by backpropagation. In International Conference on Machine Learning (ICML), 2015.