batch normalization 与 layer normalization

bn和ln的本质区别:

batch normalization是纵向归一化,在batch的方向上对同一层每一个神经元进行归一化,即同一层每个神经元具有不同的均值和方差

layer normalization 是横向归一化,即同一层的所有神经元具有相同的均值和方差


bn和ln的使用区别:

1.如果batch size过小,那么得到的统计量难以反应全局信息,因此不适合使用bn;而ln不关心batch size。

2.由于rnn编码是考虑句子长度信息的,而同一个batch里的句子长度可能不一致,因此在rnn使用batch normalization是有问题的,而ln是在横向归一化,因此可以应用在rnn网络中。

猜你喜欢

转载自www.cnblogs.com/zhufz/p/11352403.html