# Stochastic Weight Averaging (SWA) & Exponential Moving Average(EMA) - - - - - 整理by: Shirley Wang - - - - - ## SWA > SWA是一種最佳化演算法,改進模型的泛化能力。 * 取多個迭代點的值進行平均,以取代單一迭代點的參數,提高模型泛化能力。 與SGD相比,雖然SWA在訓練時損失較高,但是在測試集的表現較,代表SWA擁有較好的泛化能力。 ### SWA~params~ = 1/t$\Sigma$^T^~t=1~$\theta$~t~ * SWA~params~是SWA版本的模型参數 * T 是保存的迭代點的数量 * t 是迭代點的模型参数 ### pytorch ## EMA > EMA 是一種優化技巧,在訓練神經網路時,主用來提高模型的穩定性以及泛化能力 * 模型在訓練過程中可能會發生劇烈波動,此變化可能會使訓練過程不穩定,難以收斂。因此使其平滑化,可穩定訓練。 * 透過平滑化可以減少過擬合,增加泛化能力。 ### W~shadowt~ = $\alpha$ $*$ W~shadowt-1~ + (1 - $\alpha$) $*$ W~t~ * W~shadow~代表EMA權重 * W~t~為模型權重 * $\alpha$代表衰退率 舉Momuntum優化器為例: V~t~= $\beta$~vt-1~ + (1-$\beta$)dW 每一次的梯度更新都會受到前幾次的梯度影響,當梯度發生較大變化時,之前的權重可以抑制變化過大的情形,以達到平滑化的效果。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up