缩放相邻两层权重即可任意伪造锐度,Bengio 团队质疑平坦性假说

Sharp Minima Can Generalize For Deep Nets

Laurent Dinh, Razvan Pascanu, Samy Bengio, Yoshua Bengio

cs.LG

2017-03-15

利用 ReLU 的缩放对称性,同一极小值可在不改变预测函数的前提下变成任意锐或任意平,现有平坦度度量因此无法直接解释泛化。

这篇在解决什么

深度网络的参数量足以背下整个训练集,实际却泛化得不错,原因至今没有定论。流传最广的解释是「平坦极小值假说」:SGD 找到的解若落在损失面的宽谷里,扰动参数几乎不改变损失,泛化就好;尖谷里的解则危险。Hochreiter 与 Schmidhuber 在 1997 年提出,2017 年 Keskar 等人用「大 batch 训练得到更锐极小值、泛化更差」的实验把它重新炒热。

假说成立的前提,是「平坦度」这个量可以跨模型比较。这篇 ICML 2017 论文(Laurent Dinh、Razvan Pascanu、Samy Bengio、Yoshua Bengio,分属蒙特利尔大学、DeepMind、Google Brain)检查了这个前提,结论:对常用深度网络,大多数平坦度定义站不住。

方法

攻击点来自 ReLU 的一个代数性质:非负齐次性,即 φ(αz) = αφ(z) 对一切 α > 0 成立。对单隐层网络 y = φ(x·θ1)·θ2,第一层权重乘 α、第二层乘 1/α,网络在每个输入上的输出一模一样。这样的参数对叫「观测等价」:写法不同,函数相同。α 连续取值,得到一条无穷长的等价曲线,论文把 (θ1,θ2) → (αθ1, α⁻¹θ2) 记作 α-scale 变换。

所有平坦度度量都定义在参数空间里,而这条曲线穿过的区域邻域几何完全不同。沿曲线滑动,函数与泛化能力分毫不动,量出来的平坦度却可以任意变。论文对三种主流度量逐一构造:

第二刀砍在参数化上。对任意双射 g,重参数化 η = g⁻¹(θ) 之后,临界点处的 Hessian 变为 (∇g)ᵀ(∇²L)(∇g),一套参数化里的锐极小值可以对应另一套里的平极小值。batch normalization 和 weight normalization 正是这样的重参数化:换一种写法,同一个函数的损失面几何可以整体改写。

结果

论文没有跑实验,没有 benchmark 数字,给的全是定理与证明:

平坦度度量出处本文结论
volume ε-flatnessHochreiter & Schmidhuber (1997)对所有极小值均为无穷大,无法区分
Hessian 谱范数 / 迹Chaudhari et al. (2017); Keskar et al. (2017)可变换到任意大,不能用来排序泛化
全空间 ε-sharpnessKeskar et al. (2017)可任意压低,也可构造高锐等价参数
随机子空间 ε-sharpnessKeskar et al. (2017)可任意压低,高锐反例未能构造

矛盾根源也被点出:flat minima 的贝叶斯论证(Hinton & Van Camp,1993)建立在 KL 散度上,KL 散度在重参数化下不变,平坦度不是。用后者顶替前者,论证链条就断了。

为什么重要

凡是用「损失面可视化显示我们的方法找到更平的谷」来解释泛化的工作,都得先过这一关:锐度依赖参数的书写方式,跨架构、跨归一化技巧比较平坦度,量的是尺子不是物体。「大 batch 找到锐极小值所以泛化差」的因果链同样需要重新审计。论文没有给出替代定义,但它把「平坦度必须对模型对称性和重参数化不变」立成了后续研究的硬约束。构造本身很短,值得读原文。

局限与存疑

作者自己承认:对 Keskar 等人的随机子空间 ε-sharpness(只在随机采样的低维子空间内量损失增幅),没能构造出高锐度的等价参数,这条度量可能躲过了病态区域。正文为可读性省略了 bias 项,附录 B 声称论证可扩展;结论覆盖 ReLU、leaky ReLU、maxout、深层线性网络这类具有非负齐次性的结构,重参数化部分则对任意网络成立。

要泼的冷水:构造出的病态参数都位于等价曲线的远处,实际训练终点未必落在那里。实测锐度与泛化的经验相关性稳定存在,论文只说现有定义不能直接套用,没有解释相关性为何还在,也没有给出替代方案。它证伪的是度量的合法性,不是平坦性假说本身。

术语

原文与代码

社区讨论

相关论文

全部论文解读