Transformer-03-LayerNorm
Transformer学习笔记三:为什么Transformer要用LayerNorm/Batch Normalization & Layer Normalization
参考:https://zhuanlan.zhihu.com/p/456863215以及私有资料
一般来说,BatchNorm适用于CV,LayerNorm适用于NLP。关键是要看需要保留什么信息,举个例子
NLP中,[‘搜推yyds’,LLM大法好’,‘CV永不为奴’]三句话做normalization,
其中,样本数量(N)为3,而每个字看作图像里的一个通道,
假设一个词是一个token,BatchNorm效果是[‘搜’,L’,‘C’],[‘推’,‘L’,‘V’]…做归一化;LayerNorm是三句话分别各自归一化;
前者归一到同一分布后变无法保留一个句子里的分布信息了(比如·搜推yyds用Batch Norm后就变了),而LayerNorm可以成功保留上下文分布信息
CV中BatchNorm是对图像的不同channel(比如对N个样本的R通道)各自进行归一化(如下图,batch Norm,本身CV任务不需要channel之间的信息交互,归一化后仅保留各channel的分布信息作后续判断即可

而NLP中的layerNorm是对每个样本的所有通道做归一化
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 lthero!
评论