Ultralytics YOLO27:
Ultralytics用語集に戻る

Callback

コールバックがUltralytics YOLO26の学習を最適化する仕組みを学びます。早期停止、チェックポイント、カスタムロギングを実装して、AIワークフローを強化する方法をご紹介します。

ソフトウェアエンジニアリングと**人工知能 (AI)の分野では、コールバックとは、他のコードに引数として渡され、その後、指定されたタイミングでその引数を実行(呼び出し返し)することが期待される実行可能なコードの一部です。深層学習 (DL)フレームワークの具体的な文脈では、コールバックは、トレーニングのコアコード自体を変更せずにモデルのトレーニングループの動作をカスタマイズできる重要なツールです。コールバックは自動化されたトリガーとして機能し、エポック**、トレーニングバッチ、またはトレーニングセッション全体の開始や終了など、トレーニングプロセスのさまざまな段階で特定のアクションを実行します。

機械学習におけるコールバックの役割#

複雑な**ニューラルネットワーク**のトレーニングには、数時間、場合によっては数日かかることがあります。コールバックがなければ、トレーニングプロセスは基本的に完了まで実行される「ブラックボックス」となり、手動での監視が必要になることが少なくありません。コールバックは可観測性と制御機能を導入し、リアルタイムのパフォーマンス指標に基づいてシステムが自律的に調整できるようにします。

**PyTorchTensorFlowなどの高レベルライブラリを使用する場合、コールバックによって最適化アルゴリズムにロジックを組み込めます。たとえば、モデルが順調に学習している場合はコールバックで現在の状態を保存し、学習が停止した場合はコールバックでプロセスを中断してリソースを節約できます。これにより、機械学習 (ML)**ワークフローの効率と堅牢性が向上します。

一般的な用途と実例#

コールバックは汎用性が高く、**モデルモニタリング**や最適化の際に、さまざまなタスクで使用できます。

  • 早期停止: 最も一般的な用途の1つが**早期停止です。このコールバックは、検証データの損失など、特定の指標を監視します。設定したエポック数の間、損失が減少しなくなった場合、コールバックはトレーニングを停止します。これにより過学習を防ぎ、トレーニングデータ**を記憶するのではなく、モデルが新しいデータに適切に汎化できるようにします。
  • モデルチェックポイント: 長時間にわたるトレーニングでは、ハードウェア障害が致命的な問題になる可能性があります。チェックポイント用のコールバックは、一定の間隔(例: エポックごと)で、またはモデルが**精度平均適合率 (mAP)などの指標で新たな「最高」スコアを達成した場合にのみ、モデルの重み**を保存します。これにより、常に最高性能のモデルの保存版を確保できます。
  • 学習率スケジューリング: **学習率は、モデルの重みが更新されるたびに、推定誤差に応じてモデルをどの程度変更するかを制御します。コールバックによってこの学習率を動的に調整し、学習が停滞したときに学習率を下げることで、モデルが最適な解に収束しやすくなります。この手法は、学習率減衰**と呼ばれることがよくあります。
  • ロギングと可視化: コールバックは、**実験トラッキングツールとの統合によく使用されます。TensorBoardMLflowなどのダッシュボードに指標をストリーミングし、データサイエンティストが損失関数**やパフォーマンスグラフをリアルタイムで可視化できるようにします。

Ultralytics YOLOでのコールバックの実装#

Ultralyticsライブラリは堅牢なコールバックシステムをサポートしており、**YOLO26などのモデルのトレーニング中にイベントへフックできるようにします。これは、カスタムロギングや制御ロジックを必要とするUltralytics Platform**上のワークフローを管理するユーザーに特に役立ちます。

以下は、**Python API**を使用して、すべてのトレーニングエポックの終了時にメッセージを出力するカスタムコールバックを定義して登録する簡潔な例です。

from ultralytics import YOLO


# Define a custom callback function
def on_train_epoch_end(trainer):
    """Callback function to execute at the end of each training epoch."""
    print(f"Epoch {trainer.epoch + 1} complete. Current Fitness: {trainer.fitness}")


# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")

# Register the custom callback to the model
model.add_callback("on_train_epoch_end", on_train_epoch_end)

# Train the model with the callback active
model.train(data="coco8.yaml", epochs=3)

コールバックとフックの比較#

