梯度下降的優化技術

    Gradient Descent 是一種廣泛用于機器學習模型的優化算法。但是,有幾種優化技術可用于提高 Gradient Descent 的性能。以下是一些最流行的 Gradient Descent 優化技術:

    學習率計劃:學習率決定了 Gradient Descent 算法的步長。學習率調度涉及在訓練過程中更改學習率,例如隨著迭代次數的增加而降低學習率。此技術有助于算法更快地收斂并避免超過最小值。


    基于動量的更新:基于動量的梯度下降技術涉及將先前更新的一小部分添加到當前更新中。該技術有助于算法克服局部最小值并加速收斂。

    批量歸一化:批量歸一化是一種用于對神經網絡每一層的輸入進行歸一化的技術。這有助于 Gradient Descent 算法更快地收斂,并避免漸變消失或爆炸。

    權重衰減: 權重衰減是一種正則化技術,涉及向成本函數添加與權重大小成正比的懲罰項。這有助于防止過度擬合并提高模型的泛化。

    自適應學習率:自適應學習率技術涉及在訓練過程中自適應地調整學習率。示例包括 Adagrad、RMSprop 和 Adam。這些技術根據歷史梯度信息調整學習率,可以提高算法的收斂速度和準確性。

    二階方法:Second-Order Method 使用成本函數的二階導數來更新參數。示例包括 Newton's Method 和 Quasi-Newton Methods。這些方法可以比 Gradient Descent 更快地收斂,但需要更多的計算并且可能不太穩定。



    Gradient Descent 是一種迭代優化算法,用于查找函數的最小值。一般的思路是將參數初始化為隨機值,然后在每次迭代時沿 “slope” 的方向采取小步驟。梯度下降在監督學習中被廣泛使用,以最小化誤差函數并找到參數的最佳值。已經為梯度下降算法設計了各種擴展。下面討論其中一些:


    動量法:此方法用于通過考慮梯度的指數加權平均值來加速梯度下降算法。使用平均值使算法以更快的方式收斂到最小值,因為朝向不常見方向的梯度被抵消。動量法的偽代碼如下。

    V = 0 for each iteration i: compute dW V = β V + (1 - β) dW W = W - α V

    V 和 dW 分別類似于速度和加速度。α 是學習率,β 類似于通常保持在 0.9 的動量。物理學解釋是,球下坡滾動的速度會根據山坡的坡度(坡度)方向產生動量,因此有助于球更好地以最小值(在我們的例子中 - 以最小的損失)到達。

    RMSprop:RMSprop 是由多倫多大學的 Geoffrey Hinton 提出的。直覺是將指數加權平均方法應用于梯度的第二個時刻 (dW2).此的偽代碼如下所示:

    S = 0 for each iteration i compute dW S = β S + (1 - β) dW2 W = W - α dW?√S + ε

    Adam 優化:Adam 優化算法結合了動量法和 RMSprop 以及偏差校正。此方法的偽代碼如下所示:

    V = 0 S = 0 for each iteration i compute dW V = β1 S + (1 - β1) dW S = β2 S + (1 - β2) dW2 V = V?{1 - β1i} S = S?{1 - β2i} W = W - α V?√S + ε

    Adam 的提議者 Kingma 和 Ba,為超參數推薦了以下值。

    α = 0.001 β1 = 0.9 β2 = 0.999 ε = 10-8
    登錄后免費查看全文
    立即登錄
    App下載
    技術鄰APP
    工程師必備
    • 項目客服
    • 培訓客服
    • 平臺客服

    TOP