本文主要是介绍batch normalization中的moving average,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
训练时使用一个minibatch的训练数据计算均值和方差然后标准化数据,在test的时候我们也希望作相同的处理,比较直接的方法是在训练集上重新计算一遍统计量,但是,如果有1000w数据,这种计算就比较花费时间,而test的速度越快越好,所以在训练的时候,顺便就把均值和方差计算出来了,当然不是精确值,是近似值,这就是moving average。
running_var = momentum * running_var + (1 - momentum) * sample_var
在test时,直接使用训练得到的running mean/var标准化数据:
out = x_stand * gamma + beta
转自:https://www.zhihu.com/question/55621104
这篇关于batch normalization中的moving average的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!