用法:遮住答案,在空白纸上写;写完再展开对照。每张卡末尾标记号:✓ 能完整写出 / △ 有关键词但缺条件 / × 完全想不起,只重做 △ 与 ×。共 40 张卡,一轮约 35 分钟。
A1. 请写出「神经元」的定义,说明三个符号各控制什么,并区分预激活与激活。
解答
z=wTx+b(预激活),a=ϕ(z)(激活)。w 控制各输入的重要性、b 控制激活门槛(平移自由度)、ϕ 决定输出形态与值域。预激活 z 是反向传播里误差信号 δ(l) 的定义对象,激活 a 是层的输出(定义 1.1.1、定义 1.5.3)。(✓ / △ / ×)
A2. 「线性可分」的精确定义是什么?请写出判定不等式。
解答
数据集 {(xi,yi)}(yi∈{−1,+1})线性可分,指存在 w,b 使 yi(wTxi+b)>0 对所有 i 成立(定义 1.1.2)。注意:是「存在一组参数」,不是「某个算法一定能找到」。(✓ / △ / ×)
A3. 写出 MLP 的逐层前向定义(含 l 层、宽度 dl、参数形状)。
解答
z(l)=a(l−1)W(l)+b(l),a(l)=ϕ(z(l));W(l)∈Rdl−1×dl、b(l)∈Rdl;1..L−1 为隐藏层,第 L 层输出即预测;θ={W(l),b(l)}l=1L(定义 1.2.1)。(✓ / △ / ×)
A4. 「批优先」约定是什么?逐层形状推演只有哪三条规则?
解答
张量第 0 维永远是批维,且前向过程中批维大小不变。三条规则:① 线性层把最后一维换掉(B×dl−1→B×dl);② 逐元素激活不改变形状;③ 没有池化 / 卷积 stride 这类算子时 B 全程不变(方法 1.1.1、方法 1.2.1)。(✓ / △ / ×)
A5. 写出交叉熵与均方误差的定义,并说明交叉熵在 one-hot 下退化成什么。
解答
LCE=−∑cyclogy^c,one-hot 时退化为 −logy^ytrue(只惩罚正确类的概率);LMSE=N1∑i(y^i−yi)2。另有 MAE(对应拉普拉斯噪声)与 Huber(阈值内平方、超出后线性)(定义 1.4.2)。(✓ / △ / ×)
A6. 「误差信号 δ(l)」的定义是什么?本讲约定 L 对批求和还是平均?
解答
δ(l)=∂L/∂Z(l)∈RB×dl。本书为公式简洁采用批求和;若损失取批平均,则 δ(l) 再乘 1/B——两种约定只差一个常数因子,但代码里不能重复除(定义 1.5.3)。(✓ / △ / ×)
A7. 「计算图」「雅可比」「VJP」分别是什么?为什么反向传播只做 VJP 而不显式构造雅可比?
解答
计算图 = 把计算表示成有向无环图(节点是张量、边是基本运算);雅可比 J=∂v/∂u∈Rm×n;VJP 是 uˉ=JTvˉ。不构造 J 是因为只需它与某个具体向量的乘积,而该乘积可用矩阵乘法在 O(dindout) 内算完(定义 1.5.2)。(✓ / △ / ×)
A8. 「学习率」与「更新方向 ut」的关系式是什么?不同优化器的差别体现在哪两处?
解答
θt=θt−1−ηut(g1,…,gt;θt−1)。差别全部体现在:① ut 如何由历史梯度构造;② 是逐元素缩放还是整体缩放(定义 1.6.1)。(✓ / △ / ×)
A9. 写出 AdamW 的「解耦权重衰减」更新式,并说明它与把 L2 加进损失的区别。
解答
θt=θt−1−ηtv^t+ϵm^t−ηtλθt−1。衰减是独立一步,对所有坐标施加同一相对衰减 ηtλ;而 L2 加进损失后会被逐元素除以 v^t+ϵ,衰减强度依赖各坐标的梯度历史(定理 1.6.1)。(✓ / △ / ×)
A10. 「经验误差」「泛化误差」「泛化间隙」分别是什么?验证集与测试集各做什么?
解答
R^S(θ)=N1∑iL(f(xi;θ),yi) 是经验(训练)误差;R(θ)=E(x,y)∼D[L] 是泛化误差;泛化间隙 =R−R^S。验证集做决策(选模型、调超参、早停),测试集只用于最终报告且只应使用一次(定义 1.7.1)。(✓ / △ / ×)
A11. 「正则化」的统一定义是什么?它作用于哪四类对象?
解答
任何「在训练目标之外、以降低泛化误差为目的」的手段。作用于参数(约束范数 / 结构)、数据(扩充或改造)、训练过程(早停、噪声注入)、损失(软化目标);统一理解是把有限数据能提供的「能力预算」重新分配(定义 1.7.2)。(✓ / △ / ×)
A12. 写出归一化层的一般形式,并说明 BN / LN / RMSNorm 的差别在哪一个量上。
解答
H^=(H−μS)/σS2+ϵ,Y=γ⊙H^+β。三者的差别在统计量覆盖的集合 S:BN 跨批 + 空间;LN 跨最后若干特征维(单样本);RMSNorm 去掉减均值与平移,只用均方根缩放(定义 1.7.3)。(✓ / △ / ×)
B1. 为什么说「去掉非线性,深度就退化」?给出结论与直觉。
解答
若 ϕ 为恒等,任意层数的网络都等价于一个仿射变换 y^=xW⋆+b⋆、W⋆=∏lW(l)——表达能力与单层相同,参数量却更多(定理 1.2.1)。症状:损失降到某平台后不动,且训练与验证损失几乎重合。(✓ / △ / ×)
B2. 通用逼近定理保证了什么?三条「没保证」是什么?
解答
保证:紧集上、激活非常数有界单调连续时,存在有限宽的单隐藏层网络一致逼近任意连续函数。没保证:① 所需宽度(可能随维度指数增长);② 梯度下降能否找到那组权重;③ 需要多少样本(定理 1.2.2、1.2.3)。(✓ / △ / ×)
B3. 感知机收敛定理说了哪三件事?为什么说它是「条件结论」?
解答
① 线性可分时一定收敛;② 步数上界 k≤(R/γ)2,由数据尺度 R 与间隔 γ 决定,与学习率无关;③ 不可分时定理不作保证(事实上持续震荡)。「条件」指要求严格线性可分且范数有界,真实数据几乎不满足前者(定理 1.1.1)。(✓ / △ / ×)
B4. 全 Sigmoid 深层网络的梯度衰减上界是多少?为什么说它「越自信越学不动」?
解答
跨 L 层至少乘 ∏lmaxzσ′(z)=(1/4)L:L=10 约 9.5×10−7。因为 σ′ 在 ∣z∣ 大时极小,而大 ∣z∣ 恰恰对应「网络很自信」的样本——越自信,传给浅层的梯度越小(定理 1.3.1)。(✓ / △ / ×)
B5. 死亡 ReLU 与 Sigmoid 饱和的机制差别是什么?各自首选处置?
解答
饱和:导数很小但非零,输入分布改变后单元可恢复;死亡:导数恒为 0,参数永不更新、不能自愈。处置:饱和 → 换 ReLU 族并配对 Xavier / Kaiming 初始化;死亡 → 换 GELU / SiLU、降学习率、加 warmup、加归一化层(1.3.4)。(✓ / △ / ×)
B6. softmax + 交叉熵的梯度是什么?这个「干净」结果说明什么工程含义?
解答
∇zL=p^−y,只依赖残差,与 softmax 的显式导数无关(二者在数学上互相抵消)。工程含义:无论 logits 多大多小,梯度都落在 [−1,1] 附近,不饱和、不放大——分类训练比回归稳定,一半功劳在这里(定理 1.4.2)。(✓ / △ / ×)
B7. 为什么深度学习训练一定用反向模式自动微分?
解答
因为它适合「输入多、输出少」:一次反向传播给出对全部输入的导数,代价 O(m⋅图规模)。深度学习里输入是参数量 P(106∼1011)、输出是一个标量损失(m=1),故一次反向就够;前向模式需要 P 次。代价是必须保存前向中间结果(显存开销)(定理 1.5.2)。(✓ / △ / ×)
B8. 误差信号 δ(l) 在每层被用于哪两件事?这与哪个算法同构?
解答
① 乘 W(l+1)T 继续往上游(传给第 l−1 层);② 乘 A(l−1)T 得本层权重梯度。共享同一份误差信号是复杂度从指数降到线性的关键,与动态规划的「用表格保存子问题解」完全同构——正确的说法是「链式法则 + 记忆化」,不是「一种新数学」(1.5.3)。(✓ / △ / ×)
B9. 动量的两个「1/(1−β)」分别指什么?β=0.9 时各是多少?
解答
① 有效步长放大 1/(1−β) 倍(稳态速度 =g/(1−β));② 平滑时间尺度(记忆窗口)约 1/(1−β) 步。β=0.9 时两者都约 10。工程判据:加动量后学习率通常要相应调小,否则等效步长放大 10 倍会发散(命题 1.6.1)。(✓ / △ / ×)
B10. 为什么 Adam 需要偏差修正?不修正会发生什么?
解答
因为 m0=v0=0,滑动平均在前若干步被系统性拉向零:E[mt]=(1−β1t)μ=μ。不修正时 v^ 偏小得更厉害,比值被扭曲——前几百步的有效步长异常巨大,训练不稳定(定义 1.6.4)。(✓ / △ / ×)
B11. 「Adam 的更新量级约等于 η」是怎么来的?由此解释它对梯度爆炸 / 消失的表现。
解答
梯度近似恒定时 m^t/v^t≈g/g2=sign(g),故每步位移约 ±η(逐坐标)。推论:① 梯度爆炸时仍安全(更新被压到 η 量级);② 梯度消失时反而放大(分子分母同比例缩小)。所以 Adam 对学习率的敏感性远低于 SGD(定义 1.6.4)。(✓ / △ / ×)
B12. 线性缩放规则说什么?什么情况下失效?
解答
批大小乘 k 时学习率同比放大 k 倍(η′=kη),在批内梯度噪声相对稳定且步数足够多时可得近似相同的轨迹。失效情形:k 过大、各层尺度差异悬殊、训练步数太少。替代:平方根缩放(η′∝k)、加长 warmup、逐层自适应(LARS / LAMB)(定理 1.6.2)。(✓ / △ / ×)
B13. 近似误差、估计误差、优化误差分别对应什么问题?处置手段能互换吗?
解答
近似误差 = 模型族能力不足(→ 加容量 / 换架构 / 加特征);估计误差 = 样本有限(→ 加数据 / 加正则 / 简化模型);优化误差 = 没找到最优(→ 调优化器 / 学习率 / 归一化 / 初始化)。三类手段互不通用:用正则治优化误差、用加容量治估计误差都是常见的无效努力(推论 1.7.1)。(✓ / △ / ×)
B14. 双下降现象的内容是什么?它推翻了什么流行说法?
解答
随模型参数量(或训练轮数、样本量)增大,测试误差呈「先降 → 升到峰值 → 再降到比第一个谷更低」的形态,峰值出现在插值阈值附近(参数量≈样本量)。它推翻「参数比样本多就一定过拟合」——参数量本身既不是过拟合的充分条件也不是必要条件,起决定作用的是隐式 / 显式正则化(定理 1.7.3)。(✓ / △ / ×)
C1. 写出神经元前向与批量矩阵形式(含各张量形状),并写出 MLP 全网络参数总量公式(说明它与批大小的关系)。
解答
单元:z=wTx+b, a=ϕ(z);批量:Z=XW+1bT、A=ϕ(Z),其中 X:B×n、W:n×m、b:m、Z,A:B×m(方法 1.1.1)。参数总量 P=∑l=1L(dl−1dl+dl),与批大小 B 无关(方法 1.2.1)。(✓ / △ / ×)
C2. 写出 Xavier 与 Kaiming 的方差公式及各自适配的激活。
解答
Xavier:Var(w)=din+dout2(均匀版上界 6/(din+dout)),配 Sigmoid / tanh;Kaiming:Var(w)=din2,配 ReLU 族(因 ReLU 半区截断使方差减半,故增益乘 2)(方法 1.2.2)。(✓ / △ / ×)
C3. 写出反向传播的完整递推(输出层、逐层回传、两个参数梯度)。
解答
δ(L)=∂A(L)∂L⊙ϕ′(Z(L)),δ(l)=(δ(l+1)W(l+1)T)⊙ϕ′(Z(l)),∂W(l)∂L=A(l−1)Tδ(l),∂b(l)∂L=i=1∑Bδi:(l).
偏置梯度沿批维求和,不是复制(定理 1.5.3)。(✓ / △ / ×)
C4. 写出中心差分与相对误差公式,并给三档阈值。
解答
∂θj∂L≈2hL(θj+h)−L(θj−h)(误差 O(h2));rel_err=max(1,∣gjnum∣,∣gjana∣)∣gjnum−gjana∣。h=10−5∼10−6、双精度下:<10−7 正确;10−5 量级可疑;≥10−3 基本确定有 bug(定义 1.5.4)。(✓ / △ / ×)
C5. 写出 Momentum 与 Nesterov 的更新式。
解答
Momentum:vt=βvt−1+gt,θt=θt−1−ηvt(β 常取 0.9)。Nesterov:vt=βvt−1+∇θL(θt−1−ηβvt−1)(梯度取在前瞻点上)(定义 1.6.2)。(✓ / △ / ×)
C6. 写出 RMSProp 与 AdaGrad 的更新式,并说明 RMSProp 修掉了 AdaGrad 的什么问题。
解答
AdaGrad:st=st−1+gt⊙gt,θt=θt−1−ηst+ϵgt;RMSProp 把累积改成指数滑动平均 st=γst−1+(1−γ)gt⊙gt(γ 常取 0.9 或 0.99)。修掉的是「分母单调增 → 有效步长衰减到零」(定义 1.6.3)。(✓ / △ / ×)
C7. 写出 Adam 的四个式子(含偏差修正与默认超参)。
解答
mt=β1mt−1+(1−β1)gt,vt=β2vt−1+(1−β2)gt⊙gt,m^t=1−β1tmt,v^t=1−β2tvt,θt=θt−1−ηv^t+ϵm^t。默认 β1=0.9、β2=0.999、ϵ=10−8(定义 1.6.4)。(✓ / △ / ×)
C8. 写出梯度裁剪与梯度累积的公式。
解答
裁剪:g←g⋅min(1, c/∥g∥2)(PyTorch:clip_grad_norm_(params, c),返回值是裁剪前的范数);累积:每 k 个小批更新一次,等效批大小 =k×Bmicro,损失须除以 k(1.6.6)。(✓ / △ / ×)
C9. 写出偏置-方差分解的三项。
解答
ES,ϵ[(y−f^S(x))2]=不可约噪声σ2+偏置2(ES[f^S]−f⋆)2+方差ES[(f^S−ES[f^S])2].
高偏置 = 模型族太小(欠拟合);高方差 = 对训练集噪声过度敏感(过拟合)(定理 1.7.1)。(✓ / △ / ×)
C10. 写出标签平滑的定义式,并说明它改变了什么。
解答
ycLS=(1−ϵ)1[c=ctrue]+Cϵ,c=1,…,C。它同时改变了 H(p) 与最优解:给 logit 差距设了有限的最优值,因此既是正则手段、又会降低概率校准质量(蒸馏场景下可能反而不如不加平滑的老师)(定义 1.4.4)。(✓ / △ / ×)
C11. 写出交叉熵与 KL 散度的关系式,并说明哪两种比较等价、哪一种不可比。
解答
H(p,q)=KL(p∥q)+H(p)。目标分布固定(同一数据集)时 H(p) 与参数无关,故「最小化交叉熵」与「最小化 KL」训练中等价;但跨数据集比较交叉熵不可比,因为 H(p) 不同(定理 1.4.3)。(✓ / △ / ×)
D1. 「单层网络换了 Sigmoid 就能解决 XOR」;「通用逼近定理说明大网络能拟合任何东西,所以建大一点就对了」。
解答
两处都错。① 单层的判决面仍是同一个超平面 z=0,能表达的函数族没变——换激活只让它可以用梯度训练,跨过能力边界要靠分层(1.1.4)。② 定理只说明存在这样的权重:宽度可能指数级(不可寻)、优化可能到不了(不可训)、样本可能不够(不保样本效率);它给的是能力下限,不是设计目标(1.2.3)。(✓ / △ / ×)
D2. 「隐藏层用 Sigmoid 更『神经』,而且更光滑」;「ReLU 的稀疏性是天然优点,越稀疏越好」。
解答
两处都错。① 直接落进 (1/4)L 陷阱:L=10 时梯度上界约 9.5×10−7;隐藏层默认 ReLU 族,Sigmoid 只用在需要 (0,1) 输出的位置(二分类输出层、门控里的门)。② 负区输出为零意味着该路径没有学到任何东西,只有网络足够宽、且负区分布是数据驱动(而非初始化偏差导致)时,稀疏才无害(1.3.8)。(✓ / △ / ×)
D3. 「网络里已经加了 Softmax,再接 CrossEntropyLoss 是标准做法」;「BCELoss 与 BCEWithLogitsLoss 随便用哪个都行」。
解答
两处都错。① CrossEntropyLoss 内部已含 log_softmax,等于做了两次归一化,梯度被额外雅可比改写,表现为收敛变慢、概率过自信;判据是检查喂进去的是 logits 还是概率。② BCELoss 期望概率(需先过 Sigmoid),BCEWithLogitsLoss 期望 logits;用 BCELoss 却喂 logits,梯度会在饱和区几乎消失(1.4.10 错误 1、7)。(✓ / △ / ×)
D4. 「反向传播是一种近似方法,误差来自它本身」;「偏置的梯度就是 δ(l)」。
解答
两处都错。① 它是链式法则的精确实现(沿计算图逆序执行 VJP),唯一近似之处是你是否用有限差分去近似它。② 批量下偏置被 B 个样本共享,必须沿批维求和:∂L/∂b(l)=∑i=1Bδi:(l),形状 dl;直接写 δ(l) 会得到 B×dl(报错或静默广播放大 B 倍)(1.5.6 错误 1、4)。(✓ / △ / ×)
D5. 「Adam(weight_decay=λ) 就是 AdamW」;「加了动量,学习率不用动」。
解答
两处都错。① 前者是 Adam + L2,正则项被 v^t 逐元素缩放,各坐标衰减强度依赖梯度历史;要解耦权重衰减必须用 AdamW。② 动量把有效步长放大约 1/(1−β)=10 倍(β=0.9),不调小会直接发散(1.6.9 错误 1、2;命题 1.6.1)。(✓ / △ / ×)
D6. 「推理时 BatchNorm 用当前 batch 的均值与方差」;「Dropout 忘了 eval() 也没关系」。
解答
两处都错。推理时 BN 用训练期累积的 running statistics(否则 batch=1 时统计量无定义);忘记 model.eval() 会让 Dropout 继续随机置零、BN 继续用当前批统计量,判据是同一输入连续两次推理结果不同(定理 1.7.2、1.7.8 错误 3)。(✓ / △ / ×)
D7. 「用验证集调参、再用验证集报结果」;「预处理放在划分之前做省事」。
解答
两处都错。① 反复用验证集选择 = 在验证集上过拟合,报告指标系统性偏高。② 预处理(标准化 / 特征选择 / 编码)在划分前拟合,是把验证集统计量泄漏进训练——这是最高频、最隐蔽的一处泄漏。正确做法:先划分,只在训练集 fit,最终报告用一次性测试集(1.7.6 的数据泄漏清单、方法 1.7.2)。(✓ / △ / ×)
- 建卡组:打开 Anki → 新建卡组「DL-第 1 讲」,与「DL-全书」卡组并列(不要混在默认卡组里)。
- 逐条录入:正面放「编号 + 题干」,背面放「答案 + 依据」;纯文本批量导入时用
Tab 分隔「正面 / 背面」,一行一张卡(本页 40 张可按 A1–A12 / B1–B14 / C1–C11 / D1–D7 顺序录入)。
- 复习节点(1 / 3 / 7 天):当天 → 隔天(第 1 天)→ 第 3 天 → 第 7 天,四轮;每轮只重做标 △ 与 × 的卡。四轮后仍未「✓」的卡,抄进勘误与补注第四节的待核实条目,作为个人薄弱点单独跟踪。
- 加一道保险:公式卡(C 组)背面附一张手写照片——公式打字的记忆强度低于手写。与速查背记卡、公式与结论卡、易混对照卡配合使用:本页负责检索,它们分别负责压缩、收口、辨析。