Neural Networks的regularization技巧:谈谈网络的泛化能力与noise、Inductive Bias的关系

一切要从overfitting(简称OF)和网络的generalization capability(简称GC)能力说起。

overfitting是因为网络的繁华能力不足。

从有限的训练集期待学到具有无限表达能力的网络,本来就是伪命题,“infinite use by finite means”,所以overfitting是一件不可根除,只能减轻的事情。因为相比于无穷的待测试空间,训练集空间总是有限的。模型总是会太过于fit到训练集上,因为一个模型又怎么可能太过于fit到无穷的待测世界呢?非一则二,所以overfit是必然。

怎么减轻overfit呢?老生常谈的话很多,比如用小模型(不推荐,模型越大其functional capacity越大,是好事,所以总是都先考虑其他方法来控制overfitting)、增大数据、加regularization,等等等等。但是这都是治标不治本的事情。

那么本是什么呢?即,一个模型的generalization capability如何提高?Relational Inductive Bias(RIBs)关系性推断偏好,是一种直接提高模型GC的事物。RIBs指的是网络本身设计时所impose的一些特质、服从的一些规则。这些规则约束了网络可能呈现的样子和形式,即相比于原本暴力地pure data-driven的、完全依赖和相信训练数据的、忽视网络可以服从的一些自然界存在的先验信息的训练,将训练的过程变得更加可控,更加符合自然规律。即,将训练的起点定地更贴近与终点。或者,网络的训练可以理解为在一个高维的参数空间选择一个最好的点,犹如大海捞针。而RIBs得出现,相当于通过规则和先验,将这个搜索空间变小,让一些很离谱的参数组合、网络模型,直接在训练时被淘汰。RIBs最直接的一个列子就是欧卡姆剃刀法则,即网络总是倾向于选用更加“简单”的那一个。这体现自网络训练中就是下文标红的第(一)条,以及L2 regularization的概念。即,选择更diffuse的,更小的weights,而不是更加大的weights。通过RIBs,可以将盲目地、易跑偏(fit高频noise)的训练,变成更可控地,更相信可靠先验的训练,就是直接提高网路的GC。从这个角度讲,CNN中的local connectiveity,ANN中的全连接性质,RNN的temporal dependencies,都是RIB的体现。

从另一个角度来看,overfiting是太over地fit在了什么东西上?是太overfit在了训练集中一些“高频”的、低varaince的特性特征,一些并不是普世存在而是训练集采样得到的个例noise。比如,一个得了白化病的纯白色棕熊就是棕熊识别数据集里的高频噪声。从这个角度讲,为了减轻overfit,即提高在这个训练集上训练得到的模型的GC,就是要尝试不侧重甚至忽视这些高频噪声,而去更依赖那些低频的,普世的特征。

为了实现这种对高频noise的边缘化和控制,有两种思路:

(一). 让网络更加全面地均匀地去关注所有特征,因为高频噪声只在所有特征中占少数,因此对所有特征的均匀关注等同于“冲淡”了高频噪声,至少比特别地集中地关注与高频噪声强;

(二). 引入randomness,即stochastic behaivor of the network。这种随机性呈现出一种网络结构的ensemble或者重组的行为,可以理解为对特征的二次筛选和过滤。高频鲜见的噪声可以survive筛选的概率自然比低频普世特征要低,所以等同于“冲淡”或“边缘化”高频噪声。

按照这两种对抗训练集中高频noise来提高网络泛化性能,降低overfit的思路,有如下四中regularization的手段:

1. L2 regularization term:1/2 * λ * w*w

在Loss function中加入L2正则化项。L2正则化的特性是倾向于选择更diffuse的一组weights,而拒绝peaky weights,即符合上述第(一)中思路,也就是说让网络做出判断的依据是所有的特征一同决定的。另外,L2正则化项出现在loss function中,在BP的开始阶段第一次求导就按照负梯度方向产生对所有weights的一次weight decay(按照当前w的λ倍decay:loss function对w求导取负号得到 - λ * w项,就是decay项)。

2. L1 regularization term:

更倾向于选择sparse weights vector,即让低频普世特征的w不等于0,而使得高频噪声特征的w等于0;属于一种特征选择。

注意:L2 + L1 term一起出现在Loss中称作Elastic Net Regularization

3. Max Norm:

clipping w by a certain upper bound value,这样保证weight不会explode。

4. Dropout:

按照一定百分比随机关掉或者限流一些neurons,导致每次训练iteration时训练的网络都具有不同的结构,最终在test time关掉dropuout(为了保证test 和 train时网络中flow的大小稳定,所以test time不随机关掉某些neurons,但是所有neuron都按照百分一起比限流)。这样,在test time就可以看做是用一个多个随机构造的网络的ensemble组成的新网络在测试。

Dropout、DropConnect、Stochastic Pooling、Fractional Pooling、Data Augmentation等,都属于上述第(二)个思路,即用随机性筛选淘汰网络对高频noise的fit,从而提高网络的GC,减轻overfit。

你可能感兴趣的:(机器学习,神经网络,正则化,泛化能力,inductive)