隨機梯度下降
SGD算法全稱隨機梯度下降(Stochastic Gradient Descent),是深度學習和機器學習中常用的最佳化算法之一。
SGD主要用於更新模型參數,以最佳化損失函式。在每次疊代中,它隨機抽取一部分訓練樣本(而非全部樣本)來計算梯度,並據此更新模型參數。這種方法在大規模數據集上訓練模型時非常高效,因為只需考慮一小部分樣本即可獲得參數更新,從而加快了訓練速度。同時,SGD也使得模型能夠更好地泛化,因為它利用了隨機性來減少訓練過程中的方差。
SGD的一個主要缺點是它可能會導致參數更新的震盪和不穩定性,尤其是在處理具有複雜損失表面的模型時。為了改進這一點,研究者們開發了各種SGD的變種,如動量SGD和Adam等,這些變種通過引入額外的機制(如動量項或自適應學習率)來改進SGD的性能。