轻松读论文——层规范化技术 Layer Normalisation

作者

Jimmy Lei Ba, Jamie Ryan Kiros, University of Toronto Geoffrey E. Hinton, University of Toronto & Google


摘要

训练目前性能最好的深度神经网络计算代价高昂. 一种减少训练时间的方法是规范化神经元的激活值. 近期引入的批规范化(batch normalisation)技术对一个训练样本批量集使用了求和的输入分布来计算均值和方差,然后用这两个来规范化那个神经元在每个训练样本的求和输入. 这个方法显著减少了前驱神经网络的训练时间. 然而,批规范化的效果依赖于 minibatch 的大小,而且对于循环神经网络 RNN 无法下手. 本文将批规范化转换成层规范化——通过计算在一个训练样本上的一层上的神经元的求和输入的均值和方差.

像批规范化那样,我们同样也给每个神经元自身的适应偏差 bias 和增益 gain,这两个东西在规范化后非线性变换前使用. 和批规范化不同的是,层规范化在训练和测试时执行同样的计算. 另外也能够通过在每个时间步分别计算规范化统计信息从而直接应用在循环神经网络上. 实验结果表明,层规范化和之前的技术相比可以显著降低训练时间.

1 引言

主要介绍了一下历史,以及层规范化在 RNN 上的表现好过其他技术。

2 背景

这里虽然看起来吓人,但使用的时候用的却是从当前的 mini-batch 中采样出来的实验样本.

3 层规范化

(2) 和 (3) 中的不同很容易看出,在层规范化中,所有的隐藏元共享同样的规范化项 μ 和 σ,不同的训练样本就会有不同的规范化项.

3.1 层规范化的循环神经网络

标准的 RNN 中,求和输入的平均量度在每个时间步会增长或者缩小,从而产生爆炸或者消逝的梯度现象. 在层规范化 RNN 中,规范化项会使得模型对所有求和输入的重整化操作保持不变,这可以得到更加稳定的隐藏层之间的动力特性.

4 相关工作

批规范化技术此前已经被扩展到了 RNN 上 [Laurent et al., 2015,Amodei et al., 2015, Cooijmans et al., 2016]. [Cooijmans et al., 2016] 的工作说明循环批规范化的最佳表现是通过保持每个时间步的独立规范化统计量达成的. 作者展示了初始化循环批规范化层中增益 gain 参数为 0.1 在模型最终的性能上起到了重要的作用. 我们的工作也和权重规范化关系紧密[Salimans and Kingma, 2016]. 在权重规范化中,并没有使用方差,而是采用了输入权重的 L2 范数来对求和输入进行规范化进入神经元. 使用期望统计量应用权重规范化或者批规范化都等价于对原始前驱神经网络进行了一个不同的参数化. 在 ReLU 网络中的重参数化技术在路径规范化 SGD [Neyshabur et al., 2015] 有了探讨. 我们的层规范化技术不是一个重参数化方法. 所以它和其他方法相比有着独特的不变性,这个在后面再详解.

5 分析

这里是对不同规范化方法的不变形的比对.

5.1 权重和数据变换的不变性

层规范化和批规范化技术及权重规范化技术相关. 尽管他们的规范化使用的标量计算方式不同,但是这些方法可以归类成规范化求和输入 ai 通过两个标量 μ 和 σ. 同样还要在规范化之后对每个神经元学习适应偏差 b 和增益 g

注意,对层规范化和批规范化,μ 和 σ 通过方程 (2) 和 (3) 计算得出. 在权重规范化中, μ 为 0 和 σ = ||w||2.

从上表 1 中我们可以看到不同的规范化方法的不变性情况.

5.2 学习中的参数空间几何特性

前面讲完了模型预测在重中心定位和重比例下的不变性. 然而,学习在不同的参数化下表现差别很大,甚至是那些有着相同基本函数的模型. 本节通过参数空间的几何和流形来分析学习行为. 我们说明规范化标量 σ 可以隐式地降低学习率,让学习更加稳定.

5.2.1 黎曼度量

在统计模型中可学习的参数会形成一个平滑的流形,包含了模型所有可能的输入-输出关系. 对于输出是一个概率分布的模型来说,一种自然度量两个点在流形上分隔(seperation) 的方法就是他们模型输出分布的 Kullback-Leibler 散度. 在 KL 散度度量下,参数空间就是一个黎曼流形.

黎曼流形的曲率由黎曼度量完全刻画,其二次形式表示为 ds2. 这是在参数空间的点处切线空间的无穷小距离. 直觉上说,它衡量了在参数空间中模型输出沿着一个切线方向的变动. KL 下黎曼度量此前有过研究[Amari,1998],并证明可以在二阶泰勒展开下使用 Fisher 信息矩阵很好地近似:

实验部分没有加上,主要是各种 RNN 上超过之前的方法.

可能有用的参考: https://www.wikiwand.com/en/Fisher_information

实现参考: https://github.com/LeavesBreathe/tensorflow_with_latest_papers/blob/master/normalization_ops_modern.py

原文发布于微信公众号 - UAI人工智能(UniversityAI)

原文发表时间:2016-09-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据科学与人工智能

【陆勤践行】面试之机器学习算法思想简单梳理

找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且...

2248
来自专栏机器之心

解读 | 谷歌像素递归超分辨率研究:怎么消灭低分辨率图像马赛克?

机器之心原创 作者:Angulia 参与:王灏、hustcxy、吴攀 最近,谷歌发布了一种把低分辨率图像复原为高分辨率图像的方法,参见机器之心文章《学界 | ...

3549
来自专栏算法channel

机器学习逻辑回归:原理解析及代码实现

? 前到现在为止,我们通过大约1周的时间初步对机器学习是怎么一回事算是有一些基本的理解了,从最基本的线性回归入手,讨论了如何在拿到一堆数据时,先进行数据预处理...

2757
来自专栏大数据挖掘DT机器学习

机器学习算法总结(面试用到)

找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据...

3895
来自专栏生信小驿站

R 集成算法① adaboost

662
来自专栏机器学习算法与Python学习

干货 | 机器学习算法大总结(ML岗面试常考)

键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 找工作时(IT行业),除了常见的软件...

3986
来自专栏数据科学与人工智能

机器学习算法总结(面试用到)

找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且...

8188
来自专栏机器之心

入门 | 一文了解什么是语义分割及常用的语义分割方法有哪些

2287
来自专栏数据科学与人工智能

【机器学习】机器学习算法总结

找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且...

2955
来自专栏机器学习算法与Python学习

精华 | 机器学习岗面试,这些是基础!(ML,DL,SL相关知识整理)

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 明天推出第3期送书活动 数量10本 ...

4367

扫码关注云+社区