Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Post-hoc EMA - EMAの減衰パラメータの事後最適化

yu4u
July 29, 2024

Post-hoc EMA - EMAの減衰パラメータの事後最適化

- 通常のEMAの指数減衰ではランダムな初期パラメータの影響が大きす ぎるため、べき関数を用いた重み付けを定式化
- 複数の減衰パラメータのcheckpointを一定間隔で保存しておくこと で、減衰パラメータを事後的に最適化することを提案
- Kaggleとかでも使えそう!

yu4u

July 29, 2024
Tweet

More Decks by yu4u

Other Decks in Technology

Transcript

  1. AI 3 同一モデルのweightを平均することで汎化性能を向上 1. モデルを一度学習 2. 上記のモデルを学習率をcyclicに変化させながらfinetune、 複数weightを取得 3. 上記のweight全てを平均し

    新たなモデルのweightとする 4. 学習データでforwardして BNのパラメータをアップデート Stochastic Weight Averaging (SWA) P. Izmailov, et al., "Averaging Weights Leads to Wider Optima and Better Generalization," in Proc. of UAI'18.
  2. AI 6 (余談) みんな大好きcosine LRスケジューリングの始祖はこちら もはや誰もrestartはしていない気がするけど SGDR: Stochastic Gradient Descent

    with Warm Restarts I. Loshchilov and F. Hutter, "SGDR: Stochasitc Gradient Descent with Warm Restarts," in Proc. of ICLR'17.
  3. AI 7 同一モデルのweightを平均することで汎化性能を向上 1. 一定間隔 (step) 毎にEMAモデルをアップデートするだけ! EMAも torch.optim.swa_utils に実装がある

    timm.utils.ModelEmaV2 を使っていたが ModelEmaV3 がある… (もちろん ModelEmaもある…) V3は減衰率のwarmupができる模様 後述のEMAの問題(初期weightの影響)が軽減されそう Exponential Moving Average (EMA)
  4. AI 12 複数の γ (σrel ) で、複数タイミングでweightを保存 学習後にこれらのweightから所望の γ (σrel

    ) で学習した際のweightを 最小二乗法で事後的に算出 再構築アルゴリズム