Hi,大家好,我是半亩花海。 在上节说明了深度网络自适应(五种核心方法) 之后,本文主要将介绍深度迁移学习------深度对抗网络迁移(三种核心方法),主要内容包括:1)基本思路,通过生成器和判别器的对抗训练实现领域自适应;2)核心方法:DANN通过对抗损失实现特征对齐,DSN引入公共/私有特征分离机制,SAN提出选择性迁移解决负迁移问题;3)小结指出对抗网络是当前迁移学习研究热点。这些方法通过对抗训练机制,有效提升了跨领域知识迁移的性能。
目录
[1. DANN](#1. DANN)
[2. DSN](#2. DSN)
[3. SAN](#3. SAN)
生成对抗网络 GAN(Generative Adversarial Nets) Goodfellow et al., 2014 是目前人 工智能领域最炙手可热的概念之一。其也被深度学习领军人物 Yann Lecun 评为近年来最 令人欣喜的成就。由此发展而来的对抗网络,也成为了提升网络性能的利器。本小节介绍深 度对抗网络用于解决迁移学习问题方面的基本思路以及代表性研究成果。
一、基本思路
GAN 受到自博弈论中的二人零和博弈 (two-player game) 思想的启发而提出。它一共包 括两个部分:一部分为生成网络 (Generative Network),此部分负责生成尽可能地以假乱真 的样本,这部分被成为生成器 (Generator);另一部分为判别网络 (Discriminative Network), 此部分负责判断样本是真实的,还是由生成器生成的,这部分被成为判别器 (Discriminator)。 生成器和判别器的互相博弈,就完成了对抗训练。
GAN 的目标很明确:生成训练样本。这似乎与迁移学习的大目标有些许出入。然而,由 于在迁移学习中,天然地存在一个源领域,一个目标领域,因此,我们可以免去生成样本的 过程,而直接将其中一个领域的数据 (通常是目标域) 当作是生成的样本。此时,生成器的 职能发生变化,不再生成新样本,而是扮演了特征提取的功能:不断学习领域数据的特征, 使得判别器无法对两个领域进行分辨。这样,原来的生成器也可以称为特征提取器 (Feature Extractor)。
通常用 Gf 来表示特征提取器,用 Gd 来表示判别器。
正是基于这样的领域对抗的思想,深度对抗网络可以被很好地运用于迁移学习问题中。
与深度网络自适应迁移方法类似,深度对抗网络的损失也由两部分构成:网络训练的损 失 ℓc 和领域判别损失 ℓd:

二、核心方法
1. DANN
Yaroslav Ganin 等人 Ganin et al., 2016 首先在神经网络的训练中加入了对抗机制,作 者将他们的网络称之为 DANN(Domain-Adversarial Neural Network)。在此研究中,网络的 学习目标是:生成的特征尽可能帮助区分两个领域的特征,同时使得判别器无法对两个领域 的差异进行判别。该方法的领域对抗损失函数表示为:

其中的 Ld 表示为:

2. DSN
来自 Google Brain 的 Bousmalis 等人通过提出 DSN 网络 (Domain Separation Networks) Bousmalis et al., 2016 对 DANN 进行了扩展。DSN 认为,源域和目标域都由两部分构成:公共部分和私有部分。公共部分可以学习公共的特征,私有部分用来保持各个领域独立的特性。DSN 进一步对损失函数进行了定义:

除去网络的常规训练损失 ℓtask 外,其他损失的含义如下:
- ℓrecon: 重构损失,确保私有部分仍然对学习目标有作用
- ℓdif f erence: 公共部分与私有部分的差异损失
- ℓsimilarity: 源域和目标域公共部分的相似性损失
图 1是 DSN 方法的示意图。
图 1:DSN 方法示意图
DDC 方法的作者、加州大学伯克利分校的 Tzeng 等人在 2017 年发表于计算机视觉顶级会议 CVPR 上的文章提出了 ADDA 方法 (Adversarial Discriminative Domain Adaptation) Tzeng et al., 2017。ADDA 是一个通用的框架,现有的很多方法都可被看作是 ADDA 的特例。上海交通大学的研究者们用 Wasserstein GAN 进行迁移学习 Shen et al., 2018,Liu 等人提出了 Coupled GAN 用于迁移学习 Liu and Tuzel, 2016。这些工作都大体上按照之前思路进行。
3. SAN
清华大学龙明盛团队 2018 年发表在计算机视觉顶级会议 CVPR 上的文章提出了一个选择性迁移网络 (Partial Transfer Learning)。作者认为,在大数据时代,通常我们会有大量的源域数据。这些源域数据比目标域数据,在类别上通常都是丰富的。比如基于 ImageNet 训练的图像分类器,必然是针对几千个类别进行的分类。我们实际用的时候,目标域往往只是其中的一部分类别。这样就会带来一个问题:那些只存在于源域中的类别在迁移时,会对迁移结果产生负迁移影响。
这种情况通常来说是非常普遍的。因此,就要求相应的迁移学习方法能够对目标域,选择相似的源域样本 (类别),同时也要避免负迁移。但是目标域通常是没有标签的,不知道和源域中哪个类别更相似。作者指出这个问题叫做 partial transfer learning。这个 partial, 就是只迁移源域中那部分和目标域相关的样本。图 2展示了部分迁移学习的思想。
图 2:部分迁移学习示意图
作者提出了一个叫做 Selective Adversarial Networks (SAN) Cao et al., 2017 的方法来处理 partial transfer 问题。在 partial 问题中,传统的对抗网络不再适用。所以就需要对进行一些修改,使得它能够适用于 partial 问题。
因为不知道目标域的标签,也就没办法知道到底是源域中哪些类是目标域的。为了达到这个目的,作者对目标域按照类别分组,把原来的一整个判别器分成了 |C s| 个:Gk d , 每一个子判别器都对它所在的第 k 个类进行判别。作者观察到了这样的事实:对于每个数据点 xi 来说,分类器的预测结果 yˆi 其实是对于整个类别空间的一个概率分布。因此,在进行对抗时,需要考虑每个样本属于每个类别的影响。这个影响就是由概率来刻画。所以作者提出了一个概率权重的判别器:

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

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

三、小结
使用对抗网络进行迁移学习是近年来的研究热点。我们期待在这个领域会有越来越多 的工作发表。
四、参考资料
1. 王晋东《迁移学习简明手册》(PDF版) https://www.labxing.com/files/lab_publications/615-1533737180-LiEa0mQe.pdf#page=82&zoom=100,120,392
2. 《迁移学习简明手册》发布啦! https://zhuanlan.zhihu.com/p/35352154