1行定義
AdaBoundとは、Adamの学習率に学習が進むほど幅が狭まる上限と下限を設け、序盤はAdam、終盤はSGDのようにふるまわせる最適化手法のことです。
くわしく
AdaBoundは、2019年にLuoらが国際会議ICLRで発表した最適化手法です。Adamの学習の速さと、SGDの汎化性能の高さを両立させることを狙っています。
背景にあるAdamの弱点
Adamはパラメータごとに学習率を自動で調整するため、学習の序盤に誤差が速く下がります。一方で、画像分類などではSGDより汎化性能が劣る場合があると指摘されてきました。Luoらは、Adamで学習中のモデルの学習率を調べ、収束が近づいた段階でも、極端に大きい値や小さい値が残っていることを示しました。そして、これが汎化性能を下げる一因だと考えました。
学習率を範囲内に収める
AdaBoundは、Adamがパラメータごとに計算した学習率を、下限ηl(t)と上限ηu(t)の範囲に切り詰めます。範囲からはみ出た値は、上限か下限の値に置き換えます。上下限は、学習の回数tとともに動きます。
- 序盤:下限はほぼ0、上限は非常に大きい値です。範囲が広いので、Adamとほぼ同じに動きます。
- 終盤:下限は上がり、上限は下がって、どちらも同じ値に近づきます。全パラメータの学習率がその値にそろい、SGD(モーメンタム付き)に近い動きになります。
論文の実験ではηl(t) = 0.1 − 0.1 / ((1 − β2)t + 1)とηu(t) = 0.1 + 0.1 / ((1 − β2)t)が使われ、どちらも0.1に近づきます。
先行研究との違い
AdamからSGDへある時点で切り替える方法も、2017年にKeskarとSocherが提案していました。ただし、切り替える時期を決めるハイパーパラメータが増え、その調整は簡単ではありません。AdaBoundは上下限を少しずつ狭め、切り替えの時点を決めずになめらかに移行させます。同じ論文では、AMSGradに同じ工夫を加えたAMSBoundも提案されています。
覚え方
「学習率にBound(境界)を付け、AdamからSGDへなめらかに移る」と覚えます。
G検定での出題
出題のされ方
Adamの汎化性能がSGDに劣る場合があるという問題への対策として、学習率に動的な上限と下限を設ける仕組みや、AMSGradを元にしたAMSBoundとの違いが問われます。
混同しやすい用語
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
AdaBoundは、勾配の大きさに上限を設ける勾配クリッピングによって、学習率の範囲を制御する手法である。
答えを見る
答え × 誤り
AdaBoundが上限と下限で切り詰めるのは、勾配ではなくパラメータごとの学習率です。勾配クリッピングは、発想の元になった技術として論文で紹介されています。
-
AdaBoundを提案した研究は、Adamなどの適応的な手法では学習の終盤に極端に大きな学習率や小さな学習率が現れ、性能が下がる場合があることを問題にした。
答えを見る
答え ◯ 正しい
論文では、CIFAR-10でResNet-34をAdamで学習させ、収束が近づいた段階でも極端な学習率が残ることを示しました。上限と下限は、この極端な値を抑える役割をもちます。
-
AdaBoundを使えば、上限と下限が最終的に近づいていく値を設定する必要はなくなる。
答えを見る
答え × 誤り
近づく先の値はハイパーパラメータとして決めます(論文の実験では0.1)。ただし論文では、この値や近づく速さが最終的な結果に与える影響は大きくないと報告されています。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Liangchen Luo, Yuanhao Xiong, Yan Liu, Xu Sun, Adaptive Gradient Methods with Dynamic Bound of Learning Rate, ICLR 2019 (arXiv:1902.09843) (3 The Non-Convergence Caused by Extreme Learning Rate(Figure 1)、4 Adaptive Moment Estimation with Dynamic Bound(Algorithm 2)、Appendix G Empirical Study on Bound Functions)
- Diederik P. Kingma, Jimmy Ba, Adam: A Method for Stochastic Optimization, ICLR 2015 (arXiv:1412.6980)
- Nitish Shirish Keskar, Richard Socher, Improving Generalization Performance by Switching from Adam to SGD, arXiv:1712.07628 (2017)