迁移学习(Transfer Learning)
一句话 TL;DR:把模型在一个任务/领域上学到的知识迁移到另一个任务/领域。它是"预训练 → 微调"这套范式的理论基石--没有迁移学习,就没有现代大模型的"一次预训练,到处微调"。
L1 · 一句话点破
迁移学习的核心是:模型在任务 A 上学到的特征/知识,能帮助它在任务 B 上学得更好、用更少数据达到更高水平。 这不是"白嫖",而是"举一反三"--只要两个任务有共性,前面的经验就能复用。
迁移学习是 预训练 和 微调 之间的桥梁:预训练得到"通用知识",迁移学习解释"为什么这些知识能迁移到下游任务"。
L2 · 通俗类比
学过吉他的人再学尤克里里,会比零基础的人快得多。为什么?因为两个乐器有共性:
- 都是按弦乐器
- 都需要左手按弦、右手拨弦
- 乐理通用(音阶、和弦、节奏)
零基础要从"什么是和弦"学起,吉他手只需要学"尤克里里和吉他的差异"(4 根弦、调弦不同)。前期积累的肌肉记忆和乐理知识迁移了。
迁移学习就是这件事的机器学习版本:
- 源任务:海量文本上做预训练(学吉他)
- 目标任务:具体应用,如医疗问答(学尤克里里)
- 迁移:预训练学到的语法、世界知识、推理模式,复用到医疗问答
零样本从医疗问答数据学起,需要海量标注数据且效果差;从预训练模型微调,少量数据就能达到很高水平。
反例也存在:让学吉他的人去学吹小号,迁移收益就小(共性少)。迁移学习有效的前提是两个任务有共性,否则可能"负迁移"--源任务的习惯反而干扰目标任务。
L3 · 正经定义
迁移学习(Transfer Learning) 是一种机器学习范式:在源领域 $\mathcal{D}_S$ 和源任务 $\mathcal{T}_S$ 上学到的知识,用于改进目标领域 $\mathcal{D}_T$ 上目标任务 $\mathcal{T}_T$ 的学习,其中 $\mathcal{D}_S \neq \mathcal{D}_T$ 或 $\mathcal{T}_S \neq \mathcal{T}_T$(Pan & Yang, 2010)。
按"迁移什么"分类:
| 类型 | 迁移内容 | 代表方法 |
|---|---|---|
| 实例迁移 | 加权复用源数据 | TrAdaBoost |
| 特征迁移 | 学到领域不变特征 | DANN(域对抗) |
| 参数迁移 | 复用模型参数 | 预训练 + 微调 |
| 关系迁移 | 复用关系规则 | 知识图谱迁移 |
大模型时代主流是参数迁移:预训练模型作为初始参数,在目标任务上微调。这也是本文重点。
按"源/目标是否同领域、同任务"分:
- 归纳迁移(Inductive TL):目标任务不同,源/目标同领域。如文本分类预训练 → 情感分析。
- 直推式迁移(Transductive TL):任务相同,领域不同。如新闻情感分析 → 评论情感分析。
- 无监督迁移:目标任务是无监督的,如聚类、生成。
参考资料:
- Pan & Yang, 2010 - A Survey on Transfer Learning - 经典综述
- Yosinski et al., 2014 - How transferable are features? - CNN 特征可迁移性实证
- Devlin et al., 2018 - BERT - NLP 迁移学习的标杆
- He et al., 2019 - Rethinking ImageNet Pretraining - 视觉预训练价值的反思
L4 · 原理深挖
4.1 迁移学习为什么有效:特征复用
神经网络是层次化特征提取器。以 CNN 图像分类为例(Yosinski et al., 2014):
- 浅层(前几层):边缘、颜色、纹理--通用视觉特征,几乎所有视觉任务都用得上
- 中层:物体部件(眼睛、轮子、树叶)--部分通用
- 深层:具体类别判别("狗"的语义特征)--任务专属
迁移学习的实证:把在 ImageNet(120 万张图、1000 类)上预训练的 CNN,迁移到小型医疗影像分类任务:
- 冻结浅层 + 重训深层:少量数据即可达高精度
- 全部重训:医疗数据少时反而过拟合,不如冻结浅层
- 从头训练:需要大量医疗数据,否则效果差
这揭示迁移的本质:通用特征可跨任务复用,越通用越可迁移,越专属越需重训。
大语言模型同理:预训练学到语法、词义、世界知识、推理模式(浅-中层),下游任务(问答、翻译、摘要)只需在顶部微调少量参数(深层)。
4.2 为什么预训练有效:低层流形假设
为什么预训练特征能迁移?底层假设是:自然数据分布在高维空间的低维流形上,不同任务共享部分流形结构。
文本任务(情感分析、问答、翻译)虽然具体形式不同,但都依赖:
- 词与词的语义关系("猫"和"狗"是动物)
- 句法结构(主谓宾)
- 常识世界知识(水会湿、火会热)
- 基础推理(因果、对比)
预训练在海量文本上学到这些共享结构,下游任务复用即可。
Devlin et al., 2018 - BERT 证明了 NLP 迁移学习的威力:在大型语料预训练 + 下游任务微调,11 项 NLP 任务刷爆 SOTA。这是 2018-2020 年 NLP 的范式革命。
4.3 三种微调策略:迁移的工程实现
预训练模型迁移到下游任务有三种典型策略:
① Feature Extraction(特征提取)
冻结预训练模型,只训练顶部一个浅层分类器:
[输入] → [预训练模型(冻结)] → [特征向量] → [新分类头(训练)] → 输出优点:训练快、参数少、不易过拟合。 缺点:表达能力受限,无法适应目标任务特性。 适用:目标任务数据极少,源/目标高度相似。
② Fine-tuning(微调)
解冻全部或部分预训练参数,与下游任务一起训练:
[输入] → [预训练模型(解冻,小学习率)] → [新分类头(训练)] → 输出优点:能适应目标任务,效果最好。 缺点:数据少时易过拟合;学习率需小心调整,否则破坏预训练特征。 适用:目标任务数据充足,NLP/CV 主流。
③ Parameter-Efficient Fine-Tuning (PEFT)
冻结预训练参数,只训练少量新增参数(如 LoRA):
[输入] → [预训练模型(冻结) + 低秩适配器(训练)] → 输出优点:训练参数极少(<1%),显存友好,可插拔。 缺点:表达能力略低于全量微调。 适用:大模型时代(10B+ 参数),全量微调成本不可承受。
这三种策略对应迁移强度的连续谱:从"完全不动模型"到"全量调整",中间有渐进选择。
4.4 负迁移:迁移不是万能的
迁移学习的前提是源/目标任务有共性。共性不足时会出现负迁移(negative transfer):源任务的知识不仅没帮助,反而拖累目标任务。
负迁移的典型场景:
- 领域差异大:在新闻上预训练的模型迁移到法律文书,可能效果一般(语言风格、术语差异大)
- 任务冲突:源任务学"生成流畅文本",目标任务是"严格 factual 摘要"--流畅倾向可能助长幻觉
- 数据分布漂移:预训练数据是 2020 年的,目标任务涉及 2025 年事件,世界知识过时
Rosenbaum et al., 2017 等研究显示,多任务学习场景下,不相关任务的迁移可能让性能下降 5-20%。识别"哪些任务该一起训"是多任务学习/迁移学习的核心难题。
负迁移的对策:
- 领域自适应(Domain Adaptation):用对抗训练(DANN)学领域不变特征
- 选择性迁移:只迁移与目标任务相关的部分参数
- 持续学习(Continual Learning):在目标任务上微调时引入正则,保护源任务知识不遗忘
4.5 迁移学习在大模型时代的演变
大模型时代,迁移学习发生根本变化:
① 迁移的"粒度"从参数到能力
传统迁移学习迁移的是"参数"。大模型时代,指令微调 + RLHF 后,模型展现出零样本/少样本能力:不微调参数,只用 prompt 引导就能完成新任务。这本质也是一种迁移--迁移的是"泛化能力"而非具体参数。
② 任务专用微调被通用对齐取代
GPT-3 之前,每个下游任务都要单独微调。GPT-3 之后,一次 指令微调 + RLHF 就能通吃多数任务。迁移学习从"每个任务一个模型"变成"一个模型应对所有任务"。
③ 预训练价值的反思
He et al., 2019 - Rethinking ImageNet Pretraining 引发讨论:在视觉任务上,当目标数据充足时,ImageNet 预训练的提升有限,甚至有时从头训练更好。这说明:迁移的收益随目标任务数据量增加而减小,数据足够时"迁移"非必需。
但 NLP 和大模型领域不同:文本任务的数据标注成本极高,且预训练提供的"世界知识"无法靠下游数据补全,所以 NLP 迁移学习仍是核心范式。
L5 · 沿革与坑
沿革
- 1995 年前后:迁移学习思想萌芽,NIPS-95 研讨会提出 "Learning to Learn" 概念。
- 2005 年:NIPS-05 工作坊正式提出 "Transfer Learning" 术语。
- 2010 年:Pan & Yang 综述 系统定义迁移学习分类,是领域奠基。
- 2014 年:Yosinski et al. 实证 CNN 特征可迁移性,"哪些层能迁移"成为热点。
- 2014-2015 年:DANN(域对抗网络)提出,用对抗学习做领域自适应。
- 2018 年:BERT 证明"预训练 + 微调"在 NLP 的统治力,11 项 SOTA。NLP 范式从"每任务一模型"转向"预训练 + 微调"。
- 2019 年:He et al. 反思视觉预训练,引发"数据足够时预训练是否必要"的讨论。
- 2020 年:GPT-3 展示零/少样本能力,迁移从"参数级"延伸到"能力级"。
- 2021-2024 年:LoRA 等 PEFT 方法流行,参数高效迁移成为大模型时代主流。
- 2024-2025 年:通用大模型 + 指令微调 + RLHF 取代多数任务专用微调。迁移学习的重心从"参数迁移"转向"prompt 引导 + 工具调用"。
常见误解
❌ 误解:预训练一定让下游任务更好。 ✅ 真相:当源/目标领域差异大或目标任务数据充足时,预训练可能无效甚至有害(负迁移)。He et al. 2019 在视觉任务上证实了这点。
❌ 误解:迁移学习 = 微调。 ✅ 真相:微调是迁移学习的一种实现方式(参数迁移)。迁移学习还包括特征迁移、实例迁移、关系迁移等。微调是当前最常用,但不是全部。
❌ 误解:冻结的层越多越好,避免破坏预训练特征。 ✅ 真相:冻结过多会限制模型适应目标任务;冻结过少易过拟合。最佳冻结策略取决于:目标任务数据量、源/目标相似度、模型规模。通常浅层冻结、深层微调,但需实验确定。
❌ 误解:大模型时代不需要迁移学习了。 ✅ 真相:大模型把迁移从"参数级"升级到"能力级"(零/少样本),但本质仍是迁移--把预训练学到的能力应用到新任务。当通用能力不够时,仍需参数级微调(如 LoRA)。迁移学习的思想贯穿始终。
❌ 误解:源任务越大数据越多,迁移效果越好。 ✅ 真相:源任务数据要"相关且多样"。不相关的海量数据反而稀释有用特征。Chinchilla scaling law 表明:数据质量、相关性比数量更关键。
面试怎么考
- "什么是迁移学习?为什么有效?" --核心是源/目标任务有共性,复用通用特征。L2 类比 + L4.1 特征复用。
- "迁移学习有哪些类型?" --按迁移内容分:实例/特征/参数/关系;按领域-任务分:归纳/直推/无监督(L3)。
- "什么是负迁移?怎么避免?" --源/目标共性不足时迁移有害。避免方法:领域自适应、选择性迁移、持续学习(4.4)。
- "预训练 + 微调和从头训练相比有什么优势?" --少量数据快速收敛、高精度;底层特征可复用;正则化效果(4.1)。
- "微调时该冻结多少层?" --取决于数据量、相似度、模型规模。通常浅层冻结、深层微调,需实验(4.3)。
- "大模型还需要迁移学习吗?" --需要,但形式变了:从参数级迁移到能力级迁移(零/少样本)。通用能力不足时仍需 PEFT(4.5)。
延伸阅读
- 📄 Pan & Yang, 2010 - A Survey on Transfer Learning - 综述必读
- 📄 Yosinski et al., 2014 - How transferable are features?
- 📄 Devlin et al., 2018 - BERT
- 📄 He et al., 2019 - Rethinking ImageNet Pretraining
- 📝 Sebastian Ruder - Transfer Learning in NLP