[paper] Layer Normalization

Layer Normalization

Abstract

目前效果最好的深度学习网络计算代价昂贵。减少训练时间的方法之一是规范化神经元的激活。Batch Normalization 使用了这一思路,用mini-batch的均值和方差来规范化,这极大的减少了训练时间

但是,BN的效果在很大程度上依赖于mini-batch size的大小,并且不能应用到RNN上面

在这篇文章,我们用Layer Normalization代替了Batch Normalization,Layer Normalization 也有自适应参数 γ , β \gamma, \beta γβ,不同的是,LN在训练和测试时执行同样的计算

并且也可以通过在每个step计算 n o r m a l i z a t i o n   s t a t i s t i c s normalization \ statistics normalization statistics应用在RNN上

Introduction

效果较好的网络结构通常相对复杂,导致训练时间过长。2015年Ioffe 和Szegedy提出了Batch Normalization,这一方法极大的减少了训练时间,让参数可以更快的达到收敛,并且不需要像之前那么担心初始化的参数

BN在测试的时候,用的均值和方差是训练集的均值和方差(应该是每个batch的均值方差占一定权重,之前的和占一定权重)。但是这一策略不适合RNN用。并且,BN不能应用在“在线学习任务“上和“mini-batch非常小的大型分布式模型“。

Background

在feed-forward(前馈网络)中,从输入 X X X到输出 y y y是非线性映射
α i l = w i l T h l h i l + 1 = f ( α i l + b i l ) \alpha_i^l={w_i^l}^Th^l \quad h_i^{l+1}=f(\alpha_i^l+b_i^l) αil=wilThlhil+1=f(αil+bil)

  • α \alpha α是当前层的结果
  • w w w是权重
  • h h h是上一层的输出
  • f f f是非线性激活函数
  • b b b是偏置

Batch Normalization中

其中, g i l g_i^l gil γ \gamma γ α i − l \alpha_i^{-l} αil是BN的结果, μ i l \mu_i^l μil是期望, σ i l \sigma_i^l σil是方差

Layer Normalization

H H H是隐藏层的unit数量

这段参考自别人的博客,觉得很清晰:
BN 的一个缺点是需要较大的 batchsize 才能合理估训练数据的均值和方差,这导致内存很可能不够用,同时它也很难应用在训练数据长度不同的 RNN 模型上。Layer Normalization (LN) 的一个优势是不需要批训练,在单条数据内部就能归一化。

对于输入:NCH*W,LN 对每个样本的 C、H、W 维度上的数据求均值和标准差,保留 N 维度。其均值和标准差公式为:

[公式]

[公式]

继续采用上一节的类比,把一个 batch 的 feature 类比为一摞书。LN 求均值时,相当于把每一本书的所有字加起来,再除以这本书的字符总数:C×H×W,即求整本书的“平均字”,求标准差时也是同理。

BN vs LN

BN是“竖”着来的,各个维度做归一化,所以与batch size有关系
LN是“横”着来的,对一个样本,不同的神经元neuron间做归一化

Conferences

论文地址:https://arxiv.org/pdf/1607.06450.pdf
https://www.zhihu.com/question/48820040

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值