目录

Transfer Learning:迁移学习全栈资源库

Transfer Learning:迁移学习全栈资源库

学习目标:系统了解迁移学习的研究领域、理论基础、代码库和应用场景;能够使用本资源库进行入门学习和深入研究;能够选择合适的迁移学习方法解决实际应用问题 核心问题:迁移学习有哪些核心研究领域?如何选择合适的入门路径?如何找到对应的论文、代码和数据集? 难度:⭐⭐⭐(中级,需要深度学习基础) 预计阅读时间:15 分钟

学习目标

读完本文后,你应该能够:

  1. 列举迁移学习的 18 个研究领域,并理解每个领域的核心问题
  2. 区分传统迁移学习和深度迁移学习的主要方法
  3. 使用本资源库的代码库(DeepDA、DeepDG)运行基准实验
  4. 根据入门路径或研究路径选择合适的学习资源
  5. 评估迁移学习是否适合你的实际应用场景

目录

  1. 为什么这是迁移学习必读资源?
  2. 研究领域详解
  3. 代码库
  4. 数据集与 Benchmark
  5. 相关项目扩展
  6. 理论
  7. 著名学者
  8. 应用领域
  9. 项目结构
  10. 使用建议
  11. 引用
  12. 总结
  13. 自测题
  14. 练习
  15. 进阶路径
  16. 资料口径说明

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/1MVuk95mMg4ecGyUAIG94vedF81HtWQAr

PyTorch 微调教程:

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大语言模型增强
promptbenchLLM 基准评测
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

使用建议

入门路径:

  1. 阅读 Tutorials 中的书籍和视频
  2. 运行 PyTorch 微调教程
  3. 在代码库中选择对应方法
  4. 使用数据集进行实验

研究路径:

  1. 阅读 Survey 了解各领域最新进展
  2. 精读 Theory 论文理解理论基础
  3. 复现 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 及结果
学者领域核心研究者

无论是入门还是做研究,这都是不可替代的资源库。


自测题

读完本文后,请自测以下问题:

  1. 迁移学习的 18 个研究领域中,哪三个是最核心的?

    点击查看参考答案
    • Domain Adaptation(领域自适应):源域有标签、目标域无标签,如何迁移知识
    • Domain Generalization(领域泛化):无需目标域数据,模型泛化到未知域
    • Knowledge Distillation(知识蒸馏):如何将大模型的知识迁移到小模型
  2. 传统 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)
  3. 如何使用本资源库的代码库运行基准实验?

    点击查看参考答案
    • 使用 DeepDA(深度域适应统一代码)或 DeepDG(深度域泛化统一代码)
    • 在 GitHub Codespaces 直接运行:https://github.dev/jindongwang/transferlearning
    • 或使用 Google Colab 运行 Jupyter 教程
    • 选择对应方法,在数据集(Office-Home、VisDA、DomainNet 等)上进行实验
  4. 迁移学习的入门路径和研究路径分别是什么?

    点击查看参考答案

    入门路径

    1. 阅读 Tutorials 中的书籍和视频
    2. 运行 PyTorch 微调教程
    3. 在代码库中选择对应方法
    4. 使用数据集进行实验

    研究路径

    1. 阅读 Survey 了解各领域最新进展
    2. 精读 Theory 论文理解理论基础
    3. 复现 state-of-the-art 结果
  5. 迁移学习适合哪些应用场景?

    点击查看参考答案
    • Computer Vision(视觉迁移):图像分类、目标检测等跨域迁移
    • Medical/Healthcare(医疗健康):不同医院、不同设备的数据迁移
    • NLP(自然语言处理):预训练模型(BERT、GPT)的微调
    • Time Series(时序数据):不同时间段、不同传感器的数据迁移
    • Recommendation(推荐系统):不同用户群体、不同场景的推荐迁移

练习

练习 1:运行 DeepDA 代码库

目标:在 GitHub Codespaces 或本地环境运行深度域适应基准代码。

步骤

  1. 在 GitHub Codespaces 打开 https://github.dev/jindongwang/transferlearning
  2. 进入 code/DeepDA/ 目录
  3. 根据 README 运行一个基准方法(例如 DANN)
  4. 在 Office-Home 数据集上训练并查看结果

验证:你能成功运行 DANN 并在 Office-Home 上得到合理结果吗?


练习 2:使用 PyTorch 进行模型微调

目标:实践预训练模型的迁移学习。

步骤

  1. 使用文中提供的 PyTorch 微调代码示例
  2. 加载预训练 ResNet50 模型
  3. 修改最后一层适应你的任务(例如从 1000 类到 10 类)
  4. 冻结除最后一层外的所有参数,只训练最后一层
  5. 在你的数据集上训练并评估

验证:微调后的模型在你的任务上表现如何?和从头训练相比有什么优势?


练习 3:选择适合你应用场景的迁移学习方法

目标:根据你的实际应用问题,选择合适的迁移学习方法。

步骤

  1. 明确你的场景:源域和目标域分别是什么?有标签还是无标签?
  2. 根据场景选择方法:
    • 如果目标域有少量标签:Few-shot Learning
    • 如果源域和目标域分布不同:Domain Adaptation
    • 如果需要泛化到未知域:Domain Generalization
    • 如果涉及隐私保护:Federated Transfer Learning
  3. 在资源库中找到对应领域的 Survey 和代码
  4. 复现一个或多个基准方法

验证:你选择的方法在你的实际应用中有效吗?遇到了什么问题?


进阶路径

如果你想深入研究迁移学习,可以按这个顺序:

  1. 系统阅读 Survey:从 doc/awesome_paper.md 中选择 2-3 个你感兴趣的研究领域,精读对应的 Survey 文章
  2. 理解理论基础:阅读 Theory 部分的经典论文(NIPS-06、NIPS-08、COLT-09),理解迁移学习的理论边界
  3. 复现 state-of-the-art:在代码库中选择一个最新方法,复现论文结果,理解实现细节
  4. 在特定领域应用:选择一个应用领域(CV、NLP、医疗等),将迁移学习应用到你的实际问题中
  5. 读最新论文:关注 CVPR、NeurIPS、IJCAI 等顶会的最新迁移学习论文,跟踪前沿进展
  6. 贡献代码或文档:给资源库提交 PR,补充缺失的论文、代码或教程
  7. 做自己的研究:找到一个未被充分研究的迁移学习问题,提出你的方法并发表论文

资料口径说明

为保障文章的判断和可操作性,在此说明本文章的资料来源和边界:

  1. 信息来源与时效性:本文基于王晋东的 Transfer Learning 资源库(GitHub: jindongwang/transferlearning),最后更新于 2026-04-13。该资源库仍在维护中,部分链接或内容可能已更新。
  2. 研究领域覆盖:文中列举的 18 个研究领域基于资源库的 README.mddoc/awesome_paper.md。部分领域(例如 Safe Transfer Learning)的论文数量可能较少,资源库覆盖可能不完整。
  3. 代码库验证:DeepDA 和 DeepDG 代码库已验证存在,但部分代码可能依赖特定版本的 PyTorch 或 TensorFlow。运行前请检查依赖版本。
  4. 数据集与 Benchmark:文中列举的数据集(Office-Home、VisDA、DomainNet 等)是迁移学习领域的常用 Benchmark,但部分数据集的下载链接可能需要申请或来自第三方。
  5. 理论论文选择:Theory 部分的经典论文是迁移学习领域的奠基性工作,但 2010 年后的理论进展(例如基于大模型的迁移学习理论)可能未被充分覆盖。
  6. 更新记录:本文撰写于 2026-04-13,基于资源库的当时版本。如果资源库在之后有重大更新(新增研究领域、代码库、数据集),本文可能需要补充。