这篇笔记由本地课程资料同步而来,并按博客阅读方式整理。原始课件、教材、作业与数据集仍保存在本地,不随博客发布。返回课程总览
整理依据:lec1lec15 的课件,以及 复习课ppt 中 17 张复习课截图。复习课截图明确覆盖的重点包括:回归与分类基础、CNN、Transformer、GAN、BERT 与自监督学习、自编码器、对抗攻击、DQN、网络压缩。正式课件中还包含 Batch Normalization、XAI、域自适应、终身学习、元学习等补充考点。

复习课截图显示考试时间为 2026-06-26(周五)上午。本指南不是官方题库,但按课件和复习课重点组织。

0. 考点地图

0.1 考试题型与分配

老师给出的期末题型为:简答题、计算题、论述题,共 10 道题,其中计算题 3 道。因此复习时不要只刷计算,也不要只背概念。建议按下面比例训练:

  • 计算题 3 道:优先押 CNN 输出尺寸/参数量、交叉熵或逻辑回归、Self-Attention、DQN TD target、BN 标准化。每题写清公式、代入、结果和一句解释。
  • 简答题约 4 道:重点准备“区别型”和“机制型”问题,如线性回归 vs 逻辑回归、BERT vs GPT、AE vs VAE、白盒 vs 黑盒、经验回放 vs 目标网络。
  • 论述题约 3 道:要能围绕一个主题展开,结构建议为“问题背景 -> 方法机制 -> 优缺点/局限 -> 应用或考试例子”。
模块 必须掌握 常见题型 易错点
回归与分类 线性回归 vs 逻辑回归、MSE、交叉熵、L2 正则、过拟合 概念辨析、损失计算 把逻辑回归输出当类别而不是概率;交叉熵符号写反
CNN 局部连接、参数共享、卷积输出尺寸、参数量、池化 计算题 忘记通道数、bias、padding、stride
Transformer Q/K/V、自注意力三步、多头注意力、位置编码、BERT/GPT 区别 计算 + 简答 忽略位置编码;把 attention 权重和输出混淆
BN 训练/测试阶段差异、小 batch 问题、优化作用 简答 只背 internal covariate shift,忽略其改变 loss landscape 的观点
GAN/VAE/AE 生成器/判别器交替训练、模式崩塌、VAE 约束潜变量、DAE 简答辨析 误以为普通 AE 原生就能采样生成新样本
BERT/自监督 MLM、NSP、双向上下文、预训练 + 微调 简答 把自监督等同于无监督;BERT 与 GPT 方向性混淆
对抗攻击 白盒/黑盒、FGSM、迁移性、防御、对抗训练 简答 + 小计算 认为黑盒攻击必须知道参数;忽略迁移性
DQN TD target、TD error、经验回放、目标网络 计算题 用预测网络算目标 Q;忘记折扣因子
网络压缩 剪枝、微调、知识蒸馏、量化、二值化 简答 剪枝后不微调;权重剪枝和神经元剪枝混淆
补充章节 XAI、域自适应、终身学习、元学习 简答 概念边界不清

1. 知识点讲解

1.1 机器学习框架、回归与分类

机器学习可以理解为“寻找函数”:输入可以是向量、矩阵、序列或集合,输出可以是数值、类别概率、序列、图像等。

线性回归和逻辑回归核心区别:

维度 线性回归 逻辑回归
任务 预测连续值 分类,输出类别概率
输出范围 (,+)(-\infty,+\infty) 二分类通常为 [0,1][0,1];多分类为概率分布
常用激活 无或线性 sigmoid / softmax
损失 均方误差 MSE 交叉熵 CE
分类决策 不适合直接分类 根据阈值或最大概率决定类别

二分类逻辑回归:

z=wTx+b,p=σ(z)=11+ezz=w^Tx+b,\quad p=\sigma(z)=\frac{1}{1+e^{-z}}

交叉熵:

L=[ylogp+(1y)log(1p)]L=-[y\log p+(1-y)\log(1-p)]

多分类 softmax:

pi=ezijezj,L=logpyp_i=\frac{e^{z_i}}{\sum_j e^{z_j}},\quad L=-\log p_{y}

过拟合定义:训练误差低,测试误差显著升高,说明模型记住了训练集噪声或偶然模式,泛化能力差。

L2 正则化:

Ltotal=Ldata+λiwi2L_{\text{total}}=L_{\text{data}}+\lambda\sum_i w_i^2

作用:惩罚大权重,限制模型复杂度,让模型不容易对训练集中的微小噪声过度反应。常见手段还包括更多数据、数据增强、早停、dropout、交叉验证。

