Meet YOLO26: next-gen vision AI.

Link to this sectionYOLO26 トレーニングレシピ#

Link to this sectionはじめに#

This guide documents the exact training recipe used to produce the official YOLO26 pretrained checkpoints on COCO. Every hyperparameter shown here is already embedded in the released .pt weights and can be inspected programmatically.

ベースモデルがどのようにトレーニングされたかを理解することは、ファインチューニング を行う際の意思決定に役立ちます。具体的には、どの データ拡張 を保持し、どの 損失関数 の重みを調整し、データセットのサイズに対してどのオプティマイザ設定が最適かを見極めることができます。

本ガイドの対象読者

このガイドは、公式の YOLO26 チェックポイントがどのように構築されたかを理解したい実務者向けです。単なるアーキテクチャだけでなく、パフォーマンスを決定づける 学習率 スケジュール、拡張パイプライン、損失関数の重みについても触れています。この情報を活用し、自身のデータでファインチューニングを行う際に十分な情報に基づいた選択を行ってください。

Link to this sectionトレーニング引数の確認#

すべての Ultralytics チェックポイントには、それを作成するために使用されたトレーニング設定全体が保存されています。これらの設定はいつでも確認できます:

チェックポイントのトレーニング引数を確認する
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])

これは、公式リリースモデルか自身でファインチューニングしたモデルかを問わず、すべての .pt チェックポイントで機能します。設定可能なすべてのトレーニング引数のリストについては、トレーニング設定のリファレンス を参照してください。

Link to this sectionトレーニングの概要#

すべての YOLO26 ベースモデルは、640x640 の解像度で MuSGD オプティマイザを使用し、バッチサイズ 128 で COCO 上でトレーニングされました。モデルは中間学習済み重みから初期化され、進化探索によって見つけ出されたハイパーパラメータで精緻化されました。各モデルサイズのトレーニングログとメトリクスの全データは、Ultralytics Platform で入手可能です:

全サイズ共通の主要な設計選択:

  • NMS 不要の one-to-one ヘッドによる End-to-end トレーニング (end2end=True)
  • 畳み込み重みに対して SGD と Muon スタイルの直交更新を組み合わせた MuSGD オプティマイザ
  • 最後の 10 エポックで無効化される 強力な モザイク 拡張 (~0.9-1.0 の確率) (close_mosaic=10)
  • さまざまなサイズのオブジェクトに対応するための アグレッシブなスケール拡張 (0.56-0.95)
  • 幾何学的な歪みを抑えるため、ほとんどのサイズで 回転/シア(剪断)を最小限に抑制

Link to this sectionモデルサイズごとのハイパーパラメータ#

Link to this sectionオプティマイザと学習率#

設定NSMLX
optimizerMuSGDMuSGDMuSGDMuSGDMuSGD
lr00.00540.000380.000380.000380.00038
lrf0.04950.8820.8820.8820.882
momentum0.9470.9480.9480.9480.948
weight_decay0.000640.000270.000270.000270.00027
warmup_epochs0.980.990.990.990.99
epochs24570806040
batch128128128128128
imgsz640640640640640
学習率戦略

N モデルでは高い初期学習率と急激な減衰 (lrf=0.0495) が使用された一方、S/M/L/X モデルでははるかに低い初期 LR と穏やかなスケジュール (lrf=0.882) が使用されました。これは小規模モデルと大規模モデルの収束ダイナミクスの違いを反映しており、小規模モデルは効率的に学習するために、より積極的な更新を必要とします。

Link to this section損失関数の重み#

設定NSMLX
box5.639.839.839.839.83
cls0.560.650.650.650.65
dfl9.040.960.960.960.96

N モデルは DFL 損失を優先する一方、S/M/L/X モデルは バウンディングボックス 回帰に重点を移しています。分類損失は、全サイズを通して比較的安定しています。

Link to this section拡張パイプライン#

各手法の詳細な説明については、YOLO データ拡張ガイド を参照してください。

設定NSMLX
mosaic0.9090.9920.9920.9920.992
mixup0.0120.050.4270.4270.427
copy_paste0.0750.4040.3040.4040.404
scale0.5620.90.950.950.95
fliplr0.6060.3040.3040.3040.304
degrees1.11~0~0~0~0
shear1.46~0~0~0~0
translate0.0710.2750.2750.2750.275
hsv_h0.0140.0130.0130.0130.013
hsv_s0.6450.3530.3530.3530.353
hsv_v0.5660.1940.1940.1940.194
bgr0.1060.00.00.00.0

Larger models use more aggressive augmentation overall (higher mixup, copy-paste, and scale), since they have more capacity and benefit from stronger regularization. The N model is the only size with meaningful rotation, shear, and BGR augmentation.

Link to this section内部トレーニングパラメータ#

上級者向け:内部パイプラインパラメータ

チェックポイントには、内部トレーニングパイプラインで使用されたものの、default.yaml ではユーザー設定として公開されていないパラメータも含まれています:

