《小王爱迁移》系列之十一:选择性对抗迁移学习(Selective Adversarial Network)

《小王爱迁移》系列之十一:选择性对抗迁移学习(Selective Adversarial Network)

这次介绍一篇迁移学习牛人、清华大学龙明盛老师的工作:Partial Transfer Learning with Selective Adversarial Networks。这篇文章提出了一种更一般的迁移学习问题情境叫做partial transfer。作者也用对抗训练的思想构建了网络,进行partial transfer。最近他们团队刚刚基于这个思想被AAAI-18录用了一篇文章(Multi-Adversarial Domain Adaptation)。

Motivation

传统的迁移学习问题情境都是,源域和目标域的类别空间一样。现在作者认为,在大数据时代,通常我们会有大量的源域数据。这些源域数据比目标域数据,在类别上通常都是丰富的。比如基于ImageNet训练的图像分类器,必然是针对几千个类别进行的分类。我们实际用的时候,目标域往往只是其中的一部分类别。这样就会带来一个问题:那些只存在于source中的类别在迁移时,会对迁移结果产生负迁移影响。

这种情况通常来说是非常普遍的。因此,就要求相应的迁移学习方法能够对目标域,选择相似的源域样本(类别),同时也要避免负迁移。但是目标域通常是没有标签的,不知道和源域中哪个类别更相似。作者指出这个问题叫做partial transfer learning(部分迁移学习)。这个partial,我的理解就是只迁移源域中那部分和目标域相关的样本。

形式化定义就是,源域、目标域的类别空间分别是 \mathcal{C}_s\mathcal{C_t} ,传统迁移学习设定是 \mathcal{C}_s=\mathcal{C}_t,在partial transfer中,变成了 \mathcal{C}_t \subset \mathcal{C}_s 。通俗来讲,就是目标域类别只是源域类别中的一小部分。详情看下面这个图:source中有soccer-ball这个类,target中没有。

Method

作者提出了一个叫做Selective Adversarial Networks (SAN)的方法来处理partial transfer问题。从名字就可以看出是基于adversarial思想进行的。

普通的domain adversarial network

对抗网络可以很好地学习doman-invariant的特征,从而在迁移学习中能发挥很大作用。在学习时,这个对抗网络包含两个网络:一个是判别器 G_d (discriminator),它的作用是最大限度地区分source domain和target domain;一个是生成器 G_f (generator),它的作用是提取domain-invariant features,来迷惑判别器。因此,在应用于迁移学习时,优化目标就变成了

  • 通过最大化判别器 G_d 的loss来学习生成器的参数 \theta_f
  • 通过最小化判别器 G_d 的loss来学习判别器的参数 \theta_d
  • 同时也要最小化source domain上的分类器loss学习分类器参数 \theta_y

整个adversarial网络优化目标表示成了

C_0(\theta_f,\theta_y,\theta_d)=\frac{1}{n_s}\sum_{\mathbf{x}_i \in \mathcal{D}_s}^{} L_y(G_y(G_f(\mathbf{x}_i)),y_i) - \frac{\lambda}{n_s + n_t} \sum_{\mathbf{x}_i \in (\mathcal{D}_s + \mathcal{D}_t)}^{} L_d(G_d(G_f(\mathbf{x}_i)),d_i)

其中 (\theta_f,\theta_y,\theta_d) 是网络最后学习得到的参数,分别对应于生成器、分类器、判别器。这个式子前半部分是source domain的分类loss,很好理解,没有涉及到迁移;后半部分涉及到了迁移,是学习的主体。

Selective Adversarial Network

显然,上面的情况只适用于传统的迁移学习问题,即 \mathcal{C}_s=\mathcal{C}_t 。在partial问题中,不再适用。所以就需要对上面的式子进行一些修改,使得它能够适用于partial问题。

因为不知道target domain的标签,也就没办法知道到底是source domain中哪些类是target domain的。为了达到这个目的,作者对source domain按照类别分组,把原来的一整个判别器分成了 |\mathcal{C}_s| 个: G^k_d ,每一个子判别器都对它所在的第 k 个类进行判别。作者观察到了这样的事实:对于每个数据点 \mathbf{x}_i 来说,分类器的预测结果 \hat{\mathbf{y}}_i 其实是对于整个类别空间的一个概率分布。因此,在进行对抗时,需要考虑每个样本属于每个类别的影响。这个影响就是由概率来刻画。所以作者提出了一个概率权重的判别器:

