深度学习 · 从原理到模型¶
这组笔记围绕一条主线展开:用参数化模型做预测,通过损失评价结果,再通过优化更新参数。 数学基础帮助理解这条主线,不同网络结构则提供处理不同数据的方式。
知识地图¶
| 阶段 | 核心问题 | 笔记入口 |
|---|---|---|
| 数学基础 | 数据与不确定性怎样表达? | 线性代数、概率统计、导数与反向传播 |
| 基础模型 | 预测、损失与优化怎样配合? | 线性方法与 softmax、最大似然与逻辑回归、多层感知机 |
| 训练与泛化 | 学得好是否意味着预测得好? | 模型选择与正则化、计算图、数值稳定性、分布偏移 |
| 视觉模型 | 怎样利用图像中的局部结构? | 卷积网络、LeNet 到 NiN、GoogLeNet 到 DenseNet |
| 序列与注意力 | 怎样表达顺序与跨位置关联? | 序列模型、注意力机制 |
读公式时,先问这四件事¶
- 对象:符号代表标量、向量还是矩阵?
- 形状:运算前后的维度是否一致?
- 目标:公式在预测、损失还是参数更新中起作用?
- 直觉:输入或参数变化时,结果应该怎样变化?
例如线性层中的矩阵乘法,不只是公式变换,也是在把输入特征映射到输出空间。先标记每个维度,再代入小矩阵手算,通常比直接记忆更容易理解。
训练实验的记录模板¶
| 项目 | 需要记录的内容 |
|---|---|
| 任务与数据 | 预测目标、训练/验证划分、预处理方法 |
| 模型 | 层数、隐藏维度、参数量与输入输出形状 |
| 优化 | 损失函数、学习率、批大小、优化器 |
| 结果 | 训练和验证指标、异常现象、失败样本 |
| 复盘 | 改动了什么、观察到什么、下一次验证什么 |
一次只改变一个主要变量
若同时改变模型、学习率和数据处理方式,很难解释结果变化来自哪里。先建立简单基线,再逐项比较。