Transfer Learning:迁移学习全栈资源库
posts posts 2026-04-13T23:51:22+08:00王晋东发起的迁移学习全栈资源库,覆盖 18 个研究领域,包含论文、代码、教程、数据集和学者索引,是迁移学习领域最全面的入门与研究参考。技术笔记AI, 教程, 深度学习, 论文Transfer Learning:迁移学习全栈资源库
学习目标:系统了解迁移学习的研究领域、理论基础、代码库和应用场景;能够使用本资源库进行入门学习和深入研究;能够选择合适的迁移学习方法解决实际应用问题 核心问题:迁移学习有哪些核心研究领域?如何选择合适的入门路径?如何找到对应的论文、代码和数据集? 难度:⭐⭐⭐(中级,需要深度学习基础) 预计阅读时间:15 分钟
学习目标
读完本文后,你应该能够:
- 列举迁移学习的 18 个研究领域,并理解每个领域的核心问题
- 区分传统迁移学习和深度迁移学习的主要方法
- 使用本资源库的代码库(DeepDA、DeepDG)运行基准实验
- 根据入门路径或研究路径选择合适的学习资源
- 评估迁移学习是否适合你的实际应用场景
目录
Transfer Learning(迁移学习)是由王晋东(jindongwang)发起的"迁移学习全栈资源库",涵盖论文、教程、代码、数据集、会议期刊等完整学术生态。被 CVPR、NeurIPS、IJCAI、IEEE TKDE 等顶会顶刊广泛引用。
为什么这是迁移学习必读资源?
1. 覆盖 18 个研究领域
从传统方法到深度学习,从理论到实践:
| 领域 | 说明 |
|---|---|
| Survey | 综述文章汇总 |
| Theory | 理论基础 |
| Pre-training/Finetuning | 预训练与微调 |
| Knowledge Distillation | 知识蒸馏 |
| Traditional Domain Adaptation | 传统域适应 |
| Deep Domain Adaptation | 深度域适应 |
| Domain Generalization | 领域泛化 |
| Source-free Domain Adaptation | 无源域域适应 |
| Multi-source Domain Adaptation | 多源域适应 |
| Heterogeneous Transfer Learning | 异构迁移学习 |
| Online Transfer Learning | 在线迁移学习 |
| Zero-shot/Few-shot Learning | 零样本/少样本学习 |
| Multi-task Learning | 多任务学习 |
| Transfer Reinforcement Learning | 迁移强化学习 |
| Transfer Metric Learning | 迁移度量学习 |
| Federated Transfer Learning | 联邦迁移学习 |
| Lifelong Transfer Learning | 终身迁移学习 |
| Safe Transfer Learning | 安全迁移学习 |
2. 顶会顶刊广泛引用
- 会议: CVPR'22, NeurIPS'21, IJCAI'21, ESEC/FWE'20, IJCNN'20, ACM MM'18, ICME'19
- 期刊: IEEE TKDE, ACM TIST, Information Sciences, Neurocomputing, IEEE TCDS
3. 完整的学习路径
Books (书籍):
- 《Introduction to Transfer Learning: Algorithms and Practice》- Springer 2021
- 《迁移学习》(杨强)- 中文经典
- 《迁移学习导论》(王晋东、陈益强)
Video Tutorials (视频教程):
- B 站《迁移学习》系列(中文)
- Hung-yi Lee @ NTU 课程
- Recent Advances of Transfer Learning 2022
研究领域详解
Domain Adaptation (领域自适应)
核心问题:源域有标签、目标域无标签,如何迁移知识。
传统方法:
- TCA (Transfer Component Analysis)
- JDA (Joint Distribution Adaptation)
- CORAL (Correlation Alignment)
深度方法:
- DANN (Domain-Adversarial Neural Network)
- MCD (Maximum Classifier Discrepancy)
- CDAN (Conditional Adversarial Domain Adaptation)
Domain Generalization (领域泛化)
无需目标域数据,模型泛化到未知域。
最新 Survey: IJCAI-21 第一篇 Domain Generalization 综述
Knowledge Distillation
知识蒸馏综述:2020 年最新 Survey
Federated Transfer Learning
联邦迁移学习:隐私保护下的迁移学习
代码库 (Code)
统一代码基线:
| 代码库 | 说明 |
|---|---|
| DeepDA | 深度域适应统一代码 |
| DeepDG | 深度域泛化统一代码 |
# GitHub Codespaces直接运行
https://github.dev/jindongwang/transferlearning
# 或Google Colab
https://colab.research.google.com/drive/1MVuk95mMg4ecGyUAIG94vedF81HtWQArPyTorch 微调教程:
import torchvision.models as models
# 加载预训练模型
model = models.resnet50(pretrained=True)
# 修改最后一层适应新任务
num_ftrs = model.fc.in_features
model.fc = nn.Linear(num_ftrs, num_classes)
# 微调
for param in model.parameters():
param.requires_grad = False
for param in model.fc.parameters():
param.requires_grad = True数据集与 Benchmark
收录常用迁移学习数据集及论文结果:
- Office-Home (4 个域)
- VisDA (合成→真实)
- DomainNet (6 个域)
- DIGITS
- USPS→MNIST
相关项目扩展
| 项目 | 说明 |
|---|---|
| llm-eval | 大语言模型评测 |
| llm-enhance | 大语言模型增强 |
| promptbench | LLM 基准评测 |
| Semi-supervised Learning | 半监督学习 |
| Activity Recognition | 行为识别 |
理论 (Theory)
经典论文:
- ICML-20: Few-shot domain adaptation by causal mechanism transfer
- CVPR-19: Characterizing and Avoiding Negative Transfer
- NIPS-06: Analysis of Representations for Domain Adaptation
- ML-10: A Theory of Learning from Different Domains
- NIPS-08: Learning Bounds for Domain Adaptation
- COLT-09: Learning Bounds for Domain Adaptation
MMD 度量:
- A Hilbert Space Embedding for Distributions
- Optimal Kernel Choice for Large-scale Two-sample Tests
著名学者
收录迁移学习领域的核心学者及其代表工作,详见 doc/scholar_TL.md
包括: 杨强(Qiang Yang)、Mingsheng Long (THU)、Sinno Jialin Pan 等
应用领域
| 领域 | 说明 |
|---|---|
| Computer Vision | 视觉迁移 |
| Medical/Healthcare | 医疗健康 |
| NLP | 自然语言处理 |
| Time Series | 时序数据 |
| Speech | 语音 |
| Recommendation | 推荐系统 |
| Autonomous Driving | 自动驾驶 |
项目结构
transferlearning/
├── code/ # 统一代码库
│ ├── DeepDA/ # 深度域适应
│ └── DeepDG/ # 深度域泛化
├── data/ # 数据集与Benchmark
├── doc/ # 论文与文档
│ ├── awesome_paper.md
│ ├── scholar_TL.md
│ └── transfer_learning_application.md
├── notebooks/ # Jupyter教程
└── README.md使用建议
入门路径:
- 阅读 Tutorials 中的书籍和视频
- 运行 PyTorch 微调教程
- 在代码库中选择对应方法
- 使用数据集进行实验
研究路径:
- 阅读 Survey 了解各领域最新进展
- 精读 Theory 论文理解理论基础
- 复现 state-of-the-art 结果
引用
@Misc{transferlearning.xyz,
howpublished = {\url{http://transferlearning.xyz}},
title = {Everything about Transfer Learning and Domain Adaptation},
author = {Wang, Jindong and others}
}总结
Transfer Learning 是迁移学习领域最全面的开源资源:
| 资源类型 | 内容 |
|---|---|
| 论文 | 18 个领域,覆盖 1996-2024 |
| 教程 | 书籍+视频+B 站+PPT |
| 代码 | 统一代码基线 |
| 数据集 | 常用 Benchmark 及结果 |
| 学者 | 领域核心研究者 |
无论是入门还是做研究,这都是不可替代的资源库。
自测题
读完本文后,请自测以下问题:
迁移学习的 18 个研究领域中,哪三个是最核心的?
点击查看参考答案
- Domain Adaptation(领域自适应):源域有标签、目标域无标签,如何迁移知识
- Domain Generalization(领域泛化):无需目标域数据,模型泛化到未知域
- Knowledge Distillation(知识蒸馏):如何将大模型的知识迁移到小模型
传统 Domain Adaptation 和深度 Domain Adaptation 的主要方法有哪些?
点击查看参考答案
传统方法:
- TCA (Transfer Component Analysis)
- JDA (Joint Distribution Adaptation)
- CORAL (Correlation Alignment)
深度方法:
- DANN (Domain-Adversarial Neural Network)
- MCD (Maximum Classifier Discrepancy)
- CDAN (Conditional Adversarial Domain Adaptation)
如何使用本资源库的代码库运行基准实验?
点击查看参考答案
- 使用 DeepDA(深度域适应统一代码)或 DeepDG(深度域泛化统一代码)
- 在 GitHub Codespaces 直接运行:
https://github.dev/jindongwang/transferlearning - 或使用 Google Colab 运行 Jupyter 教程
- 选择对应方法,在数据集(Office-Home、VisDA、DomainNet 等)上进行实验
迁移学习的入门路径和研究路径分别是什么?
点击查看参考答案
入门路径:
- 阅读 Tutorials 中的书籍和视频
- 运行 PyTorch 微调教程
- 在代码库中选择对应方法
- 使用数据集进行实验
研究路径:
- 阅读 Survey 了解各领域最新进展
- 精读 Theory 论文理解理论基础
- 复现 state-of-the-art 结果
迁移学习适合哪些应用场景?
点击查看参考答案
- Computer Vision(视觉迁移):图像分类、目标检测等跨域迁移
- Medical/Healthcare(医疗健康):不同医院、不同设备的数据迁移
- NLP(自然语言处理):预训练模型(BERT、GPT)的微调
- Time Series(时序数据):不同时间段、不同传感器的数据迁移
- Recommendation(推荐系统):不同用户群体、不同场景的推荐迁移
练习
练习 1:运行 DeepDA 代码库
目标:在 GitHub Codespaces 或本地环境运行深度域适应基准代码。
步骤:
- 在 GitHub Codespaces 打开
https://github.dev/jindongwang/transferlearning - 进入
code/DeepDA/目录 - 根据 README 运行一个基准方法(例如 DANN)
- 在 Office-Home 数据集上训练并查看结果
验证:你能成功运行 DANN 并在 Office-Home 上得到合理结果吗?
练习 2:使用 PyTorch 进行模型微调
目标:实践预训练模型的迁移学习。
步骤:
- 使用文中提供的 PyTorch 微调代码示例
- 加载预训练 ResNet50 模型
- 修改最后一层适应你的任务(例如从 1000 类到 10 类)
- 冻结除最后一层外的所有参数,只训练最后一层
- 在你的数据集上训练并评估
验证:微调后的模型在你的任务上表现如何?和从头训练相比有什么优势?
练习 3:选择适合你应用场景的迁移学习方法
目标:根据你的实际应用问题,选择合适的迁移学习方法。
步骤:
- 明确你的场景:源域和目标域分别是什么?有标签还是无标签?
- 根据场景选择方法:
- 如果目标域有少量标签:Few-shot Learning
- 如果源域和目标域分布不同:Domain Adaptation
- 如果需要泛化到未知域:Domain Generalization
- 如果涉及隐私保护:Federated Transfer Learning
- 在资源库中找到对应领域的 Survey 和代码
- 复现一个或多个基准方法
验证:你选择的方法在你的实际应用中有效吗?遇到了什么问题?
进阶路径
如果你想深入研究迁移学习,可以按这个顺序:
- 系统阅读 Survey:从
doc/awesome_paper.md中选择 2-3 个你感兴趣的研究领域,精读对应的 Survey 文章 - 理解理论基础:阅读 Theory 部分的经典论文(NIPS-06、NIPS-08、COLT-09),理解迁移学习的理论边界
- 复现 state-of-the-art:在代码库中选择一个最新方法,复现论文结果,理解实现细节
- 在特定领域应用:选择一个应用领域(CV、NLP、医疗等),将迁移学习应用到你的实际问题中
- 读最新论文:关注 CVPR、NeurIPS、IJCAI 等顶会的最新迁移学习论文,跟踪前沿进展
- 贡献代码或文档:给资源库提交 PR,补充缺失的论文、代码或教程
- 做自己的研究:找到一个未被充分研究的迁移学习问题,提出你的方法并发表论文
资料口径说明
为保障文章的判断和可操作性,在此说明本文章的资料来源和边界:
- 信息来源与时效性:本文基于王晋东的 Transfer Learning 资源库(GitHub: jindongwang/transferlearning),最后更新于 2026-04-13。该资源库仍在维护中,部分链接或内容可能已更新。
- 研究领域覆盖:文中列举的 18 个研究领域基于资源库的
README.md和doc/awesome_paper.md。部分领域(例如 Safe Transfer Learning)的论文数量可能较少,资源库覆盖可能不完整。 - 代码库验证:DeepDA 和 DeepDG 代码库已验证存在,但部分代码可能依赖特定版本的 PyTorch 或 TensorFlow。运行前请检查依赖版本。
- 数据集与 Benchmark:文中列举的数据集(Office-Home、VisDA、DomainNet 等)是迁移学习领域的常用 Benchmark,但部分数据集的下载链接可能需要申请或来自第三方。
- 理论论文选择:Theory 部分的经典论文是迁移学习领域的奠基性工作,但 2010 年后的理论进展(例如基于大模型的迁移学习理论)可能未被充分覆盖。
- 更新记录:本文撰写于 2026-04-13,基于资源库的当时版本。如果资源库在之后有重大更新(新增研究领域、代码库、数据集),本文可能需要补充。