第13 章 迁移学习 李宏毅

118 阅读4分钟

实际应用中很多任务的数据的标注成本很高,无法获得充足的训练数据,这种情况可以 使用迁移学习(transfer learning)。假设 A、B 是两个相关的任务,A 任务有很多训练数 据,就可以把从A任务中学习到的某些可以泛化知识迁移到B任务。迁移学习有很多分类, 本章介绍了领域自适应(domain adaptation)和领域泛化(domain generalization)。

13.1 领域偏移

  领域自适应(Domain Adaptation)旨在解决源领域(训练数据)与目标领域(测试数据)分布不一致的问题,通过调整模型使其在目标领域上表现良好。以下是关键点总结:

领域偏移的类型

  • 输入分布偏移:源和目标领域的输入数据分布不同(如黑白 vs. 彩色图像)。
  • 输出分布偏移:标签分布不同(如某些类别在目标领域更常见)。
  • 输入-输出关系偏移:相同输入的标签在源和目标领域不同(罕见但存在)。

13.2 领域自适应

1. 领域自适应的核心思想

  • 特征对齐:通过特征提取器将源和目标领域的特征映射到同一空间,消除分布差异。
  • 对抗训练:引入领域分类器(Domain Classifier)迫使特征提取器生成领域不变特征。

2. 领域对抗训练流程

  • 组件

    • 特征提取器(θfθ_f :提取输入的特征,目标是欺骗领域分类器。
    • 标签预测器(θpθ_p :基于特征进行分类,需最小化源领域的分类损失 L。
    • 领域分类器(θdθ_d :判断特征来自源或目标领域,需最小化领域分类损失 Ld。
  • 优化目标

    • 标签预测器:θp=argminθpL\theta_p^* = \arg\min_{\theta_p} L
    • 领域分类器:θd=argminθdLd\theta_d^* = \arg\min_{\theta_d} L_d
    • 特征提取器:θf=argminθf(LLd)\theta_f^* = \arg\min_{\theta_f} (L - L_d),即同时最小化分类损失并最大化领域分类损失。

3. 对抗训练的挑战与解决方案

  • 挑战:特征提取器可能生成无意义特征(如全零向量),导致标签预测失效。

  • 平衡策略

    • 交替训练:固定部分参数,分阶段优化(如先训练领域分类器,再更新特征提取器)。
    • 梯度反转层(Gradient Reversal Layer):在反向传播时反转领域分类器的梯度,简化对抗过程。

4. 提升鲁棒性的方法

  用蓝色的圆圈和三角形表示源领域上的两个类别, 用正方形来表示目标领域上无类别标签的数据。可以找一个边界去把源领域上的两个类别分 开。训练的目标是要让正方形的分布跟圆圈、三角形合起来的分布越接近越好。在图13.7(a) 所示的情况中,红色的点跟蓝色的点是挺对齐在一起的。在图13.7 (b)所示的情况中,红 色的点跟蓝色的点是分布挺接近的。虽然正方形的类别是未知的,但蓝色的圆圈跟蓝色的三 角形的决策边界是已知的,应该让正方形远离决策边界。因此两种情况相比,我们更希望在 图13.7 (b)的情况发生,而避免让在图13.7(a)的状况发生。

  • 远离决策边界:确保目标领域的特征不仅对齐,还远离分类边界。

    • 最大分类器差异:利用多个分类器的差异作为正则项,迫使目标特征远离边界。
    • DIRT-T:通过迭代优化或置信度最大化,提升目标样本的分类确定性。 image.png

5. 实际应用场景

  • 目标领域无标注数据:使用对抗训练对齐特征分布。
  • 少量目标标注数据:微调源模型,控制学习率和迭代次数以避免过拟合。
  • 领域自适应效果:如在MNIST(黑白)到MNIST-M(彩色)的任务中,正确率从52.25%显著提升。

6. 总结

  领域自适应通过对抗训练减少领域间分布差异,解决领域偏移问题.核心在于特征提取器的设计及多组件的协同优化。其成功依赖于平衡分类性能与特征不变性,并结合后续方法(如远离决策边界)提升鲁棒性。