CS231n 笔记中讲解了哪些计算机视觉与深度学习核心技术?

CS231n 的公开笔记按“从零搭建到现代模型”的顺序组织,覆盖图像分类、线性分类器、优化与反向传播、神经网络工程实践、卷积网络及其可视化、迁移学习,并延伸到 RNN、Transformer、自监督学习、扩散模型和 CLIP/DINO 等较新主题。它适合作为课程配套阅读:先看某个模块的笔记理解原理,再对应完成作业中的代码实现。笔记本身是课程材料,不替代作业的动手环节。

模块 0:准备

  • 软件环境搭建(Software Setup)
  • Python / NumPy 教程,提供 Jupyter 和 Colab 版本

这一部分解决“跑不起来”的问题,是后续所有代码练习的前置条件。

模块 1:神经网络基础

图像分类与数据驱动方法

  • 数据驱动分类的基本框架
  • k-Nearest Neighbor(kNN)
  • 训练集 / 验证集 / 测试集划分
  • L1、L2 距离
  • 超参数搜索与交叉验证

线性分类

  • 参数化方法、偏置技巧(bias trick)
  • 支持向量机(SVM)与 Softmax
  • 合页损失(hinge loss)、交叉熵损失
  • L2 正则化
  • 配套网页演示(web demo)

优化

  • 随机梯度下降(SGD)
  • 优化地形、局部搜索、学习率
  • 解析梯度与数值梯度

反向传播

  • 链式法则的解释
  • 实值电路视角
  • 梯度流动中的模式

神经网络架构与训练

笔记把神经网络拆成三部分:

部分 主要内容
Part 1:搭建架构 生物神经元模型、激活函数、网络结构、表示能力
Part 2:数据与损失 预处理、权重初始化、批归一化、正则化(L2/dropout)、损失函数
Part 3:学习与评估 梯度检查、健全性检查、训练过程监控、动量(含 Nesterov)、二阶方法、Adagrad/RMSprop、超参数优化、模型集成

最后用一个二维玩具数据的最小神经网络案例把上述内容串起来。

模块 2:卷积神经网络

  • 卷积与池化层、空间排列、层模式与层尺寸模式
  • AlexNet / ZFNet / VGGNet 案例研究
  • 计算量方面的考量
  • 理解与可视化卷积网络:t-SNE 嵌入、反卷积网络(deconvnets)、数据梯度、欺骗卷积网络(fooling ConvNets)、与人类的对比
  • 迁移学习与微调卷积网络
  • 学生贡献文章,例如“把课程项目做成论文发表”

进阶主题

从作业安排可以看到后续方向:

  • 循环神经网络(RNN)与图像描述生成
  • Transformer 用于图像描述
  • 自监督学习
  • 扩散模型
  • CLIP 与 DINO 模型

怎么用这些笔记

  1. 按模块顺序读,模块 1 的概念是模块 2 的前提。
  2. 读到一个主题时,对照作业中的对应实现(如 Assignment #1 的 kNN、Softmax、全连接网络;Assignment #2 的批归一化、Dropout、卷积网络、网络可视化、RNN 图像描述)动手写一遍。
  3. 遇到梯度、初始化、学习率这类工程问题,优先回看“学习与评估”和“数据与损失”两节,它们集中了常见坑。
  4. 想了解某个具体模型,先看案例研究(AlexNet/ZFNet/VGGNet),再进入可视化与迁移学习部分。

笔记内容会随课程更新,例如 Transformer、自监督、扩散模型、CLIP/DINO 属于较新的增补主题,阅读时以网站当前版本为准。

cs231n.github.io
Course materials and notes for Stanford class CS231n: Deep Learning for Computer Vision.