DeepFloodbeta

Day6 归一化方法

看了一些归一化方法的材料
比如BN, LN, IN, GN, WN

BN是把一个批次内的样本,同通道或者特征同时归一化(hwn)
LN是把单个样本,不同维度的特征一起归一化(hwc)
IN是把单个样本,单个特征,在其他维度上(H,W)进行归一化(hw)
GN是把特征分组,对单个样本某些特征组内进行归一化(hwc')
WN是对W权重进行归一化

昨天我们已经说过一些BN的问题
猜测可能会有WN这种调整权重的方法

对LN来说,单个样本不同维度特征一起归一化
自然而然要求这些不同特征之间本身有一定关系
(不了解哪类样本会有这样的特性)
不是说归一化了之后好训练
而是本来有这种关系在
这样归一化了之后更好处理
这对IN、GN同样适用

之所以有了BN之后
还需要这些就去也是这个原因
正如我们昨天帖子里分析过的
BN很重要的一点是要求一个批次的随机样本足以反映样本整体分布
在GN的论文里面就提到
Batch size越小,BN效果越差
符合昨天帖子里的推论

在transformer里面
以文本信息为例
因为文本信息上长短不一
正常情况下
一个常用或者较小数量的batch是无法反映文本信息的分布的
较大batch size其实也不好衡量多大比较好
大模型采用的也是针对单样本的LN
同时,文本内不同字符间的关联也可以由LN反映