【要約】長いウォームアップほど安全、は間違い?CIFAR-10で検証したら10epochは逆効果だった [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
深層学習の学習初期における不安定さを防ぐため、学習率ウォームアップが一般的に用いられる。しかし、その適切な期間設定については、以下の課題が存在する。
- ・「ウォームアップは長ければ長いほど安全である」という誤った認識の蔓延。
- ・総エポック数が固定されている場合、ウォームアップ期間の延長が本学習期間の不足を招く問題。
- ・収束不足によるモデル精度の低下リスク。
// Approach
筆者は、ウォームアップ期間が精度に与える影響を明らかにするため、以下の実験を行った。
- ・CIFAR-10データセットとAdamオプティマイザを使用。
- ・総エポック数を30に固定した条件下で比較を実施。
- ・ウォームアップ期間を0、3、5、10エポックの4パターンに設定。
- ・各条件におけるテスト精度(test_accuracy)を算出。
// Result
実験の結果、ウォームアップ期間と精度の関係について以下の事実が判明した。
- ・warmup=3 epochで精度67.92%を記録し、最も高い成果を得た。
- ・warmup=10 epochでは精度65.67%となり、ウォームアップなし(66.60%)を下回った。
- ・ウォームアップが総エポック数の3割を超えると、本学習の圧迫により精度が悪化する。
Senior Engineer Insight
> 学習スケジュールの設計において、ウォームアップは手段であり目的ではない。総エポック数が決まっている場合、期間の延長は本学習の機会損失に直結する。ハイパーパラメータの最適化では、単一のテクニックだけでなく、全体の学習予算とのトレードオフを常に意識すべきである。現場では、総エポック数に対する比率を基準に検討することを推奨する。