Unsupervised Domain Adaptation by Backpropagation(2015)学习总结
本文的主要贡献是提出了一种全新的度量源域和目标域数据分布差异性的方法(基于对抗的方法)。
框架
本文的框架对三个部分进行训练:
- 一个是feature extractor,由卷积与池化层组成,用来提取特征;
- 一个是label classifier,使用全连接层与逻辑分类器;
- 一个是domian classifier,由全连接层与交叉熵分类器组成,它与feature extractor一起构成对抗网络的框架。
DANN的图像输入在训练阶段会经过特征提取网络feature extractor的映射将输入转换为一个D维的特征向量,然后DANN会生成两个分支:图像分类预测网络label classifier以及域分类网络domain classifier。源域的数据会经过图像分类预测网络,为图像预测标签;而源域的数据与目标域的数据都会经过域分类网络。
要想实现目标域的数据集的分类任务就必须让DANN把目标域数据看做成源域数据。那么在训练阶段我们要做的是如下两个任务,第一个则是实现源域数据集准确分类,实现现图像分类误差的最小化;第二个任务则是要混淆源域数据集和目标域数据集,实现域分类误差的最大化。
由于域分类器与图像分类器的输入都来自于特征提取器,但是域分类器的目标是最大化域分类损失,混淆目标域数据与源域数据,但是图像分类器的目标是最小化图像分类损失,实现图像的精准分类。那么这就导致特征提取器在进行参数更新时,域分类损失的梯度与图像分类损失梯度方向相反
。于是作者使用梯度反转层,使得在反向传播过程中梯度方向自动取反,在前向传播过程中实现恒等变换。
对抗的理解
方法中的对抗体现在对于domain classifier损失在训练阶段的要求:
一方面
我们希望学习到的特征具有域不变性,那么就需要domain classifier无法进行领域的分类(如果域分类器在训练良好的情况下无法分辨特征是来自源域还是目标域,那么说明源域特征和目标域特征的数据分布是相似的/对齐的,这个特征就可以看作是域不变特征),即要求最大化域分类误差;另一方面
我们要求分类器尽可能地做出正确的分类,即要求最小化分类误差。
在迁移学习中,如果可以在源域和目标域上,学习到一个公共的特征表示空间,那么在这个特征空间上,源域特征上学到的判别模型也可以用到目标域的特征上。所以该寻找公共特征表示空间的问题就是学习域不变特征
。而本文就是使用对抗网络的框架来学习域不变的特征。
参数的更新
网络中参数的更新方法如下:
这与一般的对抗网络中固定一个更新另一个的过程不同,该方法在一个循环里面对网络参数同时进行更新。在更新中如果不使用λ\lambdaλ参数,作者表明会使得训练得到的特征最小化domain classifier 的损失,也就是不能学到域不变的特征。
参考:
链接:https://www.jianshu.com/p/9a57cfb36e83
https://blog.csdn.net/a1154761720/article/details/51020105
https://blog.csdn.net/qq_30091945/article/details/104478550?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158441535819724835845919%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158441535819724835845919&biz_id=0&utm_source=distribute.pc_search_result.none-task