機械学習オプティマイザー

最終更新: 2025-03-23 06:24:32 +0800 +0800
原文は英語で書かれています。あなたはAI翻訳版を読んでいます。

オプティマイザーは、訓練目的関数を小さくするためにモデルパラメーターを更新します。 勾配ベース学習では、目的関数が予測とターゲットの不一致を測定し、自動微分が パラメーターに関する勾配を提供します。

勾配降下法 #

パラメーター \(\theta\)、学習率 \(\eta\)、損失 \(L\) に対して、勾配降下法は次を実行します。

text
θ ← θ − η ∇θL

バッチ勾配降下法は、更新ごとに訓練セット全体を使用します。確率的勾配降下法は 1 つの例を使用し、ミニバッチ勾配降下法は小さなバッチを使用します。ミニバッチは、 アクセラレーターを効率よく利用しながら探索に役立つ勾配ノイズを加えられるため、 実用上の標準的な選択肢です。

モメンタムと適応的手法 #

モメンタムは過去の勾配から移動方向を蓄積し、狭い谷での振動を抑えます。Adam は モメンタムと、勾配の二乗から得られるパラメーターごとの適応的なスケールを組み合わせます。 AdamW は Adam の適応的更新から weight decay を分離し、Transformer の訓練で一般的な デフォルトです。

あらゆる場合に最適なオプティマイザーはありません。モメンタム付き SGD は一部の 画像処理ワークロードで高い汎化性能を示すことがあり、AdamW は大規模言語モデルで チューニングしやすい場合が多くあります。学習率スケジュール、バッチサイズ、 weight decay、勾配クリッピング、データ品質は、オプティマイザーの名称と同程度の 影響を与えることがあります。

実践的なチューニング #

ベースラインとなるオプティマイザーと保守的な学習率を選び、訓練損失、検証品質、 勾配ノルム、不安定性を監視します。訓練損失が下がることだけでは、有用なモデルの 証明になりません。初期の大きな更新が不安定な場合はウォームアップを使用し、訓練が 収束に近づいたら学習率を下げます。また、再開後の訓練が一貫して動作するよう、 オプティマイザーの状態をチェックポイントに保存します。

コメント

GitHub で閲覧・コメントする(投稿にはログインが必要です)