Batch

  • Shuffle: 使得每次 Batch 内含有的资料,在每一个 epoch 都不一样

Why Batch?

但是时间消耗也不尽如此。 由于 GPU 的平行计算能力一定范围内,小的 Batch size 可能花费更久的时间。

那么大的 Batch 更好吗?并非,Noisy 的 Gradient 可能帮助 Optimization 取得更好效果。

为什么?

并且,小的 Batch 有利于 Testing 哦! 小的 Batch 可以防止走到不好的 Sharp Minima,导致由于测试和训练样本的偏差,产生非常坏的结果。

Momentum

一般的梯度下降:

加上 Momentum

也就是考虑过去所有 Gradient 的总和。

Summary