







分析方法相同,不再赘述。
小结
这一部分作者从贝叶斯理论出发,从公式上推导出了Occam Razor的结论,并且论证了落入Sharp Minima的模型泛化性较差的原因,同时也得出了正则项对Sharp Minima具有惩罚作用。
用贝叶斯理论解释泛化性是有效的
内容
这里作者借鉴了论文《Understanding deep learning requires rethinking generalization》中的实验来从贝叶斯理论解释泛化性,与ICLR 2017的这篇Best Paper使用的Deep Learning Model不同,作者使用了最简单的线性模型进行实验,原因是线性模型在计算Bayesian Evidence的时候比Deep Learning简单很多。具体的实验配置可以参考论文,这里直接给出图表。
注:Bayesian Evidence实际上是Log Bayesian Evidence,对上面的结果取了对数。
这个实验主要是为了证明Bayesian Evidence的曲线和Test Cross Entropy的变化趋势是一致的,并且也复现了《Understanding deep learning requires rethinking generalization》中呢Deep Learning Model的结果。

小结
这一节中的实验证明,使用贝叶斯理论解释泛化性是有效的,并且得出了预期一致的结果。
贝叶斯理论与SGD
内容
在得出Bayesian Evidence和泛化性是强相关关系的结论之后,作者再次对SGD产生了思考。因为无论是Large Batch还是Small Batch,他们都是Full Batch的近似结果,所以都会引入Noise。作者认为造成不同Batch Size产生不同泛化性的根本原因是Noise的Flucturate程度。一定程度的Noise可以逃离Sharp Minima,带领模型进入Bayesian Evidence较大的区域,即Broad Minima区域;而Batch Size越大,Noise的Flucturate就越小,就很容易陷入Sharp Minima。(这部分的公式推导在这里先不给出,因为这不是这篇文章的重点,有兴趣的同学可以关注这篇论文的附录A)这说明SGD的更新规则本身就带有了一些正则化效果,这个正则化的效果很大程度上来自于SGD本身引入的Noise。这与ICLR 2017 Best Paper《Understanding deep learning requires rethinking generalization》观察到的现象和得出的结论一致,该篇文章中主要思考的一个问题是,SGD在训练完全部样本之后,为什么不是记住所有的样本,而是还学到了一些泛化性?
回到这篇论文,作者认定一定存在一个最佳Batch Size,这个Batch Size既没有使模型进入Sharp Minima区域,又有一定的复杂性,使之让当前的模型效果最好。于是做了不同的实验,得到以下结果。


小结
这一部分从对贝叶斯与泛化性的思考入手,进而尝试解释SGD的特点,从而试图验证不同Batch Size对泛化性的影响。Batch Size的选取可以看成是Depth(Sharp)和Breadth(Broad)的Trade off,所以存在一个最佳的Batch Size,在其他超参数固定时使模型达到最好的泛化效果。
随机偏微分方程的与scaling rule的推导
内容
因为Batch Size的选取,从贝叶斯角度去理解,实际上就是Depth和Breadth的Trade off。所以可以更进一步的对SGD引入的Noise进行分析,进一步去探究这个Noise带来的Flucturate与哪些因素相关,这就需要和随机偏微分方程建立联系了。
首先,将SGD的update公式进行改写。





其中N代表训练集的样本数,ε代表学习率。假设我们用<>代表期望的计算,那么我们有
根据中心极限定理,我们可以得出以下结论
所以标准的Stochastic Gradient Descent可以看成是标准梯度加上一个Noise,这个Noise就是α中的内容。下面进一步研究Noise的性质。
其中,F(w)为梯度的协方差项,δ_ij代表了Indicator,即当i=j时,δ_ij=1,否则等于0。这是因为样本和样本之间是相互独立的关系,所以协方差应该等于0。如果看不懂这个公式可以按照下面的原型推理,一目了然。
根据协方差矩阵的可列可拆的性质,我们求得如下期望。
至此,Noise的统计特性已经全部计算出来,下面需要和随机偏微分方程进行等价。首先,SGD的Update规则是一个离散的过程,不是连续的过程。如果我们把SGD的每一步想象成为一个连续的可微分的过程,每次Update一个偏微分算子,那么可以将上述学习率为ε的Update公式看成是某个微分方程的定积分结果,下面先介绍这个偏微分方程(这个偏微分方程的产生来自于《Handbook of Stochastic Methods》)。
这里t是连续的变量,η(t)代表了t时刻的Noise,具有如下性质。
因为我们知道Noise的期望必定等于0,而方差会有个波动的Scale,且波动的大小是以F(w)有关,所以这个Scale我们用g来表示,即Flucturate。而SGD的Update规则可以改写如下所示。
为了探求g的变化因素,我们需要将偏微分方程的最后一项的方差和SGD的α方差对应起来,得到
上面最后的积分公式推导可能会有些迷惑,大概是会迷惑在积分的方差是如何化简到二重积分这一过程,其实积分符号只是个对连续变量的求和过程,所以依然可以使用协方差的可列可拆的性质,如果还是不习惯,将积分符合和dt换成求和符号再去使用协方差公式即可轻松得到结论。










50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率