模型偏差 vs 优化问题:

  • 如果更复杂/更深的模型训练误差仍然高,可能是优化问题。
  • 如果训练误差已经很低但测试误差高,通常是过拟合。
  • 如果训练和测试分布不同,是 mismatch / domain shift,单纯增加原训练分布的数据未必有效。

1.2 CNN

CNN 相比全连接网络适合图像的原因:

  • 局部感受野:一个神经元只看局部区域,符合图像局部相关性。
  • 参数共享:同一个卷积核在整张图像复用,大幅减少参数。
  • 平移相关模式复用:同一种局部模式可能出现在图像不同位置。

卷积输出尺寸:

O=N+2PKS+1O=\left\lfloor\frac{N+2P-K}{S}\right\rfloor+1

其中 NN 是输入边长,PP 是 padding,KK 是 kernel size,SS 是 stride。若题目使用复习课公式且保证整除,可直接写:

O=N+2PKS+1O=\frac{N+2P-K}{S}+1

卷积层参数量:

KhKwCinCout+CoutK_hK_wC_{in}C_{out}+C_{out}

如果题目说明不考虑 bias,则去掉最后的 CoutC_{out}

池化:

  • 最大池化:保留最显著局部特征,常用于纹理、边缘、物体部件。
  • 平均池化:保留整体背景或平滑信息。
  • 池化无可学习参数,主要降低特征图尺寸、减少计算、扩大感受野、缓解过拟合。

1.3 Self-Attention 与 Transformer

Self-attention 用来处理“向量集合/序列”输入,让每个 token 根据其他 token 的信息更新表示。

基本步骤:

  1. 每个 token 生成 QQ(查询)、KK(键)、VV(值)。
  2. 计算注意力分数 S=QKTS=QK^T,再对每一行做 softmax 得到权重矩阵 AA
  3. 输出 O=AVO=AV,即对 value 做加权求和。

实际 Transformer 常使用 scaled dot-product attention:

A=softmax(QKTdk),O=AVA=\text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right),\quad O=AV

复习课截图强调的是 S=QKTS=QK^T、softmax、O=AVO=AV 三步,考试若做简单计算可按题目给定公式来。

多头注意力:把表示拆到多个子空间,不同 head 学不同依赖模式,拼接后得到更丰富的表示。

位置编码:自注意力本身不包含顺序信息,因此必须注入位置编码,否则模型无法区分“我爱你”和“你爱我”这类顺序差异。

Self-attention 相比 RNN:

  • 可以并行计算所有位置,训练更快。
  • 长距离依赖捕捉更直接,不像 RNN 逐步传递容易丢失远距离信息。

Self-attention 相比 CNN:

  • CNN 的感受野固定且局部,self-attention 可学习任意位置之间的依赖。
  • 课件中有一句可记:CNN 可看成只能关注固定感受野的 self-attention;self-attention 可看成拥有可学习感受野的 CNN。

1.4 Batch Normalization

BN 的核心是在 mini-batch 上对中间层激活做归一化:

x^=xμBσB2+ϵ,y=γx^+β\hat{x}=\frac{x-\mu_B}{\sqrt{\sigma_B^2+\epsilon}},\quad y=\gamma\hat{x}+\beta

训练阶段使用当前 batch 的均值和方差;测试阶段使用训练过程中累计的 running mean / running variance。

作用:

  • 加快梯度下降收敛。
  • 稳定训练,允许较大学习率。
  • 对模型有一定正则化效果。
  • 课件强调:BN 不只是 internal covariate shift,也会改变误差曲面的 landscape,使优化更容易。

注意:batch 太小时均值方差估计不稳定,BN 效果会变差。

1.5 GAN、VAE 与 Auto-Encoder

GAN 包含生成器 GG 和判别器 DD

  • GG 输入随机噪声,生成假样本。
  • DD 判断样本是真实还是生成。
  • 训练逻辑是双人对抗、交替训练:先更新 DD 区分真假,再固定 DD 更新 GG 骗过 DD

为什么 GAN 不适合同时更新双方:GAN 是零和博弈,双方目标相反;如果同时更新,目标函数持续变化,训练震荡、不收敛。交替固定一方能让优化更稳定。

模式崩塌:生成器只生成少数几种模式的样本,无法覆盖真实分布。原因包括训练不稳定、生成器为骗过判别器只生成已被判别器认可的“安全样本”,不探索新模式。