設定説明NSMLX
muon_wMuSGD における Muon 更新の重み0.5280.4360.4360.4360.436
sgd_wMuSGD における SGD 更新の重み0.6740.4790.4790.4790.479
cls_w内部分類重み2.743.483.483.483.48
o2mOne-to-manyヘッド損失重み1.00.7050.7050.7050.705
topkTop-kラベル割り当て85555

これらは再現性のために記録されていますが、ファインチューニング時には設定する必要はありません。詳細についてはFAQを参照してください。

Link to this sectionファインチューニングのガイダンス#

独自のデータセットでYOLO26をファインチューニングする場合、完全な事前学習レシピを再現する必要はありません。事前学習済みモデルの重みには、COCO学習で得られたデータ拡張や最適化の知識が既に組み込まれています。一般的な学習のベストプラクティスについては、モデル学習のヒントを参照してください。

Link to this sectionシンプルに始める#

デフォルト設定でのファインチューニング
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

デフォルト設定でのファインチューニングは強力なベースラインとなります。特定の理由がある場合にのみ、ハイパーパラメータを調整してください。

Link to this section調整のタイミング#

小規模なデータセット(画像1,000枚未満):

  • データ拡張の強度を減らす: mosaic=0.5, mixup=0.0, copy_paste=0.0
  • 学習率を下げる: lr0=0.001
  • エポック数を減らし、patienceを設定する: epochs=50, patience=20
  • バックボーン層のフリーズを検討する: freeze=10

大規模なデータセット(画像50,000枚超):

  • 事前学習レシピにより近い設定にする
  • 長時間の学習には optimizer=MuSGD を検討する
  • データ拡張を増やす: mosaic=1.0, mixup=0.3, scale=0.9

ドメイン固有の画像 (航空写真、医療、水中など):

  • 垂直方向の向きが変動する場合は flipud=0.5 を増やす
  • オブジェクトが任意の回転で現れる場合は degrees を増やす
  • 照明条件がCOCOと大きく異なる場合は hsv_s および hsv_v を調整する

ハイパーパラメータの自動最適化については、ハイパーパラメータチューニングガイドを参照してください。

Link to this sectionモデルサイズの選択#

モデル用途バッチサイズのガイダンス
YOLO26nエッジデバイス、モバイル、CPUでのリアルタイム実行コンシューマーGPUでの大規模バッチ (64-128)
YOLO26s速度と精度のバランス中規模バッチ (32-64)
YOLO26m適度な計算量でより高い精度小規模バッチ (16-32)
YOLO26lGPU利用時の高精度小規模バッチ (8-16) またはマルチGPU
YOLO26x最大精度、サーバーデプロイメント小規模バッチ (4-8) またはマルチGPU

エクスポートおよびデプロイメントのオプションについては、エクスポートガイドおよびモデルデプロイメントオプションを参照してください。

Link to this sectionFAQ#

Link to this sectionチェックポイントに使用された正確なハイパーパラメータを確認するにはどうすればよいですか?#

torch.load() でチェックポイントを読み込み、 train_args キーにアクセスするか、Ultralytics APIで model.ckpt["train_args"] を使用します。完全な例については学習引数の調査を参照してください。

Link to this sectionモデルサイズごとにエポック数が異なるのはなぜですか?#

大規模なモデルほど容量が大きいため、COCO上ではより早く収束します。Nモデルは245エポックを必要としましたが、Xモデルは40エポックで済みました。独自のデータセットでファインチューニングする場合、最適なエポック数はモデルサイズではなくデータセットのサイズと複雑さに依存します。早期終了(patience)を使用して、自動的に適切な停止ポイントを見つけてください。

Link to this sectionファインチューニングにMuSGDを使用すべきですか?#

optimizer=auto (デフォルト)の場合、Ultralyticsは長時間の学習(10,000イテレーション超)には MuSGD を、短時間の学習には AdamW を自動的に選択します。必要に応じて optimizer=MuSGD を明示的に設定することもできます。オプティマイザの選択に関する詳細は、学習ドキュメントを参照してください。

Link to this sectionチェックポイント内の muon_wsgd_wcls_wo2mtopk とは何ですか?#

これらはベースチェックポイントを生成した学習パイプラインの内部パラメータです。再現性のために保存されていますが、default.yaml におけるユーザー設定可能な設定ではありません。ファインチューニング時にこれらを設定する必要はありません。詳細は内部学習パラメータを参照してください。

Link to this section事前学習をゼロから完全に再現できますか?#

チェックポイントは、公開コードベースには含まれていない追加機能(設定可能な o2m 重みや cls_w など)を備えた内部学習ブランチを使用して生成されました。公開されているUltralyticsパッケージで本ページに記載されたハイパーパラメータを使用すれば非常に近い結果を得られますが、完全な再現には内部ブランチが必要です。

コメント