為什麼我們認為隨機梯度下降會找到最小值?我的意思是在每次迭代中,SGD 都朝著只減少當前批次誤差的方向移動(SGD 不關心其餘的樣本)。但是,為什麼這會導致我們達到成本函數的局部最小值?
我的意思是我們期望正常的梯度下降卡在最近的局部最小值上,對吧?但是我們預計新元會停留在什麼樣的最小值上,為什麼?
為什麼我們希望這個全新的最小值比最初的更深?它更有可能嗎?為什麼?理由是什麼?
我假設您是在尋求隨機梯度下降 (SGD) 背後的一些直覺,而不是尋求嚴格的證明。
首先,回想一下,您實際上只是朝著由速率參數 α 縮放的批次梯度的方向移動。因此,對於每個批次,您只需稍微更改參數。
讓我們考慮一個簡單的例子。假設您必須在 2D 平面中找到靠近兩個給定點和(x, y)
的點的坐標。更準確地說,你必須找到最小化函數r
p
q
(x, y)
f(x, y) = (x - pₓ)² + (y - pᵧ)² + (x - qₓ)² + (y - qᵧ)² .
這個問題的解決方案,只是之間的中點p
和q
。(即1/2 (p+q)
)。然而,讓我們假設我們將使用 SGD 解決這個問題。
讓第一批只是重點p
,第二批只是重點q
。因此,第一批減少了期限
(x - pₓ)² + (y - pᵧ)²
而第二個減少
(x - qₓ)² + (y - qᵧ)² .
第一項p
的最小值是點,而第二項的最小值是q
。(兩個問題的梯度分別是2 (r-p)
和2 (r-q)
。)因此,如果我們應用 SDG,我們從 的隨機值開始r
。然後我們通過應用第一批(假設 α 足夠小)r
稍微移動到 的方向p
。然後我們r
稍微向 的方向移動q
。重複這兩個步驟。
該點將r
沿鋸齒形路徑移動。首先,靠近p
一點,q
然後再靠近一點,然後再靠近一點p
,依此類推。如果適當地選擇率α,然後r
將實際走向之間的中點p
和q
,原因如下。如果從起點到中點繪製一條直線p
和q
。平均而言,您將向這條線的方向移動,因為向與這條線垂直的方向移動的任何一步都將被下一步取消。一個例子如下所示。
從這個例子中,你可以看到,在使用 SGD 時做了哪些假設。參數 α 必須選擇得足夠小,這樣你就不會瘋狂地跳來跳去,而只是朝著每個批次的最小值移動。如果您要針對相同的 值一次計算所有批次的校正r
,而不是r
在每個批次之間更新,然後一次應用所有校正,您實際上將執行(批次)梯度下降的步驟。如果 α 較小,則r
在應用單個批次的校正時不會發生顯著變化。因此,一次計算所有批次的校正的效果與計算每次更新後的校正非常相似,因此(批次)梯度下降和 SDG 收斂到相同的局部最小值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句