领域对抗训练
领域对抗训练(Domain-Adversarial Training)是一种通过对抗学习来消除源域与目标域之间分布差异的迁移学习方法。它借鉴了生成对抗网络(GAN)的思路,在特征提取过程中迫使模型学习领域无关的特征表示。
核心思想
在传统的迁移学习中,模型在源域上训练良好,但面对目标域时性能往往大幅下降,原因是两个领域的特征分布存在差异(领域漂移)。领域对抗训练的目标是学习一种 领域不变的(domain-invariant)特征表示,使得基于该表示的分类器无法区分特征来自源域还是目标域。
架构组成
领域对抗网络由三个核心组件构成:
1. 特征提取器(Feature Extractor)
将输入映射到一个高维特征空间。特征提取器的目标是既能够提取用于下游任务的有用特征,又能够使这些特征的领域信息被混淆。
2. 标签预测器(Label Predictor / Task Classifier)
基于特征提取器的输出,预测输入在源任务上的类别标签。它通过最小化源域上的分类损失来驱动特征提取器学习判别性特征。
3. 域分类器(Domain Classifier)
基于特征提取器的输出,判断输入来自源域还是目标域。它通过最大化域分类准确率来捕捉特征中的领域差异信息。
梯度反转层(Gradient Reversal Layer, GRL)
领域对抗训练的关键技术是梯度反转层。GRL 在前向传播时不做任何变换(恒等映射),但在反向传播时将梯度取反再传递回特征提取器。
这意味着:
- 域分类器试图最小化其分类损失(准确区分源域和目标域特征)
- 特征提取器在 GRL 的作用下试图最大化域分类器的损失(混淆域分类器)
这种极小极大博弈迫使特征提取器学习到那些既对目标任务有用、又不受领域差异影响的特征。
训练流程
- 源域带标签数据经过特征提取器和标签预测器,计算分类损失 。
- 源域和目标域数据经过特征提取器和域分类器,计算域分类损失 。
- 总损失为 ,其中 控制领域混淆程度。
- 标签预测器只根据 更新;域分类器根据 更新;特征提取器根据 (通过 GRL)更新。
关键要点
域分类器只是为了调整特征提取器中的参数,使其学会提取目标域的特征,在后续推理过程中域分类器被完全丢弃。最终只有特征提取器和标签预测器被用于目标域的预测。
应用场景
- 跨领域情感分析:在标注充分的某领域情感数据上训练,迁移到未标注的其他领域
- 跨领域图像分类:如合成图像(源域)到真实图像(目标域)的迁移
- 无监督领域自适应:目标域完全没有标注数据,仅靠源域标签和两域数据分布进行适应
