Loss reduction: when to use sum and when mean?

Loss reduction 一般使用 mean,原因是其实使用 sum 和 mean 区别不大,使用 sum 就是对每次梯度进行累加,而使用 mean 就是累加之后除以 batch size, 二者差一个 batch size 大小。而为了解耦合,避免调整 batch size 的时候影响计算出来的梯度,从而影响事先调好的学习率,一般使用 mean,这样即使调节 batch size, 梯度大小也不会变化,最佳学习率也不会改变。

  1. neural networks - Loss reduction: when to use sum and when mean? - Cross Validated
  2. neural networks - Mean or sum of gradients for weight updates in SGD - Cross Validated