Decoupled Weight Decay Regularization
- はじめに
- 適応的なoptimizerはSGD(with momentum)ほど一般化しない
- AdamのL2正則化はSGDほどうまくいかない
- AdamとL2正則化はweight decayと比べて、正則化されにくい
- ライブラリではL2正則化のみ実装されて、weight decayが実装されてない
- weight decayはsgdでもadamでも効果ある
- sgdではL2正則化=weight decayだがadamでは違う
- 2 DECOUPLING THE WEIGHT DECAY FROM THE GRADIENT-BASED UPDATE
- L2正則化はlossに重みの二乗の項を入れて、重みが0に近づく効果を入れる
- weight decayは重み更新時に重みを引く項を入れて、重みが0に近づく効果を入れる
- SGDならこれはL2正規化
- sgdのweight decayはL2正則化と一緒
- weight decayの最適な係数があったとしても、L2正則化の係数にもっていくには、学習率が関係してくるので大変
- →分離したい
- lossに1/2w^2を入れる話(L2) と更新時にθを0に近づける(weight decay)話を分離する
- 一緒だと勾配にパラメータの勾配も入ってくるが、分離すると本来の勾配だけになる
- adamだと大きな勾配を抑制するので、L2も抑制されるが、weight decayは大丈夫
- 4 Experiment validation
- 4.1 EVALUATING DECOUPLED WEIGHT DECAY WITH DIFFERENT LEARNING RATE SCHEDULES
- adamwの方がadamよりよかった
- スケジューラを使うと正則化の最適な係数の範囲がシャープになる
- コサインアニーリングがよかったので、今後もそれを使う
- 4.2 DECOUPLING THE WEIGHT DECAY AND INITIAL LEARNING RATE PARAMETERS
- デカップリングしないと、初期学習率と正則化係数が依存してしまう
- デカップリングすると、初期学習率に限らず、最適な正則化係数は決まる
- 4.3 BETTER GENERALIZATION OF ADAMW
- adamwの方がtest errorは下がった
- 同じtrain lossでもadamwの方がtest errorが低かった→汎化してる(収束がよくなっただけではない)
- 4.4 ADAMWR WITH WARM RESTARTS FOR BETTER ANYTIME PERFORMANCE
- warm start使うと学習が早くなる
- 4.1 EVALUATING DECOUPLED WEIGHT DECAY WITH DIFFERENT LEARNING RATE SCHEDULES