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 的概念是模块 2 的前提。
- 读到一个主题时,对照作业中的对应实现(如 Assignment #1 的 kNN、Softmax、全连接网络;Assignment #2 的批归一化、Dropout、卷积网络、网络可视化、RNN 图像描述)动手写一遍。
- 遇到梯度、初始化、学习率这类工程问题,优先回看“学习与评估”和“数据与损失”两节,它们集中了常见坑。
- 想了解某个具体模型,先看案例研究(AlexNet/ZFNet/VGGNet),再进入可视化与迁移学习部分。
笔记内容会随课程更新,例如 Transformer、自监督、扩散模型、CLIP/DINO 属于较新的增补主题,阅读时以网站当前版本为准。