学習率
AIにおける最適な学習率設定の技術をマスターしましょう!この重要なハイパーパラメータが、モデルの学習とパフォーマンスにどのように影響するかを学びます。
学習率は設定可能なハイパーパラメータである。
ニューラルネットワークの学習で使われる
モデルの重みが更新されるたびに、推定された誤差に応じてモデルをどれだけ変更するかを制御する。
が更新されるたびに、推定された誤差に対してどの程度モデルを変更するかを制御する。これは基本的に、損失関数の最小値に向かって移動しながら、各反復におけるステップサイズを決定する。学習プロセスを、谷(最適な状態)に到達するために霧に覆われた山を下っていくようなものだと想像すると、学習率はその長さを決定する。
学習率は歩幅を決定する。学習速度は収束のスピードに直接影響するため、最も重要な設定のひとつである。
収束のスピードやモデルが最適解を見つけられるかどうかに直接影響するからだ。
学習率がトレーニングに与える影響
正しい学習率を選択することは、多くの場合、バランスをとる行為である。選択された値はトレーニングに大きく影響する。
ダイナミクスに大きく影響する:
-
高すぎる:学習率が高すぎる場合、モデルは大きすぎるステップを踏む可能性がある、
最適な重みをオーバーシュートし続ける。これは不安定な学習につながり、損失が振動したり、あるいは
発散(増加)し、モデルの収束を妨げます。
-
低すぎる:逆に、学習率が低すぎると更新が極端に小さくなる。この場合
これはモデルが最小値を逃さないことを保証するが、学習プロセス
が非常に遅くなる。さらに、ローカル・ミニマム(損失ランドスケープの最適でない谷)にはまり込むリスクが高まります。
ランドの最適な谷にはまり込むリスクが高くなります。
最新のトレーニングワークフローのほとんどは、トレーニング中にレートを動的に調整する学習レートスケジューラを利用している。一般的な戦略には、「ウォームアップ」期間が含まれる。
その後、モデルが収束に近づくにつれてウェイトを細かく調整できるように、レートを徐々に下げる「減衰」フェーズが続く。
モデルが収束に近づくにつれて、ウェイトを細かく調整できるようになる。
Ultralytics学習率設定
Ultralytics フレームワークでは、初期学習率(lr0)と最終的な
学習率(lrf)をモデル学習時の引数として使用する。この柔軟性により
を試すことができます。
from ultralytics import YOLO
# Load the recommended YOLO11 model
model = YOLO("yolo11n.pt")
# Train on COCO8 with a custom initial learning rate
# 'lr0' sets the initial learning rate (default is usually 0.01)
results = model.train(data="coco8.yaml", epochs=100, lr0=0.01)
実際のアプリケーション
学習速度の選択は、各業界に強固なAIソリューションを展開する上で極めて重要である:
-
医療画像解析
医療におけるAIのような重要な分野では、モデル
MRIスキャンで腫瘍などの異常をdetect するために学習される。この場合、ノイズに過剰適合することなく複雑なパターンを学習するためには、慎重に調整された学習率が不可欠である。
モデルがノイズにオーバーフィットすることなく、複雑なパターンを学習することを保証するために、学習率を慎重に調整することが不可欠です。例えばYOLO11
モデルを学習させる場合、研究者はしばしば、精度と信頼性を最大化するために、スケジューラを使って低い学習率を使用する。
と信頼性を最大化するために、スケジューラを使って低い学習率を使用することが多い。
-
自律走行車
自動運転車における物体検出では、モデル
多様な環境における歩行者、標識、他の車両を認識する必要がある。ウェイモ・オープン・データセット
のような膨大なデータセットでの学習には、データの膨大なばらつきを処理するために最適化された学習速度が必要です。適応学習率は
モデルは、初期段階ではより早く収束し、後期段階ではバウンディングボックス
の予測精度を向上させ、より安全な車載AIに貢献します。
システムに貢献する。
学習率と関連概念
モデルを効果的に調整するには、学習率を関連する用語と区別することが有効である:
-
バッチサイズ:学習率
バッチ・サイズ:学習率がステップの大きさを制御するのに対して、バッチ・サイズはそのステップの勾配を計算するために使用されるデータ・サンプルの数を決定する。
を決定する。多くの場合、この2つの間には関係があり、バッチサイズが大きいほど、より安定した勾配が得られる。
より安定した勾配を提供し、より高い学習率を可能にする。この関係はリニア・スケーリング・ルールで検討される。
-
最適化アルゴリズム:オプティマイザ(例. SGDまたはAdamなど)は、重みを更新するために使用される特定の方法である。学習率は
オプティマイザが使用するパラメータである。例えば、Adam 各パラメータに対して個別に学習率を適応させるが、標準的なSGD すべてのパラメータに対して
はすべてに固定率を適用します。
-
エポック(Epoch):エポック(Epoch)とは、全学習データセッ
エポック:エポックは学習データセットの学習
学習率はエポック内の各ステップにおけるモデルの学習量を決定するが、エポック数は学習プロセスの継続時間を決定する。
は学習プロセスの継続時間を決定する。
最適化のダイナミクスをより深く理解するには、StanfordCS231n notes
のようなリソースは、学習率が損失ランドスケープにどのような影響を与えるかを視覚的に説明しています。