教材: 【機器學習2021】類神經網路訓練不起來怎麼辦 (二): 批次 (batch) 與動量 (momentum)

【機器學習2021】類神經網路訓練不起來怎麼辦 (二): 批次 (batch) 與動量 (momentum)

使用Batch進行Optimization

<aside> 📒 名詞解釋 把所有N(data)分割成很多Batch→shuffle 把每個Batch都看過一遍→epoch,而每個epoch都長的不一樣,因為他們分的batch樣子都不同

</aside>

Untitled

為什麼選擇Batch進行Optimization?

  1. 完全沒分Batch(full batch=N)它的平行運算時間是滿快的且powerful;Batch很小的,平行運算雖然很快,但卻是充滿noisy

  2. 但在accruracy上的比較,卻是small batch的training較好

    Untitled

<aside> 📢 懶人包(如下) 因此Batch size也是一個要自己調整的參數

</aside>

Untitled


Momentum

在一個物理世界中,一顆圓球從高處滾下來,是不會被critical point纏住的,如果我們可以運用這個特點呢?

Gradient Descent(梯度下降) + Momentum

在梯度下降的過程,不僅考慮$g$的負反方向,還會考慮到$m$(前一步的動能)

因此,可以盡力避開local minima,如下圖。

Untitled