PAC作为两轴平面
两条轴,一个样本计数曲面
在水平轴上绘制ε(误差容限,范围0到1)。在竖直轴上绘制δ(失败概率,范围0到1)。这个单位正方形中的每个点对应一个(ε, δ)需求对。
在每个点上方坐着一个样本计数值m(ε, δ) = (1/ε)(ln|H| + ln(1/δ))。所有这些m值共同描绘了一个横跨我们正方形的弯曲曲面。更严格的需求(更小的ε、更小的δ)将我们的曲面向上拉;更宽松的需求将其压平。
等样本数等值线
将我们的曲面投影回平面上作为等m等值线。单条等值线上的每个(ε, δ)对都需要相同的样本预算。沿着等值线移动以在固定成本下交换误差容限与信心。
将轴减半
沿水平轴将ε减半时,m上升的因子为2(关于1/ε线性)。沿竖直轴将δ减半时,m上升的因子为ln(2) ≈ 0.69(关于1/δ对数)。几何学告诉我们:误差容限的成本比信心陡峭。
读取预算曲面
我们位于点(ε = 0.05, δ = 0.05),假设类|H| = 10⁶。样本需求m₀ = (1/0.05)(ln(10⁶) + ln(20)) = 20 × (13.8 + 3.0) = 336。
点云上的二分法
破碎看起来是什么样的
在平面上放置n个点。选择一个假设类(线性分类器=直线)。计算这个n点集有多少种不同的标记方式(每条线两侧的+/−)。将此计数称为Π_H(n)。
如果Π_H(n) = 2ⁿ,我们的类破碎了该点集——它可以产生每一种可能的标记。如果Π_H(n) < 2ⁿ,某些标记无法出现。
一般位置中的三个点
ℝ²中的线性分类器破碎任意3个非共线点。2³ = 8种标记;所有8种都可以由某条直线实现。选择任意3个点;对于每个±/±标记,画一条分离正负例的直线。
四个点拒绝破碎
将4个点放在正方形的角上。尝试将对角线对标记为正,将反对角线对标记为负(XOR标记)。没有直线能分离它们。所以Π_H(4) ≤ 14 < 16 = 2⁴。
VC维度作为最大破碎大小
VC(线性ℝ²) = 3。我们可以破碎3个点;我们不能破碎4个。VC计数了我们假设类的最大二分法容量。
几何直觉
更高的VC =我们的类绘制更复杂的决策边界。线性(VC = d+1在d维中)绘制超平面。多项式绘制曲线。神经网络绘制高度褶皱的流形。更多褶皱能力=更多二分法=更高的VC=更高的样本需求。
计数二分法
考虑ℝ²中的线性分类器(直线)。我们有5个点处于一般位置(无3个共线,无冗余)。
假设流形上的概率质量
想象PAC-贝叶斯
将假设空间想象为高维流形。这个流形上的每个点对应神经网络的一个权重配置。先验P在整个流形上分配概率分布(通常是以初始化为中心的高斯分布)。后验Q在训练数据驱动权重的地方集中概率质量。
KL散度作为几何距离
KL(Q‖P)测量Q从P漂移了多远。几何读法:后验云从先验云移动了多远,按后验每个区域在先验下的不可能性加权。
小KL = Q重叠P严重。后验几乎没有移动。泛化间隙保持小。
大KL = Q浓缩在P分配了很少质量的区域。后验移动了很多。泛化间隙增大。
这个几何学为什么重要
想象SGD是跨假设流形的搜索轨迹。轨迹结束在低训练损失的盆地。PAC-贝叶斯问:这个盆地有多宽?
宽盆地 =许多邻近的权重配置也实现低训练损失。后验Q可以在宽区域上扩展,仍保持低风险。KL(Q‖P)保持有界。泛化间隙小。
窄盆地 =只有少数权重集实现低损失。后验必须锐利地集中。KL增大。泛化间隙扩大。
这直接连接到平坦与尖锐最小值的讨论(Hochreiter & Schmidhuber 1997, Keskar et al 2017)。平坦最小值泛化更好,因为它们支持具有较小KL的更宽后验。
读取盆地宽度
两个训练的模型达到相同的训练损失但位于不同的盆地:
- 模型A: 平坦盆地,后验在具有KL(Q_A‖P) = 50 nats的区域上扩展。
- 模型B: 尖锐盆地,后验使用KL(Q_B‖P) = 500 nats浓缩。
两者都在n = 10,000个例子上训练,经验风险0.05,δ = 0.05。
一条在理论预测上升的地方下降的曲线
经典U曲线
在水平轴上绘制模型容量。在竖直轴上绘制测试风险。经典偏差-方差理论预测:
- 低容量:高偏差,高测试风险(欠拟合)
- 中等容量:低偏差+低方差,低测试风险(甜蜜点)
- 高容量:低偏差,高方差,高测试风险(过拟合)
结果:U形曲线。在底部选择容量。
Belkin等(2019)观察到的
过了插值阈值(模型恰好拟合训练数据的容量,误差为零),测试风险再次下降。曲线读起来是:下降→插值处的峰值→第二次下降。两次下降,一条曲线。
第二次下降的几何读法
在插值阈值处,模型恰好有足够的容量拟合训练数据——只有一个(或几个)插值解存在,它们往往是不规则的。泛化受损,因为被选择的解是被迫的。
过了插值阈值,许多插值解存在。SGD可以自由地选择一个光滑的解(最小范数,低曲率)。几何图:解流形变得更宽、更平坦。SGD的隐式正则化从这个平坦流形中选择良性解。测试风险下降。
经典理论为什么失手
VC维数计数解集容量但忽视哪个解被选择。经典界假设最坏情况经验风险最小化器。现实:SGD可靠地选择最平坦、最光滑的插值解。一旦我们计数求解器选择的解而不是所有解,第二次下降就有意义了。
几何收获
容量重要性不如盆地几何。宽平盆地(后插值)比窄尖锐盆地(在插值处)泛化更好。现代理论试图通过盆地宽度而不是参数计数来界定泛化。
定位两次下降
在双重下降曲线上,三个区域很重要:(1)欠参数化体制,(2)插值峰值,(3)过参数化体制。
参数-令牌空间中的幂律曲面
一个3D曲面
在一个水平轴上绘制参数N。在第二条水平轴上绘制令牌D。在竖直轴上绘制损失L。经验损失在这个(N, D)平面上雕刻幂律曲面:
L(N, D) ≈ (Nc/N)^αN + (Dc/D)^αD + L∞
曲面随着N或D增长而向下倾斜。斜率遵循对数线性幂律(对数-对数图中的直线)。渐近线L∞保持为正——我们的模型无法缩小的不可减少损失。
计算最优脊
固定总计算预算C ∝ N × D(参数×令牌,大致)。沿此约束切割我们的曲面。切割迹线穿过3D曲面的2D曲线。这条曲线的底部=计算最优点。
Chinchilla(Hoffmann等2022)在分析上计算了这个底部:D_opt ≈ 20 × N。沿计算预算的曲线=一条脊。沿脊行走:相同计算,递减损失。离脊行走(比令牌更多参数,或更少):浪费的计算。
GPT-3与Chinchilla的几何读法
GPT-3:175B参数,300B令牌。Chinchilla最优将想要175B × 20 = 3500B令牌。GPT-3坐在计算最优脊的远处,在我们参数重的方向。Chinchilla本身:70B参数训练于1400B令牌。1400 / 70 = 20——恰好在脊上。Chinchilla通过坐在几何最优处,用不到一半的参数计数击败GPT-3。
数据墙作为竖直平面
公共网络~10¹³可用令牌。这在参数-令牌平面上绘制为D = 10¹³处的竖直墙。超过这面墙,计算最优训练需要N ≤ D / 20 = 5 × 10¹¹参数。超越N = 5 × 10¹¹的墙要么运行欠训练(离脊),要么需要合成/多模态/RL数据来向外推动墙。
沿计算最优脊行走
我们坐在GPT-3坐标:N = 175B参数,D = 300B令牌。计算代理C = N × D = 5.25 × 10²²参数-令牌。
β后验收紧成一根针
[0, 1]上的概率密度
Beta(α, β)是单位区间[0, 1]上的概率密度。变量:ε =真实错误率。形状:α控制高ε侧的质量;β控制低ε侧的质量。
Beta(1, 1): 均匀——无信息,[0, 1]上的平坦密度。
Beta(α, β) with α + β大: α / (α + β)处的浓缩峰值。
β峰值的宽度随1/√(α+β)收缩。向先验添加100个观察将峰值紧缩因子√100 = 10。添加10000个观察将其紧缩因子√10000 = 100。
审计运行的几何读法
开始:Beta(1, 1) =在[0, 1]上的平坦矩形。对ε的最大不确定性。
经过200个查询有8个伪造:Beta(9, 193)。平均= 9/202 ≈ 0.045。密度现在是在0.045附近以特征宽度σ ≈ 0.014为中心的锐利驼峰。
经过2000个查询有80个伪造:Beta(81, 1921)。平均仍≈ 0.045,但宽度σ ≈ 0.0046。驼峰三倍锐利。
经过200,000个查询有8000个伪造:Beta(8001, 192,001)。平均≈ 0.040,宽度σ ≈ 0.0004。驼峰变成一根针。
几何收敛到点质量
随着n → ∞,β后验塌陷到真实ε处的Dirac delta。几何学:矩形→宽驼峰→窄驼峰→针→点。每个查询通过1/√n收紧我们的分布。
这为什么胜过理论PAC界
理论PAC界基于假设类大小给出一个静态ε估计。β后验给出一个动态ε估计,每个观察都收紧,针对您的真实分布校准。理论界=在最坏情况假设下的保证。经验审计=对现实的测量。
多少个查询来将可信区间减半?
我们目前在200个查询后坐在Beta(9, 193):平均ε ≈ 0.045,σ ≈ 0.014。我们想将可信区间宽度减半到σ ≈ 0.007。