【飞桨】【PaddlePaddle】【李宏毅机器学习特训营】迁移学习—Domain adversarial

【飞桨】【PaddlePaddle】【李宏毅机器学习特训营】

课程链接:https://aistudio.baidu.com/aistudio/course/introduce/1978

迁移学习—Domain adversarial

Domain adversarial 主要是应用在只有source data而没有target source 上,其可以看成是GAN的一种,思路是把source data 和 target data 转换到同样的邻域上,让他们有相同的分布。
由于如果神经网路无法用同样的特征表示这两种数据,那么就无法得到好的分类结果。
我们希望的是:在一个NN 中,前几个网络层的特征提取,把source data 和 target data 都转换成相同的特征。在这里插入图片描述
如果,没有转换成相同的特征,其结果如左图所示,而转换成相同的特征后就成为右边的结果。
在这里插入图片描述
绿色的部分表示在进行特征提取。
那怎么让我们这个特征抽取器做到这件事情呢?

这里需要引入一个领域的分类器(domain classifier),就像我们做GAN的时候引入的鉴别器。它也是一个神经网络。
在这里插入图片描述
红色部分是一个领域分类器
这个领域分类器的作用是,要侦测出现在特征抽取器输出的特征是属于哪个领域的(来自哪个分布的)。现在特征抽取器要做的事情是使这个领域分类器识别不出其来自哪个分布(即,使输入的分布转换成相同的分布)。
特征抽取器要做的是去除source 领域和target 领域不一样的地方,让提取出来的特征分布是很接近的。
但是如果只有这两个神经网络是不够的。因为绿色的特征抽取器可以轻易的骗过红色的分类器,只要它不管输入是什么,只把所有的输出都变成0就可以了。
因此,我们需要再引入一个其他的神经网路来约束其结果特征输出结果为相同的常数,如蓝色部分显示。这个是来约束产生更加合理的预测结果。这是一个很大的神经网络,但是这三个不同的部分有不同的目标。
预测器想要正确的分类输入的图片,分类器想要正确分别输入是来自哪个分布。它们都只能看到特征抽取器抽取后的特征。
抽取器一方面希望可以促使预测器做的好,另一方面要防止分类器做的好。
一样用梯度下降来训练,红色的分类器部分要调整参数,去让分辨领域的结果越正确越好;蓝色的预测器需要调参数,让标签的预测正确率越高越好;

这两者不一样的地方在于,当分类器要求绿色的抽取器去调整参数以满足以及的目标时,绿色的抽取器会尽量满足它的要求;还当红色的神经网络要求绿色的神经网络调整参数的时候,红色的网络会故意乘−1,以防止分类器做的好。domain classifier用于对输入图片属于source domain还是target domain进行分类,但是通过gradient reversal layer将该反传梯度取反,使得目标是“尽可能区分两域”,变成“尽可能不能区分两域”,使得两域特征融合。

最后红色的神经网路会无法做好分类,但是它必须要努力挣扎,它需要从绿色的NN给的不好的特征里面尽量去区分它们的领域。这样才能迫使绿色的NN产生红色的NN无法分辨的特征。难点就在于让红色的NN努力挣扎而不是很快放弃。
这就是我们所说的对抗性网路(GAN)。

域适应理论:该理论认为,要实现有效的域转移,必须基于不能区分训练(源)域和测试(目标)域的特征进行预测。

论文介绍

Domain-Adversarial Training of Neural Networks(DANN)[1]。这篇文章可以说是最早将对抗网络的思想引入到迁移学习领域中的,并且引发了很大的反响。后续有很多知名的研究者都跟进,在这篇文章的基础上进行了一些列改进和拓展。
建立一个映射函数将源域数据和目标域数据混在一个样本空间并且将样本混在一起。
特征提取器的作用就是映射函数 。但是我们并不知道 映射函数的具体形式,也就是说我们不知道特征提取器的训练目标是什么,无法用一个网络来拟合函数 。因此后面添加了域分类器,用来和特征提取器进行对抗训练。
在反向传播更新参数的过程中,域分类器和特征提取器中间有一个梯度反转层(Gradient reversal layer)

下面我们来看一下三个部分各自在训练时是如何计算的。具体的,以单隐层为例,对于特征提取器就是一层简单的神经元(复杂的任务中就是用多层,或者使用卷积层):
在这里插入图片描述

对于类别预测器(复杂任务中需要换成更深的网络进行映射和分类):
在这里插入图片描述

类别预测器损失函数:
在这里插入图片描述

对于域分类器:
在这里插入图片描述

域分类器损失函数:
在这里插入图片描述

总体的损失函数就是:
在这里插入图片描述

迭代时:
在这里插入图片描述
作者证明了即使是这种简单的网络还是能完成一些工作的。在文章后面作者使用了更加复杂的网络,在MNIST和MNIST-M这两个数据集上进行了实验,可以得到如下的对比图:
在这里插入图片描述

https://zhuanlan.zhihu.com/p/51499968

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值