1 epoch = 看一遍所有的 batch → 在每个 epoch 后进行一次 Shuffle。
为什么要用?
如果没有划分,那么要把所有的资料都看完才 update 一次。 经过划分之后,每看一组,update 一次。如果组太小,就会有太多的 noise。
但是注意:
这里有一个正在研究的问题,即小的 batch 到底好在哪,有一个假说是其会更倾向于落在 Flat Minima 里,而大的 batch 会倾向去落在 Sharp Minima 里,当然这个假设尚未得到证实。
当然也有一些方案可以使得在大的 batch 下也可以取得不错的 optimization 的结果,使得可以利用大 batch 快的优势。