L'_d=\frac{1}{n_s+n_t} \sum_{k=1}^{|\mathcal{C}_s|} \sum_{\mathbf{x}_i \in \mathcal{D}_s + \mathcal{D}_t}^{} \hat{y}^k_i L^k_d(G^k_d(G_f(\mathbf{x}_i)),d_i)

上面这个式子能很好地在partial transfer情景下,避免负迁移。这种约束是样本级别的,就是可以控制尽可能让更相似的样本参与迁移。除此之外,作者还介绍了一个类别级别的约束,可以很好地避免不在target domain中的那些类别不参与迁移。于是,进一步地,变成了下面的约束

L'_d=\frac{1}{n_s+n_t} \sum_{k=1}^{|\mathcal{C}_s|} \sum_{\mathbf{x}_i \in \mathcal{D}_s + \mathcal{D}_t}^{} (\frac{1}{n_t} \sum_{\mathbf{x}_i^{} \in \mathcal{D}_t}\hat{y}^k_i) L^k_d(G^k_d(G_f(\mathbf{x}_i)),d_i)

上面这个式子比较依赖于之前说的每个样本的预测概率。为了消除这个影响,作者又在target domain上加了一项熵最小化

E=\frac{1}{n_t} \sum_{\mathbf{x}_i \in \mathcal{D}_t} H(G_y(G_f(\mathbf{x}_i)))

所以最终的loss变成了:



Experiments

实验部分没啥可说的,都是常用的数据集。基于Office-31、Caltech-256,和ImageNet构建了一些partial transfer的任务,看出SAN比现在的一些adversarial深度方法都好。详细请看原文。

创新点

  1. 提出了一个新的问题情景,也比较说得通,更符合一般的情况,算是扩展了传统迁移学习;
  2. 其实这个问题再扩展一下,源域和目标域只共享了某一部分类别,就变成了ICCV-17的Open set问题。可以考虑用SAN解决一下Open sset;
  3. 方法本身并不难,难在这种简单的思路上。

References

[1] 本文讲解的paper: Zhangjie Cao, Mingsheng Long, Jianmin Wang, Michael I. Jordan. Partial Transfer Learning with Selective Adversarial Networks. arXiv 1707.07901.

[2] 利用了本文思想的AAAI-18文章:Zhongyi Pei, Zhangjie Cao, Mingsheng Long, Jianmin Wang. Multi-Adversarial Domain Adaptation. AAAI 2018.

[3] ICCV-17的open set:Pau Panareda Busto and Juergen Gall. Open Set Domain Adaptation. ICCV 2017.

[4] 与本文相关的domain-adversarial neural network文章与代码:

========================

[作者简介]王晋东(不在家),中国科学院计算技术研究所博士生,目前研究方向为机器学习、迁移学习、人工智能等。作者联系方式:微博@秦汉日记 ,个人网站Jindong Wang is Here

=================

更多《小王爱迁移》系列文章:

《小王爱迁移》系列之零:迁移学习领域著名学者和研究机构

《小王爱迁移》系列之一:迁移成分分析(TCA)方法简介

《小王爱迁移》系列之二:联合分布适配(JDA)方法简介

《小王爱迁移》系列之三:深度神经网络的可迁移性

《小王爱迁移》系列之四:深度适配网络(DAN)

《小王爱迁移》系列之五:测地线流式核方法(GFK)

《小王爱迁移》系列之六:学习迁移(Learning To Transfer)

《小王爱迁移》系列之七:负迁移(Negative Transfer)

《小王爱迁移》系列之八:深度迁移学习文章解读

《小王爱迁移》系列之九:开放集迁移学习(Open Set Domain Adaptation)

《小王爱迁移》系列之十:张量迁移学习(tensor unsupervised domain adaptation)

《小王爱迁移》系列之十一:选择性对抗迁移学习(Selective Adversarial Network)

《小王爱迁移》系列之十二:新年新气象-重新整理的迁移学习资源仓库

《小王爱迁移》系列之十三:在线迁移学习(online transfer learning)

「真诚赞赏,手留余香」
1 人赞赏
朱永北
文章被以下专栏收录
3 条评论