Transfer Learning/zh
| Article | |
|---|---|
| Topic area | Machine Learning |
| Difficulty | Intermediate |
| Prerequisites | Neural Networks |
迁移学习是一种机器学习技术,其中在某个任务上训练的模型被重新用作另一个不同但相关任务的模型的起点。通过利用从大规模预训练中获得的知识,迁移学习显著减少了下游应用所需的标注数据量、计算资源和训练时间。
动机
从零开始训练深度神经网络通常需要大型数据集和大量的计算资源。在许多实际领域中——医学影像、法律文本分析、低资源语言——标注数据稀缺。迁移学习解决了这种不匹配:在数据丰富的源任务上预训练的模型可以捕获通用特征(边缘、纹理、句法模式),这些特征可以很好地迁移到数据稀缺的目标任务上。
关键概念
领域与任务
形式上,一个领域 $ \mathcal{D} = \{\mathcal{X}, P(X)\} $ 由一个特征空间 $ \mathcal{X} $ 和一个边缘分布 $ P(X) $ 组成。一个任务 $ \mathcal{T} = \{\mathcal{Y}, f(\cdot)\} $ 由一个标签空间 $ \mathcal{Y} $ 和一个预测函数 $ f $ 组成。当源和目标在领域、任务或两者上有所不同时,便适用迁移学习。
领域自适应
当源和目标共享同一任务但数据分布不同时($ P_s(X) \neq P_t(X) $),该问题称为领域自适应。技术包括:
- 实例重加权 — 调整样本权重,使源分布近似于目标分布。
- 特征对齐 — 学习领域不变的表示(例如,通过对抗训练或最大均值差异)。
- 自训练 — 使用模型对未标注目标数据的预测作为伪标签。
微调与特征提取
| 策略 | 描述 | 何时使用 |
|---|---|---|
| 特征提取 | 冻结所有预训练层;仅训练新的输出头 | 目标数据集非常小;源和目标密切相关 |
| 微调(完全) | 解冻所有层,并以较小的学习率进行端到端训练 | 目标数据集中等;源和目标存在显著差异 |
| 逐步解冻 | 在训练过程中自上而下逐步解冻各层 | 平衡较低层特征的稳定性与较高层特征的适应性 |
一种常见的经验法则是为预训练层使用比新分类头小 10–100 倍的学习率,从而防止已学习表示的灾难性遗忘。
预训练模型
计算机视觉
在 ImageNet 上预训练的卷积网络(ResNet、EfficientNet、ViT)可作为标准骨干网络。较低层学习边缘和纹理等通用特征,而较高层则学习特定于任务的模式。在仅有数千张图像的医学影像数据集上对 ImageNet 模型进行微调,通常优于从零开始训练。
自然语言处理
语言模型的预训练变革了 NLP。关键里程碑包括:
- Word2Vec / GloVe — 在大型语料库上预训练的静态词嵌入。
- ELMo — 来自双向 LSTM 的上下文化嵌入。
- BERT(Devlin 等,2019)— 通过掩码语言建模预训练的双向 Transformer;可针对分类、问答、命名实体识别等任务进行微调。
- GPT 系列 — 自回归 Transformer,证明了规模与预训练能够实现少样本和零样本迁移。
何时使用迁移学习
迁移学习在以下情况下最为有益:
- 目标数据集相对于模型容量较小。
- 源域和目标域具有结构相似性(例如,两者都涉及自然图像或自然语言)。
- 缺乏进行完整预训练所需的计算资源。
- 在投入大规模数据收集之前需要快速原型设计。
当源领域和目标领域本质上不同时,它可能会损害性能(负迁移)——例如,在没有适当自适应的情况下从自然图像迁移到频谱图。
实用技巧
- 数据增强通过人为扩大目标数据集的有效规模来补充迁移学习。
- 学习率预热有助于在对大型预训练模型进行微调时稳定早期训练。
- 在验证集上的早停可防止微调过程中的过拟合,尤其是在小数据集上。
- 逐层学习率衰减为较早(更通用)的层分配较小的学习率,为较晚(更特定于任务)的层分配较大的学习率。
- 中间任务迁移 — 在最终目标之前对相关的中间任务进行微调(例如,在情感分析之前进行 NLI)可以进一步改善结果。
评估
迁移学习的有效性通常通过比较以下内容来衡量:
- $ \Delta_{\mathrm{transfer}} = \mathrm{Acc}_{\mathrm{transfer}} - \mathrm{Acc}_{\mathrm{scratch}} $
正的 $ \Delta_{\mathrm{transfer}} $ 表示知识迁移成功。从业者还会跟踪收敛速度,因为迁移后的模型通常能在一小部分轮次内达到目标性能。
参见
参考文献
- Pan, S. J. and Yang, Q. (2010). "A Survey on Transfer Learning". IEEE Transactions on Knowledge and Data Engineering.
- Yosinski, J. et al. (2014). "How transferable are features in deep neural networks?". NeurIPS.
- Devlin, J. et al. (2019). "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding". NAACL.
- Howard, J. and Ruder, S. (2018). "Universal Language Model Fine-tuning for Text Classification". ACL.
- Zhuang, F. et al. (2021). "A Comprehensive Survey on Transfer Learning". Proceedings of the IEEE.