学習率がモデルトレーニングに与える影響を学びましょう。Ultralytics ステップサイズを最適化し、物体検出などで最先端性能を達成する方法を発見してください。
学習率は、最適化プロセスにおけるモデルのステップサイズを決定する重要なハイパーパラメータ調整設定である。ニューラルネットワークのトレーニングにおいて、学習率はモデルがデータバッチを処理するたびに推定誤差に応じて内部重みをどれだけ更新するかを制御する。 学習率を、山から谷(誤差の最低点)に向かって歩く人に例えると、歩幅の長さを決めるものと考えられます。歩幅が大きすぎると、谷を完全に飛び越えてしまい、底に到達できない可能性があります。逆に歩幅が小さすぎると、目的地に到達するのに非現実的なほど長い時間がかかることになります。
最適な学習率の決定は、機械学習ワークフローにおけるバランス調整とよく表現される。目標は、モデルの予測値と実際の真値との差異を測る損失関数を最小化することである。このプロセスは、確率的勾配降下法(SGD)やAdam といった最適化アルゴリズムに大きく依存し、損失関数のランドスケープをナビゲートする。
学習率調整の影響は、コンピュータービジョンタスクが導入されている様々なハイステークス産業において明らかである。
学習率を他のトレーニングパラメータと区別することは重要です。これらは同じ設定ファイルで構成されることが多いものの、それぞれ異なる目的を果たすためです:
現代的なフレームワークを使用する場合、初期学習率を簡単に調整できます(lr0)および最終的な
学習率の割合(lrf以下に、これを使用して設定する例を示します。
Ultralytics カスタムトレーニング実行用の互換クライアント
from ultralytics import YOLO
# Load the YOLO26 model (latest state-of-the-art architecture)
model = YOLO("yolo26n.pt")
# Train the model with a custom initial learning rate
# lr0=0.01 sets the initial rate
# lrf=0.01 sets the final learning rate to (lr0 * lrf)
results = model.train(data="coco8.yaml", epochs=10, lr0=0.01, lrf=0.01)
上級ユーザー向けには、 fast.aiで普及したLRファインダーなどの手法により、 損失が収束しなくなるまで学習率を指数関数的に増加させる短い試験エポックを実行することで、 最適な初期値の発見を実質的に自動化できます。 このハイパーパラメータを習得することが、 AIプロジェクトでSOTA(最先端)性能を実現する鍵となることが多々あります。