姓名:毕晓鹏
学号:19021210824
【嵌牛导读】批归一化在深度学习网络训练中是很重要的一部分,可以加快网络的收敛
【嵌牛鼻子】batch norm
【嵌牛提问】你知道BN的优缺点吗?
【嵌牛正文】
NCHW
N代表batch size数量, C代表channel,H代表高度,W代表宽度。
BN是对 NHW求均值和方差,一共做C次
BN公式:
每一个通道都会有一对这样的可学习参数γ、β
数据标准化优点:
如果每批次训练数据的分布不相同,网络就要在每次迭代学习适应不同的分布,这样会降低网络的训练速度。不易出现梯度消失或梯度爆炸,梯度将始终保持在一个合理的范围内。而这样带来的好处就是,基于梯度的训练过程可以更加有效的进行,即加快收敛速度,减轻梯度消失或爆炸导致的无法训练的问题。
如果权重
的值总是较小的(广义上与1相比),则在反向过程中,梯度呈指数级衰减,就出现了梯度消失的问题;反之,如果如果权重
总是较大,则相应的就会出现梯度爆炸的问题。结论就是,在反向传播过程中,权值
的大小会极大的影响梯度的有效传播,而在训练过程中,权重并不总是受人为控制的。
BN带来的好处:
减轻了参数初始化的依赖,方便调参。
训练更快,可以使用更高的学习率。
增加了泛化能力,dropout等技术可以去掉。
BN不适应的场景:
batch比较小,学到的mean,std不准确,因为数据太少,一般多卡训练,由于bn不同步,也会出现精度下降。