小批量: 優點走的是穩的,缺點是蓄力/技能冷卻時間長,要把所有的資料都看過一遍才更新參數
大批量: 缺點是走的每一步是不穩的,但技能冷卻時間短。
如果考慮平行運算,大批量所花的時間不一定比小批量來的長。從實驗得知,有 GPU 的情況,在批量大小為 1 筆與 1000 筆所花的時間相差不多。但太大的批量也是會花比較久的時間。所以實際上,小批量可能會比大批量花更久的時間。因為小批量需要更多次才能完成一次迭代(epoch)。
批量越大時,反而正確率也會越低,不管是在訓練資料或是驗證資料。當用大批量,最佳化可能會有問題。一個可能解釋是:在一次批量計算時可能卡住,但在下一次批量計算時搞不好就會脫離了。
文獻提到,小批量與大批量在訓練資料所訓練出相近的模型,該模型在測試資料上,小批量比大批量來的糟。這裡就是過適(overfit)。
除了梯度下降,現在再加上動量,作為更新的方向。