百科问答小站 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。




  

相关话题

  迁移学习入门,新手该如何下手? 
  为什么我用相同的模型,数据,超参,随机种子,在两台服务器会得到不同的结果? 
  如何评价 DeepMind 新提出的关系网络(Relation Network)? 
  神经网络中的能量函数是如何定义的? 
  能分享你收藏的国外AI talk, seminar平台或网站吗? 
  BERT模型可以使用无监督的方法做文本相似度任务吗? 
  如何用FPGA加速卷积神经网络(CNN)? 
  视觉Transformer如何优雅地避开位置编码? 
  多任务学习成功的原因是引入了别的数据库还是多任务框架本身呢? 
  2018年了,MXNet 发展的如何了? 

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





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