Transfer Learning/zh: Difference between revisions
(Batch translate Transfer Learning unit 28 → zh) |
(Updating to match new version of source page) |
||
| (One intermediate revision by one other user not shown) | |||
| Line 3: | Line 3: | ||
{{ContentMeta | generated_by = claude-opus | model_used = claude-opus-4-6 | generated_date = 2026-03-13}} | {{ContentMeta | generated_by = claude-opus | model_used = claude-opus-4-6 | generated_date = 2026-03-13}} | ||
'''迁移学习''' | '''迁移学习'''是一种机器学习技术,其中在某个任务上训练的模型被重新用作另一个不同但相关任务的模型的起点。通过利用从大规模{{Term|pre-training|预训练}}中获得的知识,迁移学习显著减少了下游应用所需的标注数据量、计算资源和训练时间。 | ||
== 动机 == | == 动机 == | ||
| Line 13: | Line 13: | ||
=== 领域与任务 === | === 领域与任务 === | ||
形式上,一个''' | 形式上,一个'''领域''' <math>\mathcal{D} = \{\mathcal{X}, P(X)\}</math> 由一个{{Term|latent space|特征空间}} <math>\mathcal{X}</math> 和一个边缘分布 <math>P(X)</math> 组成。一个'''任务''' <math>\mathcal{T} = \{\mathcal{Y}, f(\cdot)\}</math> 由一个标签空间 <math>\mathcal{Y}</math> 和一个预测函数 <math>f</math> 组成。当源和目标在领域、任务或两者上有所不同时,便适用迁移学习。 | ||
=== 领域自适应 === | === 领域自适应 === | ||
当源和目标共享同一任务但数据分布不同时(<math>P_s(X) \neq P_t(X)</math>),该问题称为'''{{Term|domain adaptation|领域自适应}}'''。技术包括: | |||
* '''实例重加权''' — 调整样本权重,使源分布近似于目标分布。 | * '''实例重加权''' — 调整样本权重,使源分布近似于目标分布。 | ||
| Line 27: | Line 27: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! 策略 !! 描述 !! | ! 策略 !! 描述 !! 何时使用 | ||
|- | |- | ||
| '''特征提取''' || 冻结所有预训练层;仅训练新的输出头 || | | '''特征提取''' || 冻结所有预训练层;仅训练新的输出头 || 目标数据集非常小;源和目标密切相关 | ||
|- | |- | ||
| ''' | | '''{{Term|fine-tuning|微调}}(完全)''' || 解冻所有层,并以较小的{{Term|learning rate|学习率}}进行端到端训练 || 目标数据集中等;源和目标存在显著差异 | ||
|- | |- | ||
| ''' | | '''逐步解冻''' || 在训练过程中自上而下逐步解冻各层 || 平衡较低层特征的稳定性与较高层特征的适应性 | ||
|} | |} | ||
一种常见的经验法则是为预训练层使用比新分类头小 10–100 倍的{{Term|learning rate|学习率}},从而防止已学习表示的灾难性遗忘。 | |||
== 预训练模型 == | == 预训练模型 == | ||
| Line 42: | Line 42: | ||
=== 计算机视觉 === | === 计算机视觉 === | ||
在 ImageNet | 在 ImageNet 上预训练的卷积网络(ResNet、EfficientNet、ViT)可作为标准骨干网络。较低层学习边缘和纹理等通用特征,而较高层则学习特定于任务的模式。在仅有数千张图像的医学影像数据集上对 ImageNet 模型进行{{Term|fine-tuning|微调}},通常优于从零开始训练。 | ||
=== 自然语言处理 === | === 自然语言处理 === | ||
语言模型的{{Term|pre-training|预训练}}变革了 NLP。关键里程碑包括: | |||
* '''Word2Vec / GloVe''' | * '''Word2Vec / GloVe''' — 在大型语料库上预训练的静态词{{Term|embedding|嵌入}}。 | ||
* '''ELMo''' | * '''ELMo''' — 来自双向 {{Term|long short-term memory|LSTM}} 的上下文化{{Term|embedding|嵌入}}。 | ||
* '''BERT'''(Devlin | * '''BERT'''(Devlin 等,2019)— 通过掩码语言建模预训练的双向 {{Term|transformer|Transformer}};可针对分类、问答、命名实体识别等任务进行微调。 | ||
* '''GPT 系列''' | * '''GPT 系列''' — 自回归 {{Term|transformer|Transformer}},证明了规模与{{Term|pre-training|预训练}}能够实现少样本和零样本迁移。 | ||
== 何时使用迁移学习 == | == 何时使用迁移学习 == | ||
| Line 58: | Line 58: | ||
# 目标数据集相对于模型容量较小。 | # 目标数据集相对于模型容量较小。 | ||
# | # 源域和目标域具有结构相似性(例如,两者都涉及自然图像或自然语言)。 | ||
# | # 缺乏进行完整{{Term|pre-training|预训练}}所需的计算资源。 | ||
# | # 在投入大规模数据收集之前需要快速原型设计。 | ||
当源领域和目标领域本质上不同时,它可能会损害性能('''负迁移''')——例如,在没有适当自适应的情况下从自然图像迁移到频谱图。 | 当源领域和目标领域本质上不同时,它可能会损害性能('''负迁移''')——例如,在没有适当自适应的情况下从自然图像迁移到频谱图。 | ||
| Line 66: | Line 66: | ||
== 实用技巧 == | == 实用技巧 == | ||
* '''数据增强''' | * '''数据增强'''通过人为扩大目标数据集的有效规模来补充迁移学习。 | ||
* ''' | * '''{{Term|learning rate|学习率}}预热'''有助于在对大型预训练模型进行{{Term|fine-tuning|微调}}时稳定早期训练。 | ||
* | * 在验证集上的'''早停'''可防止{{Term|fine-tuning|微调}}过程中的{{Term|overfitting|过拟合}},尤其是在小数据集上。 | ||
* ''' | * '''逐层{{Term|learning rate|学习率}}衰减'''为较早(更通用)的层分配较小的学习率,为较晚(更特定于任务)的层分配较大的学习率。 | ||
* '''中间任务迁移''' | * '''中间任务迁移''' — 在最终目标之前对相关的中间任务进行{{Term|fine-tuning|微调}}(例如,在情感分析之前进行 NLI)可以进一步改善结果。 | ||
== 评估 == | == 评估 == | ||
| Line 78: | Line 78: | ||
:<math>\Delta_{\mathrm{transfer}} = \mathrm{Acc}_{\mathrm{transfer}} - \mathrm{Acc}_{\mathrm{scratch}}</math> | :<math>\Delta_{\mathrm{transfer}} = \mathrm{Acc}_{\mathrm{transfer}} - \mathrm{Acc}_{\mathrm{scratch}}</math> | ||
<math>\Delta_{\mathrm{transfer}}</math> | 正的 <math>\Delta_{\mathrm{transfer}}</math> 表示知识迁移成功。从业者还会跟踪{{Term|convergence|收敛}}速度,因为迁移后的模型通常能在一小部分{{Term|epoch|轮次}}内达到目标性能。 | ||
== 参见 == | == 参见 == | ||
| Line 92: | Line 92: | ||
* Pan, S. J. and Yang, Q. (2010). "A Survey on Transfer Learning". ''IEEE Transactions on Knowledge and Data Engineering''. | * 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''. | * 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''. | * Devlin, J. et al. (2019). "BERT: {{Term|pre-training|Pre-training}} of Deep Bidirectional {{Term|transformer|Transformers}} for Language Understanding". ''NAACL''. | ||
* Howard, J. and Ruder, S. (2018). "Universal Language Model Fine-tuning for Text Classification". ''ACL''. | * Howard, J. and Ruder, S. (2018). "Universal Language Model {{Term|fine-tuning|Fine-tuning}} for Text Classification". ''ACL''. | ||
* Zhuang, F. et al. (2021). "A Comprehensive Survey on Transfer Learning". ''Proceedings of the IEEE''. | * Zhuang, F. et al. (2021). "A Comprehensive Survey on Transfer Learning". ''Proceedings of the IEEE''. | ||
[[Category:Machine Learning]] | [[Category:Machine Learning]] | ||
[[Category:Intermediate]] | [[Category:Intermediate]] | ||
Latest revision as of 23:44, 27 April 2026
| 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.