VAE 与普通 Auto-Encoder:

  • 普通 AE:编码器 + 解码器,目标是最小化重构误差,学习低维特征。潜变量没有分布约束,不天然支持从潜空间采样生成新样本。
  • VAE:在重构误差之外加入 KL 散度,让潜变量接近标准正态分布,训练后可采样生成新样本。
  • DAE:向输入加噪声,训练模型还原干净输入,使特征更鲁棒,避免只复制输入噪声。

异常检测:AE 在正常样本上训练,正常样本重构误差低,异常样本重构误差高,可用重构误差作为异常分数。

1.6 BERT 与自监督学习

三类学习方式:

  • 监督学习:人工标注数据,学习输入到标签的映射。
  • 无监督学习:无标签,挖掘数据内部结构,例如聚类。
  • 自监督学习:不需要人工标签,但从数据自身构造监督信号,从大规模无标注数据学习通用特征。

BERT 的两个经典预训练任务:

  • MLM(Masked Language Model):随机遮盖 token,根据双向上下文预测被遮盖 token。
  • NSP(Next Sentence Prediction):判断两个句子是否连续,学习句子级关系。

BERT vs GPT:

  • BERT 是双向建模,可同时看左右上下文,适合需要完整上下文的理解任务,如阅读理解、命名实体识别。
  • GPT 是单向自回归建模,只看左侧上下文,适合逐 token 生成。

BERT 成功原因:可利用海量无标注文本,预训练得到通用语言表示;下游任务只需少量标注样本微调,缓解小样本任务数据不足。

1.7 XAI:可解释机器学习

Explainable ML 通常是“使用黑盒模型后再解释”;Interpretable ML 则是模型本身透明。

局部解释:解释某一次预测,常见方法是 saliency map,看输入哪些部分对预测最关键。

全局解释:解释整个模型在总体上学到了什么,例如某一神经元或层对哪些概念敏感。

Saliency map 局限:

  • 梯度噪声大。
  • 梯度饱和时重要区域不明显。
  • 只能说明局部敏感性,不能完全等同于因果解释。

改进方法:SmoothGrad 对加噪样本求 saliency 后平均;Integrated Gradients 从 baseline 到输入积分梯度。

1.8 对抗攻击与防御

对抗样本:在正常输入上加入人类难以察觉的微小扰动,使模型输出错误结果。扰动通常通过梯度优化得到。

FGSM:

xadv=x+ϵsign(xL)x_{\text{adv}}=x+\epsilon\cdot \text{sign}(\nabla_x L)

白盒 vs 黑盒:

  • 白盒攻击:知道模型结构、参数和梯度,可直接计算扰动。
  • 黑盒攻击:只能获得模型输出,常训练替代模型近似梯度,再利用对抗样本迁移性攻击目标模型。

迁移性:不同模型在正常样本附近常有共同脆弱方向,因此一个模型上的对抗扰动可能骗过另一个模型。这使黑盒攻击成为可能,也说明对抗脆弱性是神经网络的普遍问题,不只是某个模型的问题。

防御:

  • 被动防御:输入预处理、随机化、检测异常等。
  • 主动防御:对抗训练,把对抗样本加入训练集,使模型局部更稳定。

1.9 域自适应

Domain shift:训练数据和测试数据分布不同。

Domain Adaptation:源域有标注,目标域标注少或无标注,希望模型能迁移到目标域。

Domain Adversarial Training 的思想:

  • 特征提取器要支持标签分类器做好源域分类。
  • 同时特征提取器要“骗过”域分类器,使源域和目标域特征难以区分。
  • 目标是学习域不变特征。

局限:只让边缘分布对齐可能不够,若类别边界不合理,目标域样本虽然对齐了源域,却可能落在错误类别附近。

1.10 强化学习与 DQN

强化学习中智能体与环境交互,学习策略 π(as)\pi(a|s),最大化累计回报:

Gt=k=0γkrt+kG_t=\sum_{k=0}^{\infty}\gamma^k r_{t+k}

Q 值:在状态 ss 执行动作 aa 后,未来能获得的期望回报。

DQN 的目标 Q 值:

