減少損失:隨機梯度下降

在梯度下降法中,「批次」是在單一訓練疊代中計算漸層時使用的一組範例。目前,我們假設批次資料為整個資料集。 以 Google 的規模工作時,資料集通常會包含數十億甚至數千億個樣本。此外,Google 資料集通常包含大量特徵。因此,批次處理的結果可能相當龐大。非常大的批次可能會使一次疊代,導致運算時間過長。

包含隨機取樣範例的大型資料集可能包含備援資料。事實上,備援功能隨著批次大小增加而變得更大。某些備援功能對於消除雜訊的漸層較為有用,但數量龐大批次通常不會比大型批次更大量的預測值。

如果我們可以用「平均」減少運算次數來獲得正確漸層,會怎麼樣?從資料集中隨機選擇樣本,我們就能從小幅範圍中估計 (不過,無異議) 的大平均值。Stochastic 梯度下降法 (SGD) 會將這個想法付諸實行,這個概念只會在每次疊代中使用單一範例 (批次大小為 1)。新加坡的疊代作業已經足夠,因此可以有效運作,但又很吵雜。「stochastic」(隨機性) 一詞代表構成各批量的範例將隨機選擇。

最小批次隨機梯度下降法 (迷你批次 SGD) 是完整批次疊代和 SGD 之間的平衡點。迷你批次通常介於 10 到 1,000 個樣本之間,隨機選擇。迷你批次 SGD 會減少 SGD 中的雜訊量,但還是比完整批次更有效率。

為了簡化說明,我們把重點放在單一功能的梯度下降法。請放心,梯度下降法也適用於包含多項特徵的特徵集。