层规范化技术 Layer Normalisation

作者: 朱小虎XiaohuZhu | 来源:发表于2016-07-24 01:02 被阅读2879次

    Neil Zhu,简书ID Not_GOD,University AI 创始人 & Chief Scientist,致力于推进世界人工智能化进程。制定并实施 UAI 中长期增长战略和目标,带领团队快速成长为人工智能领域最专业的力量。
    作为行业领导者,他和UAI一起在2014年创建了TASA(中国最早的人工智能社团), DL Center(深度学习知识中心全球价值网络),AI growth(行业智库培训)等,为中国的人工智能人才建设输送了大量的血液和养分。此外,他还参与或者举办过各类国际性的人工智能峰会和活动,产生了巨大的影响力,书写了60万字的人工智能精品技术内容,生产翻译了全球第一本深度学习入门书《神经网络与深度学习》,生产的内容被大量的专业垂直公众号和媒体转载与连载。曾经受邀为国内顶尖大学制定人工智能学习规划和教授人工智能前沿课程,均受学生和老师好评。

    https://arxiv.org/abs/1607.06450

    作者

    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

    相关文章

      网友评论

      本文标题:层规范化技术 Layer Normalisation

      本文链接:https://www.haomeiwen.com/subject/yhmwjttx.html