y=r+γmaxaQtarget(s,a)y=r+\gamma\max_{a'}Q_{\text{target}}(s',a')

TD error:

δ=yQpred(s,a)\delta = y-Q_{\text{pred}}(s,a)

DQN 通过最小化 TD error 的平方来更新预测网络。

两个关键训练技巧:

  • 经验回放:存储交互样本并随机采样,打破样本相关性,使样本近似独立同分布,同时提高样本利用率。
  • 目标网络:固定目标网络一段时间,使目标 Q 值更稳定,避免目标随着预测网络每步变化导致训练震荡。

On-policy vs Off-policy:

  • On-policy:用于学习的策略和采集数据的策略相同。
  • Off-policy:可用旧策略或其他策略采集的数据来学习当前策略,DQN 属于 off-policy 思路。

1.11 网络压缩

剪枝:

  • 根据权重绝对值、神经元重要性等剪掉影响小的参数或结构。
  • 权重剪枝可能造成稀疏、不规则结构;神经元/通道剪枝更规则,更利于硬件加速。
  • 剪枝会破坏原网络,通常需要微调恢复精度。

知识蒸馏:

  • 大模型 teacher 输出 soft label。
  • 小模型 student 学习 teacher 的输出分布,不只学习 one-hot 标签。
  • soft label 包含类别间相似性信息。

量化:

  • 用低精度表示权重和激活,减少存储和计算。
  • 极端形式是二值网络,权重或激活限制为 +1/1+1/-1

低秩分解、轻量网络结构、动态深度/宽度也属于压缩或高效推理方向。

1.12 终身学习与元学习

终身学习:模型按任务序列学习新任务,同时不忘旧任务。核心问题是灾难性遗忘。

解决方向:

  • 正则化方法:保护旧任务重要参数,例如 EWC。
  • 架构方法:为新任务扩展或分配模型容量,例如 Progressive Neural Networks。
  • 数据方法:保存或生成旧任务样本,回放旧知识。

迁移学习 vs 终身学习:

  • 迁移学习关注学过任务 1 后能否帮助任务 2,不一定要求保留任务 1 能力。
  • 终身学习要求学任务 2 后仍能做任务 1。

元学习:learning to learn。普通 ML 在一个任务内从样本学习模型;元学习在多个任务上学习“学习算法”或初始化,使模型面对新任务能快速适应。

MAML:学习一个好的初始化参数,使模型在新任务上经过少量梯度更新就有好性能。关键词:support set / query set、inner loop / outer loop、few-shot。

2. 例题讲解

例题 1:逻辑回归、交叉熵与 L2

已知 x=(1,2)x=(1,2)w=(0.5,0.25)w=(0.5,-0.25)b=0b=0,真实标签 y=1y=1

  1. 计算预测概率。
  2. 计算二分类交叉熵。
  3. λ=0.1\lambda=0.1,计算加入 L2 后的总损失。

解:

z=0.5×10.25×2=0,p=σ(0)=0.5z=0.5\times1-0.25\times2=0,\quad p=\sigma(0)=0.5

L=log(0.5)=0.693L=-\log(0.5)=0.693

L2=0.1(0.52+(0.25)2)=0.03125L_2=0.1(0.5^2+(-0.25)^2)=0.03125

总损失:

Ltotal=0.693+0.03125=0.72425L_{\text{total}}=0.693+0.03125=0.72425

解析:L2 只惩罚权重,不惩罚预测概率本身;分类结果可按 p0.5p\ge 0.5 判为正类。

例题 2:CNN 输出尺寸与参数量

输入图像大小为 32×32×332\times32\times3。卷积层使用 3×33\times3 卷积核,padding=1,stride=1,输出通道数为 16,考虑 bias。问输出尺寸和参数量。

解:

O=32+2×131+1=32O=\frac{32+2\times1-3}{1}+1=32

输出尺寸为:

32×32×1632\times32\times16

参数量:

3×3×3×16+16=4483\times3\times3\times16+16=448

解析:参数量与输出特征图的空间尺寸无关,只和卷积核大小、输入通道数、输出通道数有关。

例题 3:池化计算

对矩阵

[1320461201532214]\begin{bmatrix} 1&3&2&0\\ 4&6&1&2\\ 0&1&5&3\\ 2&2&1&4 \end{bmatrix}

2×22\times2 最大池化,stride=2。

解:四个窗口最大值分别为 6、2、2、5,输出:

[6225]\begin{bmatrix} 6&2\\ 2&5 \end{bmatrix}

例题 4:Self-Attention 简单计算

给定

Q=[1001],K=[1011],V=[1230]Q=\begin{bmatrix}1&0\\0&1\end{bmatrix},\quad K=\begin{bmatrix}1&0\\1&1\end{bmatrix},\quad V=\begin{bmatrix}1&2\\3&0\end{bmatrix}

按复习课公式 S=QKTS=QK^TA=softmax(S)A=\text{softmax}(S)O=AVO=AV 计算。

解:

S=QKT=[1101]S=QK^T=\begin{bmatrix}1&1\\0&1\end{bmatrix}

第一行 softmax 为 (0.5,0.5)(0.5,0.5);第二行为:

(11+e,e1+e)(0.269,0.731)\left(\frac{1}{1+e},\frac{e}{1+e}\right)\approx(0.269,0.731)

因此:

O1=0.5[1,2]+0.5[3,0]=[2,1]O_1=0.5[1,2]+0.5[3,0]=[2,1]

O2=0.269[1,2]+0.731[3,0][2.462,0.538]O_2=0.269[1,2]+0.731[3,0]\approx[2.462,0.538]

解析:attention 权重矩阵每一行对应该 token 对所有 value 的加权方式。

例题 5:BN 计算

一个 batch 中某一维激活为 [1,3,5][1,3,5],忽略 ϵ\epsilonγ=2,β=1\gamma=2,\beta=1。求 BN 输出。

解:

μ=3,σ2=(13)2+(33)2+(53)23=83\mu=3,\quad \sigma^2=\frac{(1-3)^2+(3-3)^2+(5-3)^2}{3}=\frac{8}{3}

标准差约为 1.6331.633,归一化后:

[1.225,0,1.225][-1.225,0,1.225]

再做缩放平移:

y=2x^+1=[1.449,1,3.449]y=2\hat{x}+1=[-1.449,1,3.449]

例题 6:FGSM 对抗扰动

输入 x=[0.2,0.6]x=[0.2,0.6],损失对输入梯度为 xL=[3,2]\nabla_xL=[-3,2]ϵ=0.1\epsilon=0.1,求 FGSM 后的 xadvx_{\text{adv}}

解:

sign(xL)=[1,1]\text{sign}(\nabla_xL)=[-1,1]

xadv=x+0.1[1,1]=[0.1,0.7]x_{\text{adv}}=x+0.1[-1,1]=[0.1,0.7]

解析:FGSM 使用梯度符号方向快速增大损失。

例题 7:DQN 目标 Q 值与 TD error

某转移样本中 r=1r=1γ=0.9\gamma=0.9,目标网络在下一状态的最大 Q 值为 4,预测网络当前 Qpred(s,a)=3.2Q_{\text{pred}}(s,a)=3.2。求目标 Q 值和 TD error。

解:

y=1+0.9×4=4.6y=1+0.9\times4=4.6

δ=4.63.2=1.4\delta=4.6-3.2=1.4

若用平方损失,则该样本损失为 1.42=1.961.4^2=1.96

解析:目标网络用于计算稳定目标,预测网络用于当前估计。

例题 8:剪枝与微调

某层权重绝对值为 [0.80,0.02,0.15,0.01,0.50][0.80,0.02,0.15,0.01,0.50],若按最小绝对值剪去 40% 权重,应剪哪些?为什么还需要微调?

解:40% 即剪去 2 个权重,剪 0.010.010.020.02

剪枝后网络结构或数值函数被破坏,精度通常下降;微调让剩余权重重新适配任务,恢复精度。

3. 模拟题与答案解析

一、概念辨析题

1. 说明线性回归和逻辑回归在任务、输出范围和损失函数上的区别。

答案:线性回归用于连续值预测,输出范围为实数,常用 MSE;逻辑回归用于分类,输出可解释为概率,二分类在 [0,1][0,1],多分类为概率分布,常用交叉熵。逻辑回归适合分类是因为概率输出和交叉熵更匹配,并且优化稳定。

2. 什么是过拟合?L2 正则为什么可以缓解过拟合?

答案:过拟合是训练误差低、测试误差高。L2 在原损失上加入 λwi2\lambda\sum w_i^2,惩罚大权重,限制模型复杂度,使模型不容易对训练集噪声过度反应。

3. CNN 为什么比全连接网络更适合图像?

答案:图像具有局部相关性,同一模式可能出现在不同位置。CNN 通过局部感受野和参数共享减少参数量,并复用局部特征检测器,因此更适合图像任务。

4. 最大池化和平均池化有什么区别?

答案:最大池化保留窗口中最强响应,适合边缘、纹理等显著局部模式;平均池化保留整体背景和平均信息。两者都能降低尺寸、减少计算、扩大感受野。

5. 为什么 Transformer 需要位置编码?

答案:自注意力只根据 token 间相似度建模,本身没有顺序感。如果不加位置编码,模型无法区分相同 token 集合的不同排列,因此需要注入位置或顺序信息。

6. BERT 和 GPT 的核心区别是什么?

答案:BERT 是双向编码器,通过 MLM 看到左右上下文,适合理解任务;GPT 是单向自回归模型,只看左侧上下文,适合逐 token 生成。

7. 普通 Auto-Encoder、Denoising Auto-Encoder、VAE 的区别是什么?

答案:普通 AE 学重构,目标是压缩和恢复输入;DAE 在输入加噪并恢复干净输入,提升鲁棒性;VAE 约束潜变量分布接近标准正态,使模型可从潜空间采样生成新样本。

8. GAN 为什么容易模式崩塌?

答案:训练不稳定时,生成器可能发现少数几类能骗过判别器的样本,于是反复生成这些“安全模式”,不再覆盖真实分布的全部模式。

9. 白盒攻击和黑盒攻击的区别是什么?为什么黑盒攻击也可能成功?

答案:白盒知道模型参数和梯度,可直接求扰动;黑盒只知道输出,常训练替代模型求扰动。对抗样本具有迁移性,不同模型在正常样本附近可能存在共同脆弱方向,所以黑盒攻击也可能成功。

10. 经验回放和目标网络在 DQN 中分别解决什么问题?

答案:经验回放打破连续样本相关性,使训练样本更接近独立同分布,并提高样本利用率;目标网络固定一段时间,使 TD target 更稳定,减少训练震荡。

11. 域自适应和普通迁移学习有什么不同?

答案:域自适应强调源域和目标域数据分布不同,目标域标注少或无标注,需要学习能迁移到目标域的特征;普通迁移学习范围更广,可能只需要用源任务知识帮助目标任务。

12. 终身学习和迁移学习的区别是什么?

答案:迁移学习关注旧任务知识能否帮助新任务,不一定要求保留旧任务能力;终身学习要求模型学习新任务后仍不忘旧任务。

二、计算题

13. 多分类 softmax 交叉熵

某三分类模型 logits 为 z=[1,2,0]z=[1,2,0],真实类别为第 2 类。求 softmax 概率中第 2 类概率和交叉熵。

答案:

p2=e2e1+e2+e0p_2=\frac{e^2}{e^1+e^2+e^0}

数值近似:

p2=7.3892.718+7.389+1=0.665p_2=\frac{7.389}{2.718+7.389+1}=0.665

交叉熵:

L=log(0.665)0.408L=-\log(0.665)\approx0.408

解析:多分类 CE 只取真实类别概率的负对数。

14. CNN 尺寸与参数

输入 28×28×128\times28\times1,卷积核 5×55\times5,padding=0,stride=1,输出通道 10,考虑 bias。求输出尺寸和参数量。

答案:

O=2851+1=24O=\frac{28-5}{1}+1=24

输出为 24×24×1024\times24\times10

参数量:

5×5×1×10+10=2605\times5\times1\times10+10=260

15. CNN 经过池化后的尺寸

承接第 14 题,若接一个 2×22\times2 最大池化,stride=2,输出尺寸是多少?

答案:空间尺寸从 24×2424\times24 变为 12×1212\times12,通道数不变,输出为 12×12×1012\times12\times10

16. Self-Attention 权重

若某 token 对两个 token 的 attention score 为 [2,0][2,0],求 softmax 权重。

答案:

[e2e2+e0,e0e2+e0][0.881,0.119]\left[\frac{e^2}{e^2+e^0},\frac{e^0}{e^2+e^0}\right]\approx[0.881,0.119]

解析:score 越大,权重越大,但 softmax 后仍为概率分布且和为 1。

17. DQN TD target

某样本 r=1r=-1γ=0.95\gamma=0.95maxaQtarget(s,a)=6\max_{a'}Q_{\text{target}}(s',a')=6,当前预测 Qpred(s,a)=4Q_{\text{pred}}(s,a)=4。求 yy 和 TD error。

答案:

y=1+0.95×6=4.7y=-1+0.95\times6=4.7

δ=4.74=0.7\delta=4.7-4=0.7

18. BN 标准化

某 batch 某维数值为 [2,4,4,6][2,4,4,6],求均值和方差。

答案:

μ=4\mu=4

σ2=(24)2+(44)2+(44)2+(64)24=2\sigma^2=\frac{(2-4)^2+(4-4)^2+(4-4)^2+(6-4)^2}{4}=2

归一化时每个值减 4 再除以 2+ϵ\sqrt{2+\epsilon}

三、简答题

19. 为什么 GAN 训练常采用交替训练而不是同时更新生成器和判别器?

答案:GAN 是对抗博弈,生成器和判别器目标相反。如果同时更新,双方目标函数同时变化,容易震荡或不收敛。交替训练固定一方更新另一方,使优化目标相对稳定。

20. 说明对抗样本迁移性的原因和实际意义。

答案:不同模型在正常样本附近的决策边界可能存在共同脆弱方向,一个模型上找到的扰动可能对另一个模型也有效。实际意义是黑盒攻击可行,攻击者不一定需要目标模型参数;也说明鲁棒性问题具有普遍性。

21. 为什么剪枝后一般需要微调?

答案:剪枝删除了部分权重或结构,破坏了原模型已经学习到的函数,精度通常下降。微调能让剩余参数重新适应任务,在保持小模型的同时恢复性能。

22. 解释 Domain Adversarial Training 的基本思想。

答案:使用特征提取器、标签分类器和域分类器。特征提取器既要让标签分类器在源域上分类准确,又要让域分类器分不清源域和目标域,从而学习域不变特征,提高目标域泛化能力。

23. MAML 想学习什么?为什么适合 few-shot?

答案:MAML 学习一个好的初始化参数,使模型在新任务上用少量 support set 做几步梯度更新后,就能在 query set 上表现好。它适合 few-shot 是因为元训练阶段已经从大量任务中学会了快速适应新任务的初始化。

24. Saliency Map 有哪些局限?

答案:梯度可能噪声大,重要区域不稳定;梯度饱和时无法显示真实重要性;它只反映局部敏感性,不等于完整因果解释。可用 SmoothGrad、Integrated Gradients 等改进。

四、10 题版模拟卷(按老师题型:3 道计算题)

简答题

1. 说明线性回归和逻辑回归的核心区别,并解释为什么分类任务更常用交叉熵。

参考答案:线性回归输出连续实数,常用 MSE;逻辑回归输出概率,二分类用 sigmoid,多分类用 softmax,常用交叉熵。分类任务关心真实类别概率是否高,交叉熵直接惩罚真实类别概率过低的情况,且和最大似然估计一致,比 MSE 更适合概率分类。

2. CNN 相比全连接网络为什么参数更少?池化层有什么作用?

参考答案:CNN 通过局部连接减少每个神经元连接范围,通过参数共享让同一卷积核在不同位置复用,因此参数量远少于全连接。池化降低特征图尺寸、减少计算、扩大感受野,并一定程度缓解过拟合。最大池化保留显著局部响应,平均池化保留整体背景信息。

3. BERT 的 MLM 和 NSP 分别学什么?BERT 为什么适合小样本下游任务?

参考答案:MLM 通过随机遮盖 token 并预测被遮盖内容,学习双向上下文表示;NSP 判断两句话是否连续,学习句子级关系。BERT 可用海量无标注文本做自监督预训练,得到通用语言表示;下游任务只需少量标注数据微调,因此能缓解小样本任务数据不足。

4. 白盒攻击和黑盒攻击有什么区别?为什么对抗样本具有迁移性?

参考答案:白盒攻击知道模型结构、参数和梯度,可直接基于梯度构造扰动;黑盒攻击通常只能看到输出,常训练替代模型后迁移攻击目标模型。迁移性的原因是不同模型在正常样本附近可能存在共同脆弱方向,因此一个模型上的扰动可能对另一个模型也有效。

计算题

5. softmax 交叉熵计算。 logits 为 [2, 1, 0],真实类别为第 1 类,求真实类别概率和交叉熵。

参考答案:

1
2
3
4
p1 = e^2 / (e^2 + e^1 + e^0)
= 7.389 / (7.389 + 2.718 + 1)
≈ 0.665
L = -log(0.665) ≈ 0.408

解析:多分类交叉熵只取真实类别概率的负对数。

6. CNN 输出尺寸和参数量。 输入为 64 x 64 x 3,卷积核为 5 x 5,stride=2,padding=2,输出通道数为 32,考虑 bias。求输出尺寸和参数量。

参考答案:

1
2
3
4
5
O = floor((64 + 2*2 - 5) / 2) + 1
= floor(63 / 2) + 1
= 31 + 1 = 32
输出尺寸:32 x 32 x 32
参数量:5 * 5 * 3 * 32 + 32 = 2432

解析:参数量与输出图像的空间大小无关,只与卷积核大小、输入通道数、输出通道数和 bias 有关。

7. DQN 目标 Q 值和 TD error。 某样本中 r=2gamma=0.9,目标网络在下一状态的最大 Q 值为 5,预测网络当前 Qpred(s,a)=4.8。求 TD target 和 TD error。

参考答案:

1
2
3
4
5
6
y = r + gamma * max Qtarget(s', a')
= 2 + 0.9 * 5
= 6.5
TD error = y - Qpred(s,a)
= 6.5 - 4.8
= 1.7

解析:目标值使用 target network,当前估计使用 prediction network。

论述题

8. 论述 GAN 的训练机制、为什么容易训练不稳定,以及模式崩塌的原因。

参考答案要点:GAN 由生成器和判别器构成,生成器学习生成假样本,判别器学习区分真假样本,二者交替训练。由于二者目标相反,类似零和博弈,如果同时更新目标会不断变化,容易震荡不收敛。模式崩塌是生成器只生成少数模式,原因是它为了稳定骗过判别器,倾向生成已被判别器接受的安全样本,不再覆盖真实分布的全部模式。

9. 论述 Transformer 中 self-attention 的计算流程,并比较它与 CNN/RNN 的差异。

参考答案要点:每个 token 生成 Q、K、V;计算 S=QK^T 得到注意力分数;对每行 softmax 得到权重;用 O=AV 对 value 加权求和。相比 RNN,self-attention 可并行计算所有位置,长距离依赖更直接;相比 CNN,CNN 感受野固定且局部,self-attention 可学习任意位置之间的依赖。但 self-attention 本身没有顺序信息,因此需要位置编码。

10. 论述网络压缩的三类主要方法:剪枝、知识蒸馏、量化,并说明各自优缺点。

参考答案要点:剪枝删除影响小的权重、神经元或通道,能减少参数和计算,但可能破坏网络结构,需要微调恢复精度;知识蒸馏让小模型学习大模型输出的 soft label,能把大模型知识迁移到小模型,但需要训练好的 teacher;量化用低精度表示权重和激活,减少存储和计算,但精度可能下降,极端情况下可做二值网络。

4. 答题模板

4.1 “比较区别”题模板

先写任务目标,再写训练信号/模型结构,最后写优缺点或适用场景。

例:BERT vs GPT:

  • 目标:BERT 做双向表示学习,GPT 做自回归生成。
  • 训练:BERT 用 MLM/NSP,GPT 用预测下一个 token。
  • 优势:BERT 适合理解任务,GPT 适合生成任务。

4.2 “为什么有效”题模板

先指出问题,再说明机制,再补一句副作用或限制。

例:L2 为什么缓解过拟合:

  • 问题:过拟合来自模型对训练集噪声过度反应。
  • 机制:L2 惩罚大权重,降低模型复杂度。
  • 限制:λ\lambda 太大会欠拟合。

4.3 “计算题”检查清单

  • CNN:先算空间尺寸,再写通道数;参数量一定乘 CinC_{in}CoutC_{out};bias 看题目是否说明。
  • Logistic/softmax:先算概率,再算 CE;CE 是负对数,不要漏负号。
  • Attention:先算 QKTQK^T,每行 softmax,再乘 VV
  • DQN:目标值用 target network,当前预测用 pred network。
  • BN:训练用 batch 统计量,测试用 running 统计量。

5. 最后一周复习建议

第 1 阶段:先拿计算题

优先练熟这些公式:

  • 逻辑回归 sigmoid、交叉熵、L2。
  • CNN 输出尺寸和参数量。
  • Self-attention 三步:S=QKTS=QK^T、softmax、O=AVO=AV
  • BN 均值方差归一化。
  • DQN 目标 Q 值和 TD error。

这些题最容易通过反复练习稳定得分。

第 2 阶段:背“区别型”题

重点背以下对比:

  • 线性回归 vs 逻辑回归。
  • CNN vs 全连接。
  • self-attention vs CNN/RNN。
  • BERT vs GPT。
  • AE vs DAE vs VAE。
  • 白盒攻击 vs 黑盒攻击。
  • 经验回放 vs 目标网络。
  • 剪枝 vs 蒸馏 vs 量化。
  • 迁移学习 vs 域自适应 vs 终身学习 vs 元学习。

每个对比按“目标、方法、优缺点、适用场景”四句话组织。

第 3 阶段:做主动回忆

不要只看 PPT。每天用空白纸默写:

  1. 所有公式。
  2. 每章 3 个关键词。
  3. 每个模型为什么提出、解决什么问题、有什么局限。

默写不出来的地方再回课件查。

考前一天

  • 不再扩展新内容。
  • 重做本文的 8 道例题和 24 道模拟题。
  • 检查 CNN、attention、DQN、CE、BN 五类计算题。
  • 把“区别型”题用自己的话口头讲一遍,确保不是只背关键词。