论文地址:Domain-Adversarial Training of Neural Networks(2015)
在深度学习任务中,数据集的差异性对模型的性能产生重要影响。为了解决这一问题,迁移学习成为一种有效的方法,利用源域(来自其他用户的数据或知识)来帮助目标域(新用户)进行学习。
深度预适应概述
深度域适应是一种常见的迁移学习子领域,主要关注的是领域适应问题。在域适应中,通常假设源领域和目标领域具有相同的样本空间,但数据分布不同。这导致了域适应问题的挑战。在这里插入代码片
根相深度神经网络在域适应方法中发的不同作用,深度域活应方法可以分为四类:基于领域分布美异的方、基于对抗的方法、基于重构的方法、基于样本生成的方法,四类深度域活应方法的基本待点列于在这里插入代码片
表中。
域对抗迁移网络DANN
DANN结构主要包含3个部分
- 特征提取器 (feature extractor): 图示绿色部分,用来将数据映射到特定的特征空间,使标签预测器能够分辨出来自源域数据的类别的同时,域判别器无法区分数据来自哪个域。
- 标签预测器 (label predictor) :图示蓝色部分,对来自源域的数据进行分类,尽可能分出正确的标签。
- 域判别器 (domain classifier):图示红色部分,域对抗网络引入一个领域判别器C来判断一个样本是来自于哪个领域。如果领域判别器无法判断一个映射特征的领域信息,就可以认为这个特征是一种领域无关的表示。
- 特征提取器和标签分类器构成了一个前馈神经网络。然后,在特征提取器后面,我们加上一个域判别器,中间通过一个梯度反转层 (Gradient inversion layer, GRL)连接。在训练的过程中,对来自源域的带标签数据,网络不断最小化标签预测器的损失。
损失函数
【标签预测器损失】在源域上,标签预测器的训练优化目标就是{上图}。损失表达函数与其他普通的神经网络差不多。其中第一项中的L表示第i个样本的标签预测损失。R是一个可选的正则化,lamda是人为设置的正则化参数,目的是用来防止神经网终过拟合。
【核心:域判别器损失】sigmoid作为激活函数。此时,域判别器的目标函数为{上图}。
【总损失】对抗迁移网络的总损失由两部分构成:网络的训练损失(标签预测器损失)和域判别损失。在这里,我们可以给出DANN的总目标函数为{上图}。