CVPR 2018之迁移学习解读(二): Partial Transfer Learning with Selective Adversarial Networks
简述:
当前,目标迁移任务中的生成对抗网络GAN的核心目的是在于它的生成器G,而至于为什么存在判别器D,主要是为了引入对抗训练,通过对抗训练的方式让生成器能够生成高质量的图片。本文是基于GAN网络的一种具体案例的延伸。
作者认为,在大数据时代,通常我们会有大量的源域数据。这些源域数据比目标域数据,在类别上通常都是丰富的。比如基于 ImageNet 训练的图像分类器,必然是针对几千个类别进行的分类。我们实际用的时候,目标域往往只是其中的一部分类别。这样就会带来一个问题:那些只存在于源域中的类别在迁移时,会对迁移结果产生负迁移影响。所以,本文引入了一个新的转移学习问题,假设目标标签空间是源标签空间的一个子空间,提出了部分迁移学习(partial transfer learning)。这个 partial, 就是只迁移源域中那部分和目标域相关的样本。如下图,源域有沙发、足球、望远镜的标签,目标域只有足球和望远镜的标签,入如果不能partial transfer learning,这样会产生一定的负迁移,影响性能。本文是第一个研究对抗性网络中的部分转移学习问题。
问题or相关工作:
在标准转移学习中,主要的挑战1.是目标域没有标记数据,因此,在源域Ds上训练的源分类器Gy由于p ≠ q的分布差异,不能直接应用于目标域Dt。挑战2.是我们甚至不知道源域标记空间Cs的哪一部分与目标。域标记空间Ct共享,因为Ct在训练过程中是不可访问的。我们提出了一个新的选择性对抗网络,通过解决两个挑战来实现部分迁移学习。(1)通过过滤属于离群(outlier)值标签空间Cs\Ct的不相关源标记数据,规避负迁移。(2)通过最大程度匹配共享标签空间Ct中PCt和q的数据分布,促进正迁移。
目前有两种主流的对抗网络:
一是域对抗的网络(Domain Adversarial Network),主要适用于源域和目标域空间一致问题,即Cs = Ct。
域对抗网络是通过提取可转移特征来减少源域和目标域之间的分布偏移,为了提取域不变特征f,特征提取器Gf的参数θf,学习了通过最大域判别器Gd的损失,而域判别器Gd的参数θd,学习了通过最小化域判别器Gd的损失。此外,标签预测功能的损失也被最小化。域对抗网络的目标是实现以下功能:
其中,λ是一个在学习中对两个目标特征提取的权重参数。训练后收敛,参数θf,θy,θd函数:
二是选择性对抗的网络(Selective Adversarial Network),适用于目标域标签空间是源域标签空间的一个子集,Ct⊂Cs。因此,匹配整个源域分布p和目标域分布q将导致离群值标签空间Cs\Ct引起的负迁移。与目标标记空间Ct相比,离群标记空间Cs\Ct越大,负迁移效应越严重。为了对抗负迁移,我们应该在执行域对抗性适应时,在Cs\Ct中找到一种方法来选择离群源类以及相关的源标记数据。
因为不知道目标域的标签,也就没办法知道到底是源域中哪些类是目标域的。G为了达到这个目的,作者对目标域按照类别分组,把原来的一整个判别器分成了 |Cs| 个:G_d^ k,每一个子判别器都对它所在的第 k 个类进行判别。由于目标域标记在训练中不可访问,决定哪个域分辨器G_d^k对每个目标域数据负责并不容易。而label预测器的输出是源域标记空间的概率分布,该分布描述了Xi该分为Cs中的哪一类。因此,在进行对抗时,需要考虑每个样本属于每个类别的影响。这个影响就是由概率来刻画。所以作者提出了一个概率权重的判别器,这样生成概率加权的域分辨损失:
其中G_d^ k是第k个域分辨器,L_d^k是交叉熵损失,di是Xi的域标记。
多分辨器域对抗网络可以进行细粒度的自适应,每个数据Xi仅与相关的域分辨器匹配。同时降低源域中outlier类的域分辨器,对域分辨器进行类别级的加权:
其中,是k类的类别级权值(class-level weight),对于outlier类别来说很小。
上面这个式子比较依赖于之前说的每个样本的预测概率。为了消除这个影响,作者又在目标域上加了一项熵最小化。
其中,H(·)为条件熵损失函数:。
综合所有这些因素,本文提出的选择性对抗网络(SAN)的最终目标是:
损失函数第一项就是传统的交叉熵损失函数,如果只看这一项的话就相当于是在源域上做有监督学习。第二项是半监督学习里面的一个低密度分离这一概念的损失函数表达式,这一项的作用是将最后分类得到的各个类别之间能够拉的更开,即不同类别数据之间可以分的更开。那么怎么实现分的更开呢?这就通过无监督学习里一个概念熵最小化原理来实现,信息熵可以体现出一段信息的信息量,而熵最小的时候就是最稳定的时候,即各类分的最开,最不易混淆的时候,第三项就是这篇文章的精髓所在,这个就是上文提及的域分类器,这里的损失函数G_d^k仍是交叉熵的形式,前面不同的标签预测值y是个概率值,表示这一类属于源域且属于目标域的可能,从而各类样本属于异常类的权值低,而属于相关类的权值高。第三项损失的意义是说每个子判别器通过可能性权重来进行有监督优化,同时每个子判别器又通过权值相乘进行结合而成,其中样本属于异常类的权值低,而属于相关类的权值高。而前两项是通过最小化来实现准确,最后一项前面的负号则是因为上面提到的要最小化Gy并最大化Gd。
网络:
本文提出的SAN网络是由DaNN网络改变而成,图中,黑色部分是传统的DaNN网络的组成部分,蓝色部分则是SAN所独有的改变源域类别权重的新网络结构。
本文提出了部分转移选择性对抗网络(SAN)学习,f是提取的深层特征,^y是预测数据标签,和 ^d预测域标签;Gf是特征提取器,Gy和Ly是标签预测器及其Loss,Gkd和Lkd是区域鉴别器及其Loss;GRL表示梯度反转层。
Gf是传统的特征提取器,即几个卷积层叠加,获取源域图像的特征向量; G_d^ k表示第k类的类别鉴别器,它的作用是输出一个概率值,表示输入的样本属于该类别的可能性,^ d表示预测的域标签,这个标签值表示的是该类样本既属于目标域又属于源域的可能性,G_d^k则表示第k类样本的域判别损失,这个损失函数依然是交叉熵损失函数的形式,但是这里由y与 ^d组成。同时考虑了源域与目标域的特征提取,达到提取共同特征的目的,这里y是预测的标签值,当然这个值也是假的,因为softmax函数输出的实际是一种可能性概率值,现在将概率值当做标签值用于损失函数。所以总体思路就是先按照传统DaNN网络来提取源域与目标域的共同特征,同时构建新网络结构对每一类别进行分析,使属于源域但不属于目标域的类别权重变小,既属于目标域又属于源域的类别权重不变,这样将partial transfer learning问题转化为传统迁移学习问题。
成果:
评估基于三个公共数据集:Office-31, Caltech-Office和ImageNet-Caltech
下面这两个表格展示了在三个数据集上不同网络的分类准确率:
本文还分析了RevGrad网络和SAN网络目标域数量的多少对分类准确率的影响:
当目标类的数量减少时,RevGrad的性能迅速下降,这意味着当域间隙增大时,负迁移变得更加严重。当目标类数从31个减少到20个时,SAN的性能下降,出现负迁移问题,但迁移问题本身仍然比较困难;当目标类的数量从20减少到10时,SAN的性能会提高,其中迁移问题本身变得更容易。当目标类的数量减少时,SAN的性能优于RevGrad的差距会变得更大。当目标数为31时,SAN在标准迁移学习设置方面也优于RevGrad。
还分析了不同网络的10个目标类数和31个目标类数的敛散性,如下:
可以看出SAN网络SAN收敛速度快,收敛稳定,收敛到最小的测试误差,这意味着可以有效地、稳定地训练它,使正迁移和负迁移同时发生。
参考****文献:
https://blog.****.net/weixin_37993251/article/details/89339287
https://blog.****.net/cv_family_z/article/details/92793222
https://blog.****.net/lwpyh/article/details/86558132