両者には関連性がありますが、コールバックと**フックは区別すると分かりやすくなります。PyTorchなどのフレームワークでは、フックは一般に、フォワードパスまたはバックワードパス中に勾配や出力を検査または変更するため、特定のテンソル演算やニューラルネットワーク層にアタッチされる低レベルの関数です。一方、コールバックは通常、数学的な計算グラフ自体ではなく、トレーニングループ**のイベント(開始、終了、バッチ処理)に結び付いた、より高レベルの抽象化です。

詳細情報とリソース#

トレーニングワークフローの最適化について理解を深めたい場合は、**ハイパーパラメータチューニングを検討することが次のステップとして適切です。さらに、コンピュータビジョン (CV)における物体検出インスタンスセグメンテーションなどの基盤となるタスクを理解することで、コールバックによる正確なトレーニング制御が必要な理由を把握できます。これらのプロセスをエンタープライズレベルで管理するために、Ultralytics Platform**は、コールバックによって駆動される動作の多くを自動化する統合ソリューションを提供します。

Explore solutions

航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

ロボティクスのコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現します。ロボティクスのVision AIにより、自律ナビゲーション、認識、物体追跡、リアルタイム制御を実現します。
詳細を見る
物流のコンピュータービジョン

物流のコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化します。Vision AIにより、荷物検査、仕分け、車両追跡、倉庫の安全性に関するリアルタイム監視を実現します。
詳細を見る
小売のコンピュータービジョン

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

Ultralytics YOLOモデルでヘルスケアソリューションを構築しましょう。ヘルスケア向けVision AIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳細を見る
製造業向けコンピュータービジョン

製造業向けコンピュータービジョン

Ultralytics YOLOモデルで製造業を最適化しましょう。Vision AIは、品質管理、欠陥検出、PPE遵守、組立ラインの自動化を推進します。
詳細を見る
自動車分野のコンピュータビジョン

自動車分野のコンピュータビジョン

Ultralytics YOLOモデルで自動車分野にコンピュータビジョンを適用します。ビジョンAIにより、道路の安全性、運転支援、車両自動化を向上させ、よりスマートな道路を実現します。
詳細を見る
農業分野のコンピュータビジョン

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

ロボティクスのコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現します。ロボティクスのVision AIにより、自律ナビゲーション、認識、物体追跡、リアルタイム制御を実現します。
詳細を見る
物流のコンピュータービジョン

物流のコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化します。Vision AIにより、荷物検査、仕分け、車両追跡、倉庫の安全性に関するリアルタイム監視を実現します。
詳細を見る
小売のコンピュータービジョン

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

Ultralytics YOLOモデルでヘルスケアソリューションを構築しましょう。ヘルスケア向けVision AIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳細を見る
製造業向けコンピュータービジョン

製造業向けコンピュータービジョン

Ultralytics YOLOモデルで製造業を最適化しましょう。Vision AIは、品質管理、欠陥検出、PPE遵守、組立ラインの自動化を推進します。
詳細を見る
自動車分野のコンピュータビジョン

自動車分野のコンピュータビジョン

Ultralytics YOLOモデルで自動車分野にコンピュータビジョンを適用します。ビジョンAIにより、道路の安全性、運転支援、車両自動化を向上させ、よりスマートな道路を実現します。
詳細を見る
農業分野のコンピュータビジョン

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

ロボティクスのコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現します。ロボティクスのVision AIにより、自律ナビゲーション、認識、物体追跡、リアルタイム制御を実現します。
詳細を見る
物流のコンピュータービジョン

物流のコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化します。Vision AIにより、荷物検査、仕分け、車両追跡、倉庫の安全性に関するリアルタイム監視を実現します。
詳細を見る
小売のコンピュータービジョン

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

Ultralytics YOLOモデルでヘルスケアソリューションを構築しましょう。ヘルスケア向けVision AIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳細を見る
製造業向けコンピュータービジョン

製造業向けコンピュータービジョン

Ultralytics YOLOモデルで製造業を最適化しましょう。Vision AIは、品質管理、欠陥検出、PPE遵守、組立ラインの自動化を推進します。
詳細を見る
自動車分野のコンピュータビジョン

自動車分野のコンピュータビジョン

Ultralytics YOLOモデルで自動車分野にコンピュータビジョンを適用します。ビジョンAIにより、道路の安全性、運転支援、車両自動化を向上させ、よりスマートな道路を実現します。
詳細を見る
農業分野のコンピュータビジョン

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る

AIの未来を一緒に築きましょう!

機械学習の未来への歩みを始めましょう