百科问答小站 logo
百科问答小站 font logo



Batch Normalization 训练的时候为什么不使用 moving statistics? 第1页

  

user avatar   wang-feng-98-82 网友的相关建议: 
      

因为用moving statistics的话,不能对这些统计量求导,这样会少很多梯度的性质。

例如除以标准差后的梯度方向,是与feature垂直的(严谨一点,减均值之后的feature),所以用这个梯度更新不会引起feature scale的剧变,从而解决了梯度爆炸/消失。

用moving average,不对标准差求导,梯度方向跟之前是一样的,只是乘了一个系数而已。这样只能吃到BN前向的好处,吃不到BN反向传播的好处。

但其实仍然有方法可以利用moving statistics来做到类似的性质,本质上是在反向过程也用moving average统计一些参数,具体请参考: Towards stabilizing batch statistics in backward propagation of batch normalization。




  

相关话题

  如何评价MSRA最新的 Relation Networks for Object Detection? 
  AlphaGo 与李世石的对战会推动人类的极限还是机器学习的进步和觉醒? 
  如何看待旷视科技新产品监视学生上课? 
  究竟什么是损失函数 loss function? 
  为什么强大的 MXNet 一直火不起来? 
  CVPR 2019 有哪些值得关注的亮点? 
  什么是大模型?超大模型?Foundation Model? 
  CVPR 2019 有哪些值得关注的亮点? 
  能否对卷积神经网络工作原理做一个直观的解释? 
  transformer 为什么使用 layer normalization,而不是其他的归一化方法? 

前一个讨论
为什么图形学的会议siggraph的论文代码很少会开源?好像视觉如CVPR、ICCV开源的更多一些。
下一个讨论
计算机专业大一寒假该如何规划?





© 2025-06-02 - tinynew.org. All Rights Reserved.
© 2025-06-02 - tinynew.org. 保留所有权利