Theme
下面是 Lecture 6「Generalization and Regularization」的复习笔记。核心主线是:为什么模型训练误差低但测试误差高?如何用偏差-方差分解解释泛化失败?又如何用正则化把“大模型”约束成泛化更好的模型? 课件从过拟合出发,经由 bias-variance decomposition,进入参数正则化,再扩展到数据增强、噪声鲁棒性、early stopping、参数共享、ensemble/dropout、稀疏表示和对抗训练。
1. 本章进化树:从“过拟合现象”到“泛化控制”
本章不是在讲某一个模型,而是在讲深度学习训练中的核心矛盾:
更准确地说,训练集只是从真实分布 中采样出来的一份有限样本。模型如果只追求最小化训练误差,就可能学到训练集的随机波动,而不是数据分布的稳定规律。课件第一页核心例子是 polynomial regression:低阶多项式欠拟合,高阶多项式虽然可以穿过所有训练点,但会严重振荡,导致真实函数近似很差。
本章逻辑可以画成:
重要程度:极高。这章是理解为什么 deep learning 可以用超大模型但仍然泛化的基础。
2. Overfitting 与 Generalization Gap
监督学习中,过拟合的典型表现是:
训练误差,即 empirical error,是在训练集上计算的误差;泛化误差是模型在真实数据分布上的期望误差。课件强调,模型容量增大时,训练误差通常持续下降,但测试误差先下降后上升,因此存在一个 optimal capacity。
设训练集为:
假设空间为:
其中, 是输入样本, 是实值标签, 是特征映射, 是参数, 是从假设空间中选出的预测函数。
训练误差为:
训练过程是:
但是,由于训练集 是从真实分布 中随机采样的,学到的模型应该写成 ,即它依赖于具体训练集。泛化误差是:
generalization gap 是:
考试重点:不要只说 overfitting 是模型太复杂;更严谨地说,是模型对训练集随机波动敏感,导致经验风险与真实风险之间出现 gap。
3. Bias-Variance Decomposition
我们真正关心的不是某一次训练集上的泛化误差,而是算法面对所有可能训练集时的平均表现:
为了推导,省略 ,有:
加入并减去 :
所以:
展开:
交叉项为 0,因为:
最终得到:
也就是:
其中:
表示平均模型和真实标签之间的系统性偏差,主要由 hypothesis class 的表达能力决定。
表示不同训练集导致模型输出波动的程度,主要由模型容量和训练集随机性决定。
4. Bias-Variance Tradeoff
模型太简单,例如 的常数模型,会有 low variance 但 high bias。不同训练集学到的函数差不多,但平均函数本身离真实函数很远,这是 underfitting。
模型太复杂,例如 的高阶多项式,会有 low bias 但 high variance。平均意义上可以拟合真实函数,但每次训练集稍微变化,学到的函数就剧烈变化,这是 overfitting。
合适容量,例如 ,同时避免过高 bias 和过高 variance,因此泛化误差最低。课件总结为:模型容量增加时,bias 通常下降,variance 通常上升;泛化最优来自二者折中。
| 模型容量 | Bias | Variance | 问题 | 对应现象 |
|---|---|---|---|---|
| 太低 | 高 | 低 | 欠拟合 | 训练误差和测试误差都高 |
| 适中 | 中/低 | 中/低 | 最优泛化 | 测试误差最低 |
| 太高 | 低 | 高 | 过拟合 | 训练误差低,测试误差高 |
Regularization 的本质就是:允许 training error 稍微升高,换取 variance 降低,从而降低 test error。
5. Ridge 与 LASSO:正则化的第一层形式
Ridge regression:
LASSO:
其中, 是 bias/intercept, 是权重向量, 是特征映射, 控制正则强度。Ridge 用 范数压小权重;LASSO 用 范数诱导稀疏性。
6. General Regularized Objective
统一形式:
其中, 是模型参数, 是原始训练目标, 是正则项, 是正则强度。
直觉是:
不同 会偏好不同解: 偏好小权重, 偏好稀疏权重,representation penalty 偏好稀疏激活。
7. Regularization / Weight Decay
如果忽略 bias,只令 ,则:
梯度为:
梯度下降更新:
等价于:
所以 regularization 又叫 weight decay,因为每一步都会先把权重乘上 ,再进行正常梯度更新。
更深层推导:在未正则目标最优点 附近做二阶近似:
其中, 是 Hessian,定义为:
因为 是局部极小点,所以一阶项消失。正则化后最优解 满足:
整理:
所以:
若 Hessian 特征分解为:
其中, 是特征向量矩阵,,则:
在第 个特征方向上,权重被缩放:
结论非常重要: 对低曲率方向惩罚更强,对高曲率方向影响较弱。 因为如果 小,则 小,参数会被大幅压缩;如果 大,则比例接近 1。
Bayesian 解释: regularization 等价于对权重施加 Gaussian prior 后做 MAP estimation。
8. 在线性回归中的形式
普通 least squares:
最优解:
加入 :
课件给出的正则化解为:
核心变化是:
这有两个意义。第一,防止 奇异,使 underdetermined problem 变得 well-defined。第二,它相当于让模型“感知”每个输入特征的 variance 更大,因此会压小那些与输出 协方差不够强的特征权重。
9. Regularization
忽略 bias 后:
梯度形式为:
严格地说, 处不可导,需要用 subgradient;考试通常接受 sign 形式。
在 附近做二阶近似,并假设 Hessian 是 diagonal:
则:
每个维度的解析解为:
这就是 soft-thresholding。若:
则:
否则只是向 0 移动:
所以 会产生稀疏解,可以做 feature selection。Bayesian 解释是对权重施加 Laplace prior:
几何直觉: ball 有尖角,等高线更容易在坐标轴角点相交,因此更容易得到某些参数为 0 的解; ball 是圆滑的,更倾向于整体缩小而不是置零。
10. Norm Penalty 作为 Constrained Optimization
正则化也可以理解为约束优化:
subject to:
构造 Lagrangian:
其中 。问题为:
如果固定 ,则:
这正是 regularized objective。
所以,penalty 和 constraint 是同一个思想的两种表达:penalty 用 控制约束强度;explicit constraint 直接控制可行区域大小 。
11. Data Augmentation
数据增强的核心逻辑是:
如果任务天然要求模型对某些变换不敏感,例如图像分类对 translation、rotation、scaling、hue shift 等不敏感,就可以人为生成变换后的样本。课件列举了 affine distortion、noise、elastic deformation、horizontal flip、random translation、hue shift 等。
Random Crop:随机裁剪固定大小矩形,再 resize 到输入大小。作用是迫使模型不要依赖训练集中的位置偏差。
DropBlock:随机遮挡图像中的矩形区域,用灰色或随机颜色填充。作用是阻止模型依赖局部细节,迫使其学习更全局、更稳定的概念。
重要程度:高。考试可能问“为什么 augmentation 是 regularization?”答案是它编码了任务不变性,扩大有效训练集,降低 variance。
12. Noise Injection
12.1 Input Noise
在输入上加随机噪声可以看作 data augmentation。某些模型中,对输入加入 infinitesimal variance 的噪声等价于对权重范数施加惩罚。它也出现在 denoising autoencoder 中。
12.2 Weight Noise
对权重加噪声可以理解为 Bayesian uncertainty 的随机近似。Bayesian learning 认为权重不是固定点估计,而是有 posterior distribution;weight noise 是对这种不确定性的实践近似。
回归设置中,原始目标:
如果对权重加入扰动:
扰动模型为:
目标变为:
展开:
当 很小时,等价于加入正则项:
含义是:鼓励模型进入那些“权重小扰动不会显著改变输出”的区域,也就是 flat/stable solution。
12.3 Output Noise / Label Smoothing
如果数据标签有错误,强行最大化:
可能会过度相信错误标签。Label smoothing 假设标签 以 的概率正确,以 的概率可能是其他类别。对于 类 softmax,把 hard target 从 0/1 改成 soft target:
课件表述为将 hard 0 和 1 target 替换为 和 ;更常见实现是 correct class 为 ,其他类为 。复习时建议理解本质:不要让模型对单一标签过度自信。
13. Early Stopping
现象:大模型训练时,training error 持续下降,但 validation error 先下降后上升。Early stopping 选择 validation error 最低时的参数,而不是训练到最终 epoch。
它为什么是 regularization?因为它限制了参数从初始化点 出发后能走多远,相当于把优化限制在参数空间中的较小区域。
在简单线性模型中,令 ,并在 附近二阶近似:
梯度:
设初始化:
梯度下降轨迹:
所以:
令:
则:
而 regularization 的解满足:
也可以写成:
二者等价条件是:
当 且 时:
也就是:
结论:训练步数 越小,相当于正则强度 越大;训练越久,正则越弱。
14. Parameter Sharing 与 Multi-Task Learning
Parameter sharing 的思想是:如果两个任务或两个输入分布具有相似结构,那么模型参数不应该完全独立。可以使用 penalty:
鼓励两个模型参数接近;更常用的是直接强制部分参数相等。CNN 中卷积核在空间位置共享,就是最经典的 parameter sharing。
Multi-task learning 是 parameter sharing 的扩展:多个任务共享中间表示 ,再接不同 task-specific heads。其成立前提是:多个任务背后的生成因素有一部分是共享的。
重要程度:中高。考试可能问:parameter sharing 为什么 regularize?答案是它减少有效自由度,让参数受到多个数据源共同约束。
15. Bagging 与 Ensemble
Bagging = bootstrap aggregating。核心思想是训练多个模型,然后平均或投票。原因是不同模型通常不会犯完全相同的错误。
设有 个 regression models,每个模型误差为 。假设:
ensemble 平均误差是:
其期望平方误差:
如果错误完全相关:
则 ensemble error:
没有收益。
如果错误完全不相关:
则:
误差下降 倍。
核心结论:ensemble 的收益来自 error decorrelation,而不是简单地多训练几个模型。
16. Dropout:让 Bagging 在神经网络中可行
Bagging 对大网络很贵,因为要训练很多独立模型。Dropout 可以看成用一个 base network 随机采样大量 sub-networks。每次 forward 时,为输入或隐藏单元采样 binary mask:
然后:
其中, 是原激活, 是 mask, 是保留概率。被 mask 为 0 的单元相当于被临时移除。
Dropout 与 bagging 的区别:
| 方法 | 模型关系 | 训练方式 | 成本 |
|---|---|---|---|
| Bagging | 多个独立模型 | 每个模型单独训练到收敛 | 高 |
| Dropout | 大量共享参数的子网络 | 每步随机训练一个子网络 | 低 |
Dropout 的本质 regularization 是:防止 hidden units co-adaptation,即防止某些神经元只在固定搭档存在时才有效。
17. Sparse Representations
前面 是 sparse parametrization:让很多参数为 0。Sparse representation 是让中间表示 的很多元素为 0 或接近 0。
表示正则化形式:
若:
则会诱导 representation sparsity。
OMP 的形式:
其中, 是输入, 是 dictionary/basis matrix, 是稀疏编码, 是非零元素个数,约束 表示最多使用 个 basis 来重构输入。
区别:
| 类型 | 稀疏对象 | 作用 |
|---|---|---|
| Sparse parametrization | 参数 | feature selection,减少模型自由度 |
| Sparse representation | 激活 | 学习更解耦、更紧凑的中间表达 |
18. Adversarial Training
对抗样本是指在原始输入 附近寻找一个 ,使人类几乎看不出差别,但模型预测发生巨大变化。课件指出,即使接近人类准确率的模型,也可能在 adversarial examples 上接近 100% 错误率。
Goodfellow 的解释是 excessive linearity。对于线性函数:
如果每个输入维度被扰动 ,最大输出变化约为:
在高维空间中,哪怕每个维度扰动很小,累积影响也可以很大。
Adversarial training 的目标是训练模型在 附近局部稳定:
希望:
或者分类任务中:
直觉是:真实数据通常位于低维 manifold 上,不同类别的 manifold 通常不连续;小扰动不应该让样本从一个类别 manifold 跳到另一个类别 manifold。对抗训练因此鼓励模型在训练数据附近 locally constant。
19. 全章方法对比表
| 方法 | 解决什么问题 | 如何 regularize | 主要影响 | 重要程度 |
|---|---|---|---|---|
| / weight decay | 权重过大、解不稳定 | 惩罚 | shrink weights,降低 variance | 极高 |
| 特征过多、需要稀疏 | 惩罚 | 产生 sparse solution | 高 | |
| Constraint view | penalty 的理论解释 | 限制 | 控制参数可行域 | 中高 |
| Data augmentation | 数据少、模型学到 spurious pattern | 加入合法变换样本 | 编码 invariance | 高 |
| Input/weight noise | 模型对扰动敏感 | 加噪声训练 | 学 flat/stable solution | 中高 |
| Label smoothing | 模型过度自信、标签噪声 | hard label 变 soft label | 降低 overconfidence | 高 |
| Early stopping | 训练过久导致过拟合 | 停在 validation 最优点 | 类似 | 极高 |
| Parameter sharing | 参数太多、任务结构相似 | 强制参数共享 | 降低自由度 | 中高 |
| Ensemble | 单模型误差不稳定 | 平均多个模型 | 降低 variance | 高 |
| Dropout | ensemble 太贵、co-adaptation | 随机采样子网络 | 近似大规模 ensemble | 极高 |
| Sparse representation | 表达不紧凑 | 惩罚 hidden representation | 学稀疏激活 | 中 |
| Adversarial training | 对抗扰动脆弱 | 用 adversarial examples 训练 | 局部稳定性 | 高 |
20. 期末复习抓手
这章最核心的考试链条是:
必须会推的公式有四组:第一,bias-variance decomposition;第二, 的 weight decay 更新式;第三, 在 Hessian eigenbasis 下的 shrinkage factor ;第四,early stopping 与 的近似关系 。
最容易考概念辨析的是: 为什么稀疏、 为什么不稀疏;dropout 为什么是近似 bagging;early stopping 为什么也是 regularization;adversarial training 为什么和 excessive linearity 有关。