AdaDeltaは、ニューラルネットワークの訓練のために設計された適応学習率最適化アルゴリズムである。2012年にMatthew D. Zeilerによって論文「ADADELTA: An Adaptive Learning Rate Method」で発表された。この手法はRMSPropを基盤とし、ユーザーが指定する初期学習率の必要性を排除し、代わりに過去の勾配とパラメータ更新の窓からパラメータごとのステップサイズを導出する。これにより、グローバルな学習率の調整が困難な状況や、損失関数の形状がパラメータ間で大きく異なる場合に特に有用となる。
AdaDeltaの核心的な革新は、二つの指数減衰平均を用いる点にある。一つは二乗勾配、もう一つは二乗パラメータ更新に対するものである。固定またはスケジュールされた学習率に依存する確率的勾配降下法の変種とは異なり、AdaDeltaはステップサイズを最近の更新の二乗平均平方根と最近の勾配の二乗平均平方根の比として計算する。この比は無次元であり、勾配のスケールに自動的に適応するため、深層ネットワークの異なる層間で手動介入なしに一貫した挙動を維持できる。
歴史的背景と動機
AdaDeltaは、深層学習最適化技術が急速に進歩した時期に登場した。2010年代初頭、深層ネットワークの訓練は、勾配の消失や爆発、学習率スケジュールへの敏感性などの問題により、非常に困難であった。モメンタムや勾配クリッピングなどの手法は部分的な解決策を提供したが、依然としてハイパーパラメータの慎重な調整が必要だった。RMSPropは、2012年頃にGeoffrey Hintonの講義ノートで導入され、二乗勾配の移動平均で更新を正規化することで勾配スケールの問題に対処したが、依然として学習率が必要だった。
当時Googleに所属していたZeiler(ただしこの研究は独立に行われた)は、学習率の選択に対して頑健なオプティマイザを創り出すことを目指した。その動機は実用的なものであった。大規模な実験では、適切な学習率を見つけることがしばしば多大な時間と計算リソースを消費した。AdaDeltaの設計は、オプティマイザを自己調整型にし、実務者の負担を軽減し、異なる問題間でより再現可能な結果を可能にすることを目指した。
この論文は2012年6月にarXivで公開され、機械学習コミュニティで急速に注目を集めた。これは、ステップサイズのためのグローバルなハイパーパラメータなしに完全に適応的な次元ごとの学習率を提案した最初の手法の一つであり、この概念は後にAdam(学習率を必要とするがデフォルトは0.001)などの他のオプティマイザに影響を与えた。
数学的定式化
AdaDeltaは、各パラメータθに対して二つの状態変数を維持する。二乗勾配の指数移動平均(E[g²]_tと表記)と、二乗パラメータ更新の指数移動平均(E[Δθ²]_tと表記)である。各時間ステップtで、アルゴリズムは損失に対するθの勾配g_tを計算する。
最初の平均は次のように更新される:
E[g²]_t = ρ E[g²]_{t-1} + (1 - ρ) g_t²
ここでρは減衰定数であり、通常0.95に設定される。これはRMSPropの更新と同一である。
二番目の平均は二乗更新を追跡するが、現在のステップのパラメータ変化を用いて更新される。パラメータ更新の二乗平均平方根(RMS)は次のように計算される:
RMS[Δθ]_{t-1} = sqrt(E[Δθ²]_{t-1} + ε)
ここでεはゼロ除算を避けるための小さな定数(しばしば1e-6)である。パラメータ更新は次のようになる:
Δθ_t = - (RMS[Δθ]_{t-1} / RMS[g]_t) * g_t
ここでRMS[g]_t = sqrt(E[g²]_t + ε)である。更新を適用した後、アルゴリズムは新しく計算されたΔθ_tを用いてE[Δθ²]_tを更新する:
E[Δθ²]_t = ρ E[Δθ²]_{t-1} + (1 - ρ) Δθ_t²
この定式化により、ステップサイズは最近の更新の二乗平均平方根と最近の勾配の二乗平均平方根の比となる。分子と分母が同じ単位(二乗パラメータ値)を持つため、結果として得られるステップサイズは無次元であり、これが学習率を必要としない理由である。減衰定数ρは移動平均の窓サイズを制御し、大きな値は過去の履歴により多くの重みを与える。
RMSPropおよびAdamとの比較
AdaDeltaは、RMSPropと同じ勾配スケーリング機構を使用するため、RMSPropの拡張としてしばしば説明される。主な違いは、RMSPropが勾配を勾配の二乗平均平方根で割り、固定学習率ηを掛けるのに対し、AdaDeltaはその固定ηを過去のパラメータ更新の二乗平均平方根に置き換える点である。この置換により、ステップサイズは勾配の大きさだけでなく、実際に行われた更新に反映される損失関数の曲率にも適応する。
2015年にDiederik KingmaとJimmy Baによって導入されたAdamと比較すると、AdaDeltaは勾配の二次モーメントを使用するという点で共通している。しかし、Adamは一次モーメント推定によるモメンタムも組み込み、初期の時間ステップに対してバイアス補正を使用する。Adamは依然として学習率を必要とするが、デフォルト値の0.001は多くのアプリケーションで良好に機能する。対照的に、AdaDeltaには学習率ハイパーパラメータがなく、最適な学習率が不明またはタスク間で異なる場合に有利となり得る。
実証研究では、AdaDeltaは多くの標準ベンチマークでAdamと同等の性能を示すことが多いが、勾配の大きさが時間とともに劇的に変化する状況ではより安定する可能性がある。しかし、Adamのモメンタム項は、一部の非凸問題で局所最小値から脱出するのに効果的である。2020年代半ば現在、Adamとその変種(AdamWなど)は、特にトランスフォーマーや大規模言語モデルの訓練で実務的に広く使用されているが、AdaDeltaは依然として関連するベースラインであり、その特性が有益な特定の領域で使用され続けている。
実装の詳細と変種
実践では、AdaDeltaを実装するにはパラメータごとに追加の二つのベクトルを格納する必要があり、プレーンなSGDと比較してメモリ使用量が倍増する。これはAdamのメモリ要件と同様である。減衰定数ρは通常0.95に設定され、εは数値的安定性を確保するために1e-6のような小さな値に設定される。一部の実装ではεの配置がわずかに異なり、平方根の外側ではなく内側に追加されるが、その効果は無視できる。
一般的な変種として、AdaDeltaを重み初期化スキームやバッチ正規化と組み合わせて訓練をさらに安定化させることがある。この手法はデータ拡張やカリキュラム学習戦略とも互換性がある。分散訓練設定では、AdaDeltaは同期または非同期更新で使用できるが、発散を避けるために移動平均をワーカー間で同期する必要がある。
TensorFlow、PyTorch、JAXなどのいくつかの深層学習フレームワークは、AdaDeltaの組み込み実装を提供している。例えば、PyTorchのtorch.optim.Adadeltaはユーザーがrhoとepsパラメータを指定でき、デフォルトはそれぞれ0.9と1e-6である(PyTorchのデフォルトのrhoは0.9であり、元の論文の0.95とは異なることに注意)。この不一致は異なる挙動を引き起こす可能性があるため、実務者は選択したフレームワークの特定のデフォルトを認識しておくべきである。
アプリケーションと使用例
AdaDeltaは、画像分類、音声認識、自然言語処理など、幅広い機械学習タスクに適用されてきた。2010年代初頭には、CIFAR-10やImageNetなどのデータセットで深層畳み込みネットワークの訓練に使用され、モメンタム付きSGDよりも少ないハイパーパラメータ調整で競争力のある結果を達成した。また、勾配の大きさが時間ステップ間で大きく変動するシーケンスモデリングのためのリカレントニューラルネットワークでも使用された。
AdaDeltaの顕著な利点の一つは、初期パラメータの選択に対する頑健性である。学習率を必要としないため、自動機械学習パイプラインや新しいアーキテクチャのベンチマークでデフォルトのオプティマイザとしてしばしば使用される。例えば、トロント大学やスタンフォードAIラボの研究者は、最適化アルゴリズムを比較する研究でAdaDeltaを使用してきたが、最先端の生成AIモデルではあまり一般的ではなく、通常はAdamが好まれる。
強化学習では、報酬信号がノイズを含み勾配スケールが変動する連続制御タスクのポリシー訓練にAdaDeltaが使用されてきた。その適応ステップサイズは、手動スケジューリングなしで安定した更新を維持するのに役立つ。しかし、近年では、AdamやLAMBなどのより高度なオプティマイザが大規模訓練でより人気があり、これは学習率ウォームアップや勾配クリッピング技術との互換性に一部起因する。
理論的特性と限界
理論的な観点から、AdaDeltaは対角プレコンディショニング付き勾配降下法と見なすことができ、プレコンディショナーは勾配と更新の履歴に基づいてオンラインで更新される。これは自然勾配法に類似しているが、より単純な近似である。この手法は、勾配が有界であると仮定すると、ステップサイズが常に正で有界であることを保証し、凸設定での収束に役立つ。しかし、非凸目的関数に対する形式的な収束証明は限られており、これは適応手法に共通する特徴である。
AdaDeltaの限界の一つは、ρの選択に敏感である可能性があることである。ρが小さすぎると、移動平均が過去の情報を急速に忘れ、不安定な更新につながる。大きすぎると、アルゴリズムが損失関数の形状の変化にゆっくりとしか反応しない可能性がある。学習率がないことは、ユーザーが全体的なステップサイズを制御する手段が少ないことも意味し、特定のステップサイズが良好に機能することが知られている場合には不利となり得る。
もう一つの問題は、AdaDeltaの更新規則が訓練の初期段階で非常に小さなステップサイズにつながることがあることである。これは初期のE[Δθ²]がゼロであるためである。これはε項によって緩和されるが、初期の収束を遅くする可能性がある。一部の実装ではこれを避けるためにE[Δθ²]を小さな正の値に初期化するが、これにより追加のハイパーパラメータが導入される。
遺産と影響
AdaDeltaの導入は、深層学習における適応最適化手法の広範なトレンドに貢献した。学習率を完全に排除できることを実証し、ハイパーパラメータ不要のオプティマイザに関するその後の研究に影響を与えた。Adamほどの広範な採用は達成しなかったが、最適化ツールキットの重要な一部であり続け、深層学習技術に関する教科書や調査論文でしばしば引用されている。
この手法は、元の論文での明確で簡潔な説明でも注目に値し、いくつかのベンチマークタスクでの詳細な導出と実験を含んでいた。Zeilerの研究は、AdamやAMSGradなどの後の発展に影響を与え、これらは適応手法の理論的欠点の一部に対処した。2020年代現在、AdaDeltaは主要な深層学習ライブラリに依然として含まれており、学習率不要のオプティマイザが望まれる場合に研究で時折使用されるが、その実用的な使用はより現代的な代替手段と比較して減少している。
要約すると、AdaDeltaはニューラルネットワークの最適化アルゴリズムの進化における重要なステップを表し、手動調整なしでステップサイズを適応させる原理的な方法を提供する。その遺産は、その後のオプティマイザの設計と、頑健で自己調整型の訓練手順を求める継続的な探求に残っている。