程一-计算所 发表于 2016-8-18 11:04:35

【VALSE前沿技术选介16-20期】

http://mp.weixin.qq.com/s?__biz=MzA3Mjk0OTgyMg==&mid=2651123096&idx=1&sn=2b405e20d055dc2b5e30c13e73010d1a&scene=0#wechat_redirect


【VALSE前沿技术选介16-20期】Layer Normalisation
今天为大家推荐 Hinton 大牛的最新论文,《Layer Normalization》。想必大家对于 Batch Normalization(BN)已经非常熟悉,而这篇论文 我们简称 LN 就是将它和 BN 还有 Weight Normalization(WN)一起做对比,提出了新的 normalization 方法,并给出了一些分析和实验。

先说说 BN。BN 号称是针对 Internal Covariance Shift(ICS)问题提出的解决办法。ICS 在我们深度学习或者说神经网络的场景下,意思是,我们经过层内的操作变化,会使得输入和输出的数据的分布——条件概率一致,但边缘概率不一致。甚至可以说,随着我们层数的增多,这种差异会更明显,ICS 的问题会更严重。但是,BN 号称是针对 ICS 提出的,但是其理论上,是不能保证完全避免 ICS 的问题的。这个我们不赘述。只说 BN 能干嘛。BN 是通过把 activation 的方差和均值进行规范化(normalization)来达到缓解梯度变大或者变小的问题嘛——从而又回到了我们 DL 中说烂了的那个问题,gradient vanishing/exploding。
在过去的研究中,BN 已经被用在各种 NN 结构中的各种 activation set 里。但是 BN 仍然有一些问题,比如在 RNN 这种 recurrent 的结构下,表现不好。这篇论文 就首先分析了 BN 的一些弱点:(1)先看 BN 的计算公式,在计算期望的时候,需要的是整个训练数据;所以只能退而求其次,利用当前 mini-batch 来做近似;这也是为什么不太能用到 RNN 的原因。(2)又由于要根据 mini-batch 来做近似,对于 mini-batch 的大小也就会有一些限制(但我觉得问题不大)。

那么这篇论文 提出的 LN 又是啥样的呢?下面的公式(3)是 LN 的计算公式。和 BN 的计算公式(2)一对比,就能看出来 LN 在干啥了。不准确地来对比,如果说 BN 是一种列规范化,LN 就是一种行规范化。在 LN 这种行规范下,所有同层的 hidden units 都会共享同一套 normalizatiion statistics(均值和方差);与此同时,又因为是行规范,对于每一个列的——也就是每一个 training sample,normalizaiton 是不同的。LN 的这种行规范化,就至少避免了上面分析的 BN 的第二个弱点——对于 mini-batch 的大小,LN 是没有任何明显的限制的。所以甚至当 mini-batch size = 1 时,可以认为是一种 online learning 的 LN。

BN 的第二个弱点完美避开后,LN 在第一个弱点上是怎么解决的呢?即使是在 RNN 这种有许多个 time-step 的情况下,LN 也只需要每次计算当前 time-step 当前层的 statistics,而不需要像 BN 那样去计算所有 time-step 的。所以在 RNN 上用 LN 是这样的:

至此,已经说明了 LN 是怎么做的和 LN 是如何解决了 BN 的两个弱点的。为了更好地理解 LN,可以再深入分析一下 LN 和 BN、WN 的区别。LN、BN、WN 这三种 trick,都可以看成是利用均值和方差把(某个/任意)activation set a_i 进行 scale/normalize。这是他们三者的相似之处。那么不同之处就是他们是如何计算均值和方差的:LN 和 BN 就是按照上面公式(2)和公式(3)计算,而 WN 中均值统一设定为0,方差就是所谓的 WN。除了这点明显的区别外,作者还从权重和数据分布的不变性角度来做了三者的对比,具体对比结果可以看 Table 1.

实验部分这篇论文做得也很充分,在六大任务和模型上都做了对比(如 Skip-Thought,DRAW,MNIST,order embedding,attentive reader)。在它最强烈的 claim,也就是 LN 比 BN 更适用于 RNN 的结构的优势上,作者们将他们的 LN 用在了 GRU 上。并且效果不错。具体有兴趣的同学,可以赶快动手起来,现在 LN 的各种框架下的实现也都纷纷出炉了~



Jimmy Lei Ba, Jamie Ryan Kiros, Geoffrey E. Hinton. "Layer Normalization". 2016. arXiv preprint.
页: [1]
查看完整版本: 【VALSE前沿技术选介16-20期】