最適化手法 - SGD・Adam・AdaGrad

ニューラルネットの重み更新を司る主要な最適化手法の違いを比較します。

まずはクイズからどうぞ。あなたの予想は合うでしょうか? 深層学習の学習速度と精度を左右する、重要な技術です。

確認クイズ

現在の深層学習で最もよく使われている最適化手法はどれか?

  1. SGD
  2. AdaGrad
  3. Adam
  4. Newton法
こたえを見る

正解: 3. Adam

Adam (Adaptive Moment Estimation) はモメンタムと適応的学習率を組み合わせた手法で、多くのタスクで安定して良い性能を発揮するため現在最もよく使われています。2014年 Kingma らの提案。

若葉 みどり 先生(普段) 若葉 みどり 先生

答えはAdamね。
ニューラルネットワークの学習では、誤差を小さくする方向に重みを更新していくのだけど、その更新の仕方を決めるのが『最適化手法 (Optimizer)』なの。

胡桃 あんず(普段) 胡桃 あんず

山を下りる方法がいろいろあるみたいな感じ? まっすぐ下りるか、ジグザグに下りるか、みたいな。

若葉 みどり 先生(笑顔) 若葉 みどり 先生

いい直感ね。
SGD (確率的勾配降下法) は最も基本で、勾配の方向に一定の学習率で進むの。
シンプルだけど、谷を行ったり来たりして収束が遅いことがあるわ。

白銀 ゆき(普段) 白銀 ゆき

そこでモメンタムが登場しますね。
前回の更新方向を慣性として加算することで、谷を滑らかに下れるようになります。
ボールが坂を転がるときに、勢いがついて小さな凸凹を乗り越えていくイメージです。

若葉 みどり 先生(普段) 若葉 みどり 先生

次にAdaGradは、パラメータごとに学習率を自動で調整する手法なのよ。
よく更新されるパラメータは学習率を小さく、あまり更新されないパラメータは大きくしていくの。
稀な特徴の学習に強いわ。

胡桃 あんず(笑い) 胡桃 あんず

うそっ!?
パラメータごとに違うとか賢すぎじゃん。

若葉 みどり 先生(笑顔) 若葉 みどり 先生

そしてAdamは、モメンタム (慣性) とAdaGradの適応的学習率の両方の良いところを取り入れた手法で、現在最も広く使われているの。
RMSpropの発展形とも言えるわね。

桜井 もも(笑顔) 桜井 もも

えへへ、いいとこどりですぅ! Adam先輩、頼もしいですぅ。

白銀 ゆき(普段) 白銀 ゆき

ただし状況によってはSGD + モメンタムのほうが最終的な汎化性能が高い場合もあります。
画像認識の高精度モデルでは今もSGDが選ばれることがありますね。

若葉 みどり 先生(普段) 若葉 みどり 先生

最近ではAdamWという改良版も登場して、Transformer系モデルで標準的に使われているわ。
LLMの学習もほぼAdamWで行われているの。

胡桃 あんず(普段) 胡桃 あんず

結局、これさえ使えばOKってのはなくて、タスクごとに選ぶんだね。

若葉 みどり 先生(笑顔) 若葉 みどり 先生

そのとおりね。
最適化手法選びもまた、深層学習の腕の見せ所なの。

白銀 ゆき(普段) 白銀 ゆき

試験的には『Adam = モメンタム + 適応的学習率』というポイントさえ押さえれば、細かい数式は覚えなくて大丈夫です。

桜井 もも(笑顔) 桜井 もも

全部覚えなきゃ、って思わなくていいんですねぇ。
安心しましたぁ。

若葉 みどり 先生(普段) 若葉 みどり 先生

実装的には 学習率のスケジューリングも重要で、学習が進むにつれて学習率を段階的に下げる『学習率スケジューラ』もよく使われるわ。
最初は大きく、後半は繊細に、というリズムね。

胡桃 あんず(びっくり) 胡桃 あんず

リズムを変えていくんだね、ほんとに奥が深いね……。

確認クイズ

Adamに組み合わさっている2つの仕組みはどれか?

  1. ドロップアウト と バッチ正規化
  2. モメンタム と 適応的学習率
  3. 畳み込み と プーリング
  4. 事前学習 と ファインチューニング
こたえを見る

正解: 2. モメンタム と 適応的学習率

Adamはモメンタム (過去勾配の移動平均) と、パラメータごとの適応的学習率 (過去勾配の二乗平均に基づく) の2つを組み合わせたオプティマイザです。

この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。

この記事について

AIパスポートスタディが作成した教材です。運営について・記事の作り方

試験についてはこちらをご覧ください: GUGA 生成AIパスポート公式ページ

この記事を共有