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模型通常优于从零开始训练。
自然语言处理
语言模型预训练改变了自然语言处理。关键的里程碑包括:
- 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}} $ 表示知识迁移成功。从业者还会跟踪收敛速度,因为迁移的模型通常可以在一小部分epoch内达到目标性能。
参见
参考文献
- 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.