BianC的日常

  • 首页
  • 机器学习
  • 摄影作品
  • 算法拾遗
  • 热爱生活
海的一边
分享科研与生活
  1. 首页
  2. 机器学习
  3. 正文

Layer Normalization

2021-07-03 301点热度 2人点赞 0条评论

上一篇关于batch normalization的文章我们写了BN的基本思想和做法。一言以蔽之,BN就是把输出在batch中做平均,数目为样本数;而LN是对一层layer中的输出做平均,数目为layer的节点数。

之所以要LN而非BN有三层原因。第一层是,当batch很小的时候,batch无法代表全局样本的分布,所以此时做平均就走偏了。第二层是,如果模型是一个动态的layer,比如RNN,那么有些数据可能有30个序列,有些数据有10个序列,那么在一个batch里,数据的序列数不同、layer数也不同,那么做batch norm的样本数目也不一样,所以BN也有偏,这一层其实跟第一层差不多;第三层是LN会在一个layer中形成一个方差为1,均值为0的分布,可以认为这是一个人为创造的embedding,使它具备了一些不那么稀疏的优良性质,这可能是transformer里用了LN的原因。而对于图像处理而言,LN会打破embedding的自身性质,因为像CNN提出来的特征,它自身的embedding可能包含了结构信息;在NLP中,embedding本身就是人为创造的,再引入LN操作问题也不大。

标签: 暂无
最后更新:2021-07-14

superbianc

弱水三千,只取一瓢

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 海的一边. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

京ICP备2021021901号-1