首页/AI/3

亲手训练一个会学习的网络 · MODULE 03

深度学习与 PyTorch

从 Tensor 和梯度开始,走完建模、训练、诊断、保存与推理流程,理解网络学不动或突然崩掉时该查什么。

入门22 小时4 个核心主题

先用一句白话理解

神经网络像一组可调旋钮。损失函数告诉你偏得多远,梯度告诉你每个旋钮往哪边拧,优化器决定每次拧多少。

学完你能做到什么

01

理解前向传播、损失、反向传播与参数更新的关系

02

能用 PyTorch 编写 Dataset、模型、训练循环和验证循环

03

能诊断梯度、学习率、过拟合、显存和数值稳定问题

把每个核心概念讲透

不要把知识点当作名词列表。下面每一项都要回到真实项目中回答:它解决什么问题,如何验证,以及在哪些条件下会失效。

01CORE CONCEPT

Tensor、广播、Autograd 与计算图

先明确数据来源、输入输出、评价指标和失败样本。把这个概念放回“训练一个图片缺陷或文本意图分类器,并制作训练看板、错误样本画廊与推理接口。”中,回答它解决了什么问题、依赖哪些输入、会在哪些边界失效。

验证方式用固定数据集、基线和可重复实验验证结论:完成“不用高级封装写出完整训练循环”,记录现象、预期、差异和结论。
02CORE CONCEPT

MLP、CNN 与序列模型的核心结构

先明确数据来源、输入输出、评价指标和失败样本。把这个概念放回“训练一个图片缺陷或文本意图分类器,并制作训练看板、错误样本画廊与推理接口。”中,回答它解决了什么问题、依赖哪些输入、会在哪些边界失效。

验证方式用固定数据集、基线和可重复实验验证结论:完成“让模型在小数据上过拟合,验证代码确实能学习”,记录现象、预期、差异和结论。
03CORE CONCEPT

损失函数、优化器、初始化、正则化和学习率调度

先明确数据来源、输入输出、评价指标和失败样本。把这个概念放回“训练一个图片缺陷或文本意图分类器,并制作训练看板、错误样本画廊与推理接口。”中,回答它解决了什么问题、依赖哪些输入、会在哪些边界失效。

验证方式用固定数据集、基线和可重复实验验证结论:完成“保存最佳检查点并用独立脚本完成推理”,记录现象、预期、差异和结论。
04CORE CONCEPT

GPU、混合精度、检查点、性能分析与可复现性

先明确数据来源、输入输出、评价指标和失败样本。把这个概念放回“训练一个图片缺陷或文本意图分类器,并制作训练看板、错误样本画廊与推理接口。”中,回答它解决了什么问题、依赖哪些输入、会在哪些边界失效。

验证方式用固定数据集、基线和可重复实验验证结论:完成“不用高级封装写出完整训练循环”,记录现象、预期、差异和结论。

这一章的学习步骤

1Tensor、广播、Autograd 与计算图
2MLP、CNN 与序列模型的核心结构
3损失函数、优化器、初始化、正则化和学习率调度
4GPU、混合精度、检查点、性能分析与可复现性
STEP 01

不用高级封装写出完整训练循环

STEP 02

让模型在小数据上过拟合,验证代码确实能学习

STEP 03

保存最佳检查点并用独立脚本完成推理

动手任务

PROJECT BRIEF

训练一个图片缺陷或文本意图分类器,并制作训练看板、错误样本画廊与推理接口。

交付清单

  • 可配置训练脚本和最佳模型权重
  • 训练/验证曲线与错误样本分析
  • 单样本和批量推理脚本

用梯度下降学会 y = 2x + 1

python
import torch

torch.manual_seed(0)
x = torch.arange(0, 6, dtype=torch.float32).reshape(-1, 1)
y = 2 * x + 1
model = torch.nn.Linear(1, 1)
optimizer = torch.optim.SGD(model.parameters(), lr=0.03)

for _ in range(300):
    loss = torch.nn.functional.mse_loss(model(x), y)
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

print("prediction for 10:", round(model(torch.tensor([[10.0]])).item(), 2))

先让它跑起来,再逐行修改。最有效的学习方式,是观察你的改动如何影响结果。

三级练习:从复现到生产

每一级都比上一级少一点提示、多一点约束。只有在不看答案也能完成验收时,知识才真正变成能力。

01
LEVEL 1 · 基础复现

让核心机制第一次跑通

  • 不用高级封装写出完整训练循环
  • 让模型在小数据上过拟合,验证代码确实能学习
  • 保存最佳检查点并用独立脚本完成推理
02
LEVEL 2 · 独立改造

改变约束,验证你真的理解

  • 不看教程,独立完成:理解前向传播、损失、反向传播与参数更新的关系
  • 不看教程,独立完成:能用 PyTorch 编写 Dataset、模型、训练循环和验证循环
  • 不看教程,独立完成:能诊断梯度、学习率、过拟合、显存和数值稳定问题
03
LEVEL 3 · 生产挑战

把实验变成能交付的工程

  • 可配置训练脚本和最佳模型权重
  • 训练/验证曲线与错误样本分析
  • 单样本和批量推理脚本
  • 检查数据漂移、权限、安全、延迟、成本与回滚,并把检查结果写进项目复盘。

最容易踩的坑

01

只看最终准确率,不观察损失曲线和数据样本

02

忘记在验证时切换 eval 模式或关闭梯度

03

模型变大就默认会更好,未先验证数据和基线

先回答,再展开参考答案

Q01这一课最核心的业务目标是什么?

从 Tensor 和梯度开始,走完建模、训练、诊断、保存与推理流程,理解网络学不动或突然崩掉时该查什么。

Q02如果只能保留三个验收结果,应该保留什么?

可配置训练脚本和最佳模型权重;训练/验证曲线与错误样本分析;单样本和批量推理脚本

Q03学习过程中最需要主动避免什么?

只看最终准确率,不观察损失曲线和数据样本;忘记在验证时切换 eval 模式或关闭梯度;模型变大就默认会更好,未先验证数据和基线

Q04怎样证明你不是“看懂了”,而是真的会做?

独立完成“训练一个图片缺陷或文本意图分类器,并制作训练看板、错误样本画廊与推理接口。”,并用测试、数据或运行结果逐项验收交付清单。

PRODUCTION READINESS

本课完成检查表

全部能打勾,再进入下一课。

  • 目标明确:理解前向传播、损失、反向传播与参数更新的关系
  • 核心机制已用最小实验验证:不用高级封装写出完整训练循环
  • 风险已检查:只看最终准确率,不观察损失曲线和数据样本
  • 风险已检查:忘记在验证时切换 eval 模式或关闭梯度
  • 风险已检查:模型变大就默认会更好,未先验证数据和基线
  • 交付物可复现:可配置训练脚本和最佳模型权重
  • 交付物可复现:训练/验证曲线与错误样本分析
  • 交付物可复现:单样本和批量推理脚本

继续深入的官方资料

课程版本基线:2026 年 7 月。涉及版本号时,以链接中的官方文档为最终依据。