NLP:迁移学习关于领域自适应的基础讲解
本文目录:
- 一、 领域自适应的核心思想
- 二、关键概念与符号
- 三、领域自适应的主要方法
- (一)基于差异度量的方法
- (二) 基于对抗生成的方法
- (三) 基于重构的方法
- 四、 一个实例:基于DANN的图像分类
- 五、领域自适应的应用场景
- 总结
前言:分享领域自适应思想。
一、 领域自适应的核心思想
定义:领域自适应是一种旨在解决数据分布不匹配问题的迁移学习技术。其目标是利用一个源领域(通常有大量标注数据)的知识,来提升一个在目标领域(数据分布不同,且通常标注数据很少或没有)上的模型性能。
核心问题:为什么直接使用源领域模型会在目标领域上表现不佳?
因为机器学习模型的基本假设是训练数据(源领域)和测试数据(目标领域)服从独立同分布(下一篇博文详解)。当这个假设被打破时,模型的泛化能力就会急剧下降。
终极目标:学习一种领域不变的特征表示。即,从数据中提取出那些对完成主要任务(如分类)至关重要,但同时排除了领域特有信息的特征。这样,基于这些特征构建的模型就无法分辨一个样本是来自源领域还是目标领域,从而能在两个领域上都表现良好。
二、关键概念与符号
理解D.A.,首先要厘清三个概念:
-
领域:由一个特征空间 (\mathcal{X}) 和其上的边缘概率分布 (P(X)) 组成,其中 (X = {x_1, …, x_n} \in \mathcal{X})。
- 源领域 (\mathcal{D}_s):数据丰富,标注齐全。
- 目标领域 (\mathcal{D}_t):数据分布 (P(X_t) \neq P(X_s)),标注稀缺。
-
任务:由一个标签空间 (\mathcal{Y}) 和一个目标预测函数 (f(\cdot)) 组成。任务可以相同(如都是分类猫狗),也可以不同。
-
领域差异:即 (P(X_s) \neq P(X_t))。这种差异可能来自:
- 协变量偏移:输入特征 (X) 的分布变化,但条件分布 (P(Y|X)) 不变。
- 例子:训练数据是白天高清的街景图,测试数据是夜晚模糊的街景图。物体本身的定义(“车”就是“车”)没变,但图片样式变了。
- 概念偏移:条件分布 (P(Y|X)) 发生了变化。
- 例子:不同地区对“好电影”的定义标准不同。同样的演员和剧情,在一个地方受欢迎,在另一个地方可能不受欢迎。
- 协变量偏移:输入特征 (X) 的分布变化,但条件分布 (P(Y|X)) 不变。
领域自适应主要解决的是协变量偏移问题。
三、领域自适应的主要方法
领域自适应的方法论非常丰富,可以从多个维度进行分类。下图清晰地展示了其核心的技术流派与演进关系:
flowchart TDA[领域自适应方法] --> B{基于差异度量}A --> C{基于对抗生成}A --> D[基于重构]B --> E[统计矩匹配<br>(如MMD损失)]B --> F[对比学习<br>(领域内拉近,领域间推远)]C --> G[领域判别器<br>(如DANN, 梯度反转层)]C --> H[生成式模型<br>(如CycleGAN)]subgraph I [终极目标]J[学习领域不变的特征表示]endE & F & G & H & D--> J
(一)基于差异度量的方法
思想:显式地度量并最小化源领域和目标领域特征分布之间的差异,将其作为损失函数的一部分。
-
统计矩匹配:
- 最大均值差异:如上文详解,通过核方法在RKHS中计算两个分布均值的距离,并将其作为正则项加入总损失。
总损失 = 分类损失 + λ * MMD损失
- CORAL:通过最小化源域和目标域特征的二阶统计量(协方差矩阵)之间的差异来对齐分布。计算更简单高效。
- 最大均值差异:如上文详解,通过核方法在RKHS中计算两个分布均值的距离,并将其作为正则项加入总损失。
-
对比学习:
- 核心思想是“物以类聚,人以群分”。在特征空间里,通过设计一种损失函数,使得:
- 正样本对(来自同一类或增强视图的样本)的特征相互拉近。
- 负样本对(来自不同类或不同领域的样本)的特征相互推远。
- 通过这种方式,模型可以学习到更紧凑、更具判别性的类别簇,同时模糊领域的界限。
- 核心思想是“物以类聚,人以群分”。在特征空间里,通过设计一种损失函数,使得:
(二) 基于对抗生成的方法
思想:引入一个“领域判别器”,通过对抗博弈的方式,迫使特征提取器生成让判别器无法区分来源的特征。
-
领域判别器:
- 代表算法:DANN。
- 关键组件:梯度反转层。它在正向传播时直接传递输入,而在反向传播时,将传来的梯度乘以一个负数,从而使特征提取器和领域判别器的优化目标相反。
- 训练过程:是一个双人博弈。
- 领域判别器:努力区分特征是来自源域还是目标域。
- 特征提取器:努力生成“混淆”判别器的特征。
-
生成式模型:
- 思想:更为直接,直接学习一个图像到图像的翻译模型,将目标领域的图像“风格”转换为源领域的“风格”,或者反之。
- 代表算法:CycleGAN。它可以在没有成对样本的情况下,实现两个领域的相互转换。例如,将马转换成斑马,将夏天的风景转换成冬天。
- 应用:转换后,可以直接使用源领域上训练的模型进行预测,或者用转换后的数据来增强训练集。
(三) 基于重构的方法
- 思想:通过引入一个解码器,要求模型能够从学到的特征中重构出原始输入。
- 作用:重构损失作为一种正则项,可以迫使特征提取器保留更多关于输入数据的本质信息,防止其在对抗或对齐过程中丢失对主任务至关重要的内容。这种方法通常与上述其他方法结合使用。
四、 一个实例:基于DANN的图像分类
任务:源领域是真实照片(大量标注),目标领域是素描画(无标注或少量标注)。训练一个能对素描画进行分类的模型。
网络结构:
- 共享特征提取器:从照片和素描中提取特征。
- 标签分类器:根据特征预测物体类别(仅使用源域照片的标注进行监督)。
- 领域判别器:根据特征判断输入是照片还是素描。
训练流程:
- 输入一批照片和一批素描。
- 特征提取器为所有样本生成特征。
- 更新标签分类器:只用照片的特征和标签计算分类误差并反向传播(更新特征提取器和分类器)。
- 更新领域判别器:用所有特征和其领域标签(照片/素描)计算判别误差并反向传播(仅更新判别器)。
- “欺骗”特征提取器:再次用所有特征计算判别误差,但这次通过梯度反转层反向传播(仅更新特征提取器),目的是让领域判别器判断错误。
最终,特征提取器学会提取那些既能很好地对物体进行分类,又无法让判别器区分是照片还是素描的特征。这些特征就是“领域不变”的,从而能让模型在素描领域上也取得好的分类效果。
五、领域自适应的应用场景
领域自适应技术在任何存在“分布不匹配”的场景中都有用武之地:
- 视觉适应:
- 合成 → 真实:用在虚拟环境中生成的合成图片(如游戏截图)来训练现实世界的自动驾驶系统。
- 不同光照/天气:用晴天数据训练的模型,适配到雨天、夜间数据。
- 不同模态:照片 → 素描,医疗CT → MRI。
- 自然语言处理:
- 情感分析:在一个产品领域(如电影评论)上训练的模型,适配到另一个领域(如电子产品评论)。
- 跨语言:在英语数据上训练的模型,适配到低资源语言。
- 语音识别:适应不同的口音、噪音环境、录音设备。
- 个性化推荐:将在群体用户上训练的推荐模型,自适应到具有独特偏好的个体用户。
总结
领域自适应是解决现实世界机器学习部署难题的关键技术。它承认并利用了这样一个事实:我们很少能在与测试环境完全相同的训练环境中获得无限数据。通过显式地度量并减小领域差异,或通过对抗博弈学习领域不变特征,DA成功地弥合了数据分布之间的鸿沟,使得AI模型能够更加灵活、稳健地应用于多变且复杂的真实世界中。
今日的第二篇分享到此结束。