文章架构
1.从一些实验出发说明为什么generalization是令人困惑的以及过参数化是如何影响模型行为。
2.探讨最小值的flatness是如何与generalization相关并建立直觉来理解为什么存在这种相关性。
3.探讨参数空间的高维如何使优化器偏向于泛化好的flat minima.
4.提出反事实的实验验证直觉。
一.背景
1.standard classification loss
已知:过度参数化会导致泛化差。
实验:通过一个实验来说明模型拟合和泛化之间的区别,过度参数化的线性模型不能泛化,但过度参数化的神经网络泛化效果好。
提出猜想:
①NN中存在bad minima吗?
②bad minima远离初始化发生的参数空间?
③如果bad minima普遍存在,什么阻止了优化器发现这些bad minima?
2.anti-generalization loss
第一项:standard cross entropy loss on training set . 分类正确,该项值最小。
第二项:reverse cross entropy loss on training set . 分类不正确,该项值最小。
β参数化我们希望达到的anti-generalization的数量
在过度参数化网络中,梯度下降使两项都为零,我们找一个参数向量--原始训练集loss最小同时又不能泛化,由此找到bad minima.
实验:使用anti-generalization loss搜索优化轨迹附近的bad minima.
结论:发现过度参数化的神经网络普遍存在bad minima,NN优化器天生偏向于good minima,该行为被称为implicit regularization
提出猜想:implicit regularization可能与损失函数的结构有关,与优化器的选择无关(不同优化器的泛化效果都很好,都存在implicit regularization)。
二.flatness与generalization相关
问题:模型存在过度参数化,使得泛化差。
去过度参数化手段:
linear model | regularization (对于线性分类问题,最普遍的正则化方法是wide margin penalty) |
neural network | flatness |
最小化器minimizer:
flat minimimizer: wide margin 训练数据与类边界有一定距离,参数扰动时,分类结果不受影响。
sharp minimizer: zero margin 几乎没有边界,每个数据点都位于类边界的边缘附近。
sharpness定义:
对于网络参数的微小变动,sharpness应保持不变。为此应作如下处理:
① 批处理标准化层消除参数缩放(rescalings of network parameters)的影响。
② 滤波归一化:在绘图前,把滤波器变为单位范数。
处理后的sharpness与泛化相关,换言之,sharpness可以衡量泛化程度。
三.维度影响generalization
提问:loss function有good/bad minima,什么原因导致优化器选择good minima?
最小值 | 盆地 | 体积 |
flat min | wide basin | large volume |
sharp min | narrow basin | small volume |
good/bad minima之间的宽度差异不大,主要在体积差异上。
高维空间将sharpness之间小的差异转化为周围盆地体积的指数级大差异。
对于svhn来说(论文的一个实验),good minima地带周围的盆地的体积至少比bad minima地带的体积大10,000数量级,因此几乎不可能偶然发现bad minima.