在第 12.4 節中,我們回顧了在執行隨機梯度下降時會發生什么,即,在只有梯度的噪聲變體可用的情況下執行優化時。特別是,我們注意到對于噪聲梯度,我們在選擇面對噪聲的學習率時需要格外謹慎。如果我們將它降低得太快,收斂就會停滯。如果我們過于寬容,我們將無法收斂到一個足夠好的解決方案,因為噪聲會不斷驅使我們遠離最優解。
12.6.1。基本
在本節中,我們將探索更有效的優化算法,尤其是針對實踐中常見的某些類型的優化問題。
12.6.1.1。漏平均值
在上一節中,我們討論了小批量 SGD 作為加速計算的一種方法。它還有一個很好的副作用,即平均梯度減少了方差量。小批量隨機梯度下降可以通過以下方式計算:
為了保持符號簡單,我們在這里使用 hi,t?1=?wf(xi,wt?1) 作為樣本的隨機梯度下降i使用及時更新的權重t?1. 如果我們能夠從方差減少的效果中受益,甚至超越小批量的平均梯度,那就太好了。完成此任務的一個選擇是用“leaky average”代替梯度計算:
對于一些β∈(0,1). 這有效地將瞬時梯度替換為對多個過去梯度進行平均的梯度 。v稱為速度。它積累了過去的梯度,類似于一個重球從目標函數景觀上滾下來如何對過去的力進行積分。為了更詳細地了解發生了什么,讓我們展開vt遞歸地進入
大的β相當于長期平均水平,而小 β僅相當于相對于梯度法的輕微修正。新的梯度替換不再指向特定實例上最速下降的方向,而是指向過去梯度的加權平均值的方向。這使我們能夠實現批量平均的大部分好處,而無需實際計算其梯度的成本。稍后我們將更詳細地重新討論這個平均過程。
上述推理構成了現在所謂的 加速梯度方法的基礎,例如動量梯度。他們享有額外的好處,即在優化問題是病態的情況下更有效(即,在某些方向上進展比其他方向慢得多,類似于狹窄的峽谷)。此外,它們允許我們對后續梯度進行平均以獲得更穩定的下降方向。事實上,即使對于無噪聲凸問題,加速方面也是動量起作用的關鍵原因之一。
正如人們所預料的那樣,由于其功效,勢頭是深度學習及其他領域優化的一個深入研究的課題。例如,請參閱Goh(2017 年)撰寫的 精美說明文章,以獲取深入分析和交互式動畫。它是由Polyak ( 1964 )提出的。Nesterov(2018)在凸優化的背景下進行了詳細的理論討論。長期以來,眾所周知,深度學習的勢頭是有益的。參見例如Sutskever等人的討論 。( 2013 )了解詳情。
12.6.1.2。病態問題
為了更好地理解動量法的幾何特性,我們重新審視了梯度下降法,盡管它的目標函數明顯不太令人滿意。回想一下我們在12.3 節中使用的f(x)=x12+2x22,即適度扭曲的橢球物鏡。我們通過在x1方向通過
像之前一樣
評論
查看更多