胡慧华
菜单
首页人工智能机器学习深度学习智能体项目实践关于我
跳至课程正文
← 返回深度学习课程

DEEP LEARNING · COURSE 08

借用已有能力,解决新问题。

用较少的标注数据,把预训练模型适配到自己的任务。

进阶约 30–35 分钟7 个学习环节
大型预训练特征网络连接到新的小型任务网络
本课学习重点
  • 预训练模型
  • 特征提取
  • 微调
01

先从一个具体问题出发

只有 600 张工地安全帽图片

从零训练大型视觉网络通常需要大量数据和算力。预训练模型已经在海量图片中学过边缘、纹理和常见形状,我们可以保留这些能力,只为新任务学习较小的一部分。
COMPUTER VISION

通过数据量和任务相似度实验,理解预训练、特征提取、微调与迁移策略。

这一课要回答:迁移学习:用已有模型解决新问题
02

建立必要的基础概念

先认识三个关键词

先看每个概念负责什么,再把它们放回完整流程。无需先记公式,先建立直觉。
01 · 预训练模型

先在大数据上学习通用特征

它不是现成答案,而是一个较好的参数起点。

02 · 特征提取

冻结主干,只训练新分类头

数据少、任务相似时更快,也更不易破坏已有能力。

03 · 微调

用小学习率调整部分主干

数据更充足或领域差异较大时,让高层特征适应新任务。

03

把概念连接成流程

完成一次迁移学习

按顺序走一遍,观察每一步的输入、动作与输出。
  1. 01

    选择相近的预训练模型

    检查输入尺寸、许可证、速度和基准任务。

  2. 02

    替换输出层

    让类别数量与自己的任务一致。

  3. 03

    先冻结并训练分类头

    建立可靠基线,观察验证表现。

  4. 04

    按需解冻微调

    使用较小学习率,并持续监控过拟合。

04

互动实验 · 动手建立直觉

根据数据与相似度选择迁移策略

调整标注数量和领域相似度,看看更适合特征提取、部分微调还是从头训练。
与自然图片预训练任务的相似度
建议起点冻结主干

先做特征提取,只训练新分类头。

05

知道模型能做什么,也知道不能做什么

三个容易忽略的边界

技术名词描述的是一种计算方法。真正用于产品时,还要检查数据、指标、成本与使用场景。
01

源任务偏差也会被带来

预训练数据的缺口与偏差可能迁移到新场景。

02

任务差异过大时收益有限

自然图片特征不一定适合医学扫描或遥感波段。

03

仍需自己的验证集

预训练模型强大,也不能替代目标场景的独立评估。

06

可选代码实践 · 逐行理解

冻结主干,只训练新分类头

代码只呈现本课最关键的计算路径。先根据注释理解每一步,再放进完整项目。
course-08.py
from torchvision.models import resnet18, ResNet18_Weights
import torch.nn as nn

model = resnet18(weights=ResNet18_Weights.DEFAULT)
for parameter in model.parameters():
    parameter.requires_grad = False

input_features = model.fc.in_features
model.fc = nn.Linear(input_features, 2)
  1. 步骤 1

    DEFAULT 会加载官方预训练权重及对应的预处理信息。

  2. 步骤 2

    冻结后主干参数不会在反向传播中更新。

  3. 步骤 3

    新建的全连接层输出 2 个分数,可用于安全帽二分类。

07

知识检查与课程总结

确认你能把概念讲清楚

完成三个问题,再用五句话回顾本课主线。

已回答 0 / 3 题 · 当前答对 0 题

01标注数据很少且新任务与预训练任务相似,优先尝试什么?
02微调时为什么常用较小学习率?
03迁移学习后还需要目标场景测试吗?
  1. 预训练权重是更好的起点,不是新任务的最终答案。
  2. 数据少且任务相似时可先做特征提取。
  3. 微调会更新部分预训练参数。
  4. 解冻越多,对数据量与训练控制的要求越高。
  5. 模型来源、许可证和目标场景验证同样重要。

下一课 · COURSE 09

图像分类、检测与分割

围绕同一张图片,区分三类视觉任务的输入、输出与标注成本。

继续下一课 ↗