跳转至

基础赛道

赛道概览

2 个 Lesson · 预计 2-3 小时 · 张量、自动求导、训练循环入门

Foundations 是所有后续赛道的基石。你将从零开始掌握 PyTorch 的核心抽象——张量与计算图,并手写一个完整的线性回归训练循环。


学习路径

flowchart LR
    A["**Lesson 01**\n张量操作 & Autograd"] --> B["**Lesson 02**\n从零实现线性回归"]
    B --> C{{"后续赛道"}}
    C --> D["Vision"]
    C --> E["NLP"]
    C --> F["GNN"]

    style A fill:#7c3aed,color:#fff,stroke:#5b21b6
    style B fill:#7c3aed,color:#fff,stroke:#5b21b6
    style C fill:#f3f4f6,color:#1f2937,stroke:#d1d5db
    style D fill:#2563eb,color:#fff,stroke:#1d4ed8
    style E fill:#0891b2,color:#fff,stroke:#0e7490
    style F fill:#059669,color:#fff,stroke:#047857

先修知识

领域 要求 建议资源
Python 基础语法、函数、类 Python 官方教程
线性代数 向量、矩阵乘法、转置 3Blue1Brown Essence of Linear Algebra
微积分 偏导数、链式法则(了解即可) Khan Academy Multivariable Calculus

课程列表

序号 项目 代码文档 核心概念
01 张量操作 & Autograd 机制 lesson_01_tensors torch.Tensor, backward(), 计算图
02 从零实现线性回归 lesson_02_linear_regression 梯度下降, 损失函数, 参数更新

Lesson 01 — 张量操作 & Autograd 机制

学习目标

  • 理解 torch.Tensor 的创建、索引、广播和运算
  • 掌握 requires_grad=Truebackward() 自动求导机制
  • 理解计算图(Computational Graph)的构建与释放

核心知识点:

  • 张量创建torch.zeros, torch.ones, torch.randn, torch.arange
  • 张量运算:逐元素运算、矩阵乘法 (@, torch.matmul)、广播规则
  • Autograd 机制requires_grad, grad_fn, backward(), torch.no_grad()
  • 计算图:动态图 vs 静态图,叶子节点与中间节点
# 运行 Lesson 01(离线冒烟模式)
python -m tracks.foundations.lesson_01_tensors.train \
  --dataset fake --epochs 1 \
  --max-train-batches 2 --max-eval-batches 2

Lesson 02 — 从零实现线性回归

学习目标

  • 手写完整的训练循环:前向传播 → 计算损失 → 反向传播 → 参数更新
  • 理解梯度下降(Gradient Descent)的数学原理
  • 掌握损失函数(MSE Loss)和参数更新策略

核心知识点:

  • 线性模型\(y = Wx + b\),权重与偏置
  • 损失函数:均方误差 \(\mathcal{L} = \frac{1}{N}\sum(y - \hat{y})^2\)
  • 梯度下降\(W \leftarrow W - \eta \cdot \frac{\partial \mathcal{L}}{\partial W}\)
  • 训练循环forward → loss → backward → step → zero_grad
# 运行 Lesson 02(离线冒烟模式)
python -m tracks.foundations.lesson_02_linear_regression_autograd.train \
  --dataset fake --epochs 1 \
  --max-train-batches 2 --max-eval-batches 2

验收标准

完成 Foundations 后,你应该能够:

  • 创建张量并执行矩阵运算
  • 使用 Autograd 自动计算梯度
  • 独立编写一个完整的训练循环
  • 理解 loss.backward() 背后发生了什么
  • 解释为什么需要 optimizer.zero_grad()

下一步

完成 Foundations 后,你可以根据兴趣选择:

推荐方向 说明
➡ Vision 视觉赛道 从 LeNet 开始学习卷积神经网络
➡ NLP 赛道 从词嵌入开始学习文本处理
➡ GNN 赛道 从图分类开始学习图神经网络