MLDS笔记:Generalization

1 泛化能力

图1-1
用VC维来衡量一个模型的表达能力,比如2维线性模型的VC维为3。
图1-2
在图1-2中,随便给啥训练数据该model都能learn起来。
从理论上来看,当2个model在训练数据上表现一样时,为了更好的泛化能力,应该选择表达能力更小的model。
这个结论是一定的吗?

图1-3
图1-4
图1-5
图1-6
图1-7
神经网络自带regularization吗?
图1-8
从图1-8可以看出,2到12层得到的线都是很平滑的。
如果让网络去拟合虚线,网络也是能够做到的,说明该网络有很大的模型表达能力,但是2到12层对应的线却没有形成虚线状。
可见神经网络没有我们想象的那么容易过拟合。
关于这点背后的原因,现在无最佳解答。一种说法是因为初始化在原点附近,梯度下降后得到的参数与原点也很近,所以使用基于梯度的优化方法得到的神经网络能够自带正规化。
总之,深度模型的表达能力是很强的,但是,它并没有我们想象中的那么容易过拟合,其中的原因尚不清楚。

2 泛化指标

一个神经网络有哪些特性可以使其不易过拟合?知道答案的话就可以在训练的时候将这些特性塞进去。

2.1 暴力记忆

神经网络的学习过程并不是暴力记忆。
虽然给定任意输入,神经网络都能learn起来,但是learn出的并不是同一个model。
图2.1-1
图2.1-2
图2.1-3

2.2 Sensitivity

如何定义Sensitivity?
图2.2-1
图2.2-2
图2.2-3
如图2.2-2和图2.2-3所示,训练数据出现处的Sensitivity通常较小,即自信度较高;训练数据未出现处的Sensitivity通常较大,即自信度较低。

2.3 Sharpness

图2.3-1
如何定义Sharpness?
有很多种定义方式,不限于下图。
图2.3-2
常small batch训练得到的minima泛化能力较好,关于背后原因,有一种说法是其较易找到较flat的minima。
图2.3-3
图2.3-4
图2.3-5
图2.3-6
总之,
1、泛化能力的好坏与Sensitivity的大小有关;
2、泛化能力的好坏与Sharpness的大小有关。
关于2的不同意见参见

Laurent Dinh, Razvan Pascanu, Samy Bengio, Yoshua Bengio, Sharp Minima Can Generalize For Deep Nets, PMLR, 2017

猜你喜欢

转载自www.cnblogs.com/cherrychenlee/p/9001412.html