基于特征的对抗迁移学习论文_<EYD与机器学习>迁移学习:PTL选择式对抗网络...

35653c2f1e08de41ae7618c9b180f410.png

各位知乎儿大家好,这是<EYD与机器学习>专栏迁移学习系列文章的第四篇文章,在上次的文章中我们介绍了一个迁移学习与对抗网络结合的算法框架(笨笨:<EYD与机器学习>迁移学习:DANN域对抗迁移网络),这次我们依旧为大家介绍一篇关于对抗网络和迁移学习结合的论文:Partial Transfer Learning with Selective Adversarial Networks(SAN)[1]。这篇文章是由清华大学的龙明盛老师发表的,文中要解决的问题和我们之前介绍的论文的工作都有所不同,下面我来详细为大家介绍。

一、简介

之前介绍的迁移学习方法的前提是源域标记空间和目标域标记空间相同,也就是说源域和目标域的类别数量和内容都是相同的,但是在如今这个大数据时代这个假设过于严格了。网络上或者数据库里的数据是很丰富的,类别通常都会远远超过目标域的类别数量。例如我们想要构建一个图像的分类器,对一百类图像进行分类。当训练数据不足时我们可以借用ImageNet里的图片进行预训练,这就是一个迁移学习的过程,但是问题是ImageNet中有那么多类图像,到底哪些可以拿来进行预训练呢?一般情况下我们都是根据自己的经验为当前的目标任务选择可以迁移的源域,但是我们只能是以各种距离或者相似度来作为选择源域的依据,这样不仅会有很大误差,而且还会丢掉很多有用的信息。

针对上述问题,作者提出了选择式对抗网络,让网络能够自己为目标域选择合适的源域类别进行迁移。 不再假设源域和目标域的标记空间相同,而是假设目标域的标记空间是源域标记空间的一个子空间。如下图所示:

1e556b4620681e0fad043e0d90c3188d.png
图 1 PTL的假设前提

下面我们来学习一下PTL的具体工作原理。

二、Partial Transfer Learning with Selective Adversarial Networks(SAN)

选择式对抗网络(SAN)属于无监督迁移学习,即训练时目标域无带标记样本,但是源域有丰富的带标记样本,同时目标域的类别是源域类别的子集。其符号定义如下:

  • :表示源域数据
  • :表示目标域数据
  • :表示特征提取器
  • :表示类别预测器
  • :表示域判别器
  • :表示源域中的类别数
  • :表示目标域中的类别数

下面是SAN的网络结构:

83ad8580658d3dfbeb6e99a58d8a6008.png
图 2 选择式对抗网络

在图中

,表示源域的类别数,虽然这K个类别都属于源域,但是作者依然针对每个源域设计了一个域判别器。这样做的目的是不将目标域和源域看做两个整体,而是将两个域中的各个类当做单独的个体进行迁移。

中的第
个样本
进入网络时,每个域判别器都会产生一个判别结果,那么K个域判别器中哪一个的结果会对前面的特征提取器的训练产生影响呢?这时就要引入类别预测器的信息了,预测器会对
进行预测,并输出 K 个概率值,分别表示
属于源域的每一类的概率。那么这 K 个概率就可以对之前的域判别器的结果进行加权,第
类概率越大,则对应的那个域判别器的损失对于前面特征提取器的训练影响就越大。因此,域判别器的损失函数为:

b947b449876f3e8644b6fd3fbce13170.png

从上述过程中可以看出,在训练时是很依赖对目标域的预测结果的,然而目标域本身又是无标记的,无法直接训练,所以为了提高目标域预测结果的准确性,作者提出了条件熵这一损失函数:

b1968eb99fa0f455fd263186f1ef5d56.png

在上式中,样本

的预测结果记为
,则有:

因为

是一个常数,所以:

最小化条件熵的目的是让当前的预测结果

更加依赖当前的样本
,这样可以近似有监督的训练过程,从而提高预测结果的可靠性。

此外,和上一篇文章介绍的相同,源域数据是有标记的所以在训练类别预测器的时候是一个有监督过程,因此整个网络的损失函数为:

5c930a59a02262a32ec67fcd99e9a55d.png

由于是对抗网络,所以在训练时还是分成两步:

664f185856d3165018a23720ed7c8fdb.png

训练终止时会达到两个效果:第一,域判别器不能判断出输入给网络的样本时源域还是目标域;第二,类别预测器可以同时对源域样本和目标域样本进行分类。

SAN对于源域类别对于目标域类别的情况比其他迁移学习网络确实好了很多,下面是作者的实验结果:

e039d54f5d0f9996338c9198f7aeba64.png

图中蓝色点表示目标域样本,红色点表示源域样本,可以看出源域的类别比目标域多(簇的数量表示类别数量),SAN的适配结果是最好的。

三、总结

可以看出,SAN的本质和之前介绍的DANN区别不大,不过它在对抗网络这个框架下引入了源域类别选择的功能,能够在无目标域标记的情况下自主选择源域对应的样本进行迁移,为每个类别分别构建域判别器,不再将整个源域的各个类混在一起,剔除了源域中的不相关类,减少了负迁移。但是SAN由于设计了多个对抗网络(每个类一个域判别器),导致算法在类别比较多的时候没有办法很好的收敛。

本次文章中如果有哪些错误或者不严谨的地方,希望大家批评指正,后续我们会继续向大家介绍关于迁移学习的文章。

——Double编辑

参考文献

[1]

https://arxiv.org/pdf/1707.07901.pdf​arxiv.org
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值