Online Learning
オンライン学習がどのようにインクリメンタルなモデル更新を実現し、コンセプトドリフトに適応し、Ultralytics YOLO26を用いたより安全なコンピュータビジョンワークフローをサポートするかを学びます。
オンライン学習とは、固定されたデータセットで一度だけトレーニングを行うのではなく、新しいデータが到着するたびにモデルを段階的に更新していく機械学習のアプローチです。この用語は、インターネットベースの教育を指すものではなく、ストリーミングまたはシーケンシャルなモデルの更新を指します。scikit-learnのオンライン学習の定義にあるように、オンライン学習器は各サンプルや小さなバッチごとに予測、フィードバックの受信、および更新を行うことができます。このため、データが連続的である場合や、メモリに対してデータが大きすぎる場合、あるいはデータが経時的に変化する場合に有効です。(scikit-learn.org)
Link to this sectionオンライン学習の仕組み#
典型的なサイクルは以下の通りです。
- モデルが新しい入力を受け取り、予測を行います。
- ラベルやフィードバック信号が得られます。
- 損失が計算され、モデルのパラメータが更新されます。
- 次の例を処理する前に、パフォーマンスが測定されます。
ストリーミング機械学習用Riverのようなライブラリは、predict_one()やlearn_one()といったメソッドを用いて、この「予測してから学習する」ワークフローを実装しています。ニューラルネットワークは、繰り返しのPyTorchオプティマイザステップを通じて同じ原理を使用できますが、ディープモデルでは計算効率のために小さなバッチで更新するのが一般的です。(docs.pytorch.org)
オンライン学習は、入力と出力の関係が変化するコンセプトドリフトにおいて特に価値があります。例として、季節的な交通パターン、変化する顧客行動、新しい製造上の欠陥、あるいは異なる照明条件の下に設置されたカメラなどが挙げられます。2024年の反復的なコンセプトドリフトに関する調査では、天候や時間帯といった反復的な条件において、システムが以前遭遇した分布を認識し、適応する必要があることが強調されています。(ijcai.org)
Link to this sectionコンピュータビジョンにおけるオンライン学習#
Ultralytics YOLOは、推論中に制御されないフレームごとの重み更新を行いません。その代わり、チームは最新のラベル付きデータと古いサンプルを組み合わせた定期的なマイクロバッチファインチューニングを通じて、安全なオンライン学習を近似できます。
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=3, imgsz=640, lr0=0.001)この実行可能な例では、Ultralytics YOLO26とドキュメント化されたYOLOトレーニングモードを使用して、小さく低い学習率で更新を行います。本番環境では、coco8.yamlを、最新のサンプルとリプレイされたサンプルを含むバージョン管理されたデータセットに置き換えます。
具体的な応用例は以下の通りです。
- 製造における外観検査: 新しい製品、素材、欠陥タイプが現れたときにモデルを更新します。
- 自動運転車の知覚: 検出システムを、変化する道路、天候、カメラの状態、およびオブジェクトの分布に適応させます。
- 小売在庫管理: 完全な再トレーニングを必要とせずに、新しいパッケージや季節商品をモデルに学習させます。
Link to this section関連概念と主な違い#
継続学習はより広い概念で、以前の知識を保持しながら複数のタスクやドメインにわたって学習することを目指します。オンライン学習は、更新が「いつ、どの程度の頻度で」行われるかを表します。アクティブラーニングは人間のラベル付けのために最も有益なサンプルを選択しますが、転移学習は事前に学習された知識をターゲットタスクに適応させます。
大きな共通課題として破滅的忘却があります。最近の研究には、2024年のBECoTTA継続テスト時適応、2025年の順位エントロピー最小化、そして2026年のPLASTIC安定性-可塑性手法があり、これらはモデルの崩壊や初期の能力の喪失なしに効率的な適応を探求しています。(proceedings.mlr.press)
Link to this section現在のベストプラクティス#
- データドリフトの監視: 入力分布、信頼度、精度、クラス頻度を追跡します。
- リプレイデータの保持: 代表的な過去のサンプルと新しいデータを混ぜ合わせ、忘却を軽減します。
- デプロイ前の検証: 更新されたモデルを、安定したホールドアウトセットおよび最新データテストセットと比較します。
- ワークフロー全体のバージョン管理: Ultralytics Platformを使用して、アノテーション、データセット、トレーニング、デプロイ、および監視を管理します。
- ラベルなしドリフトの検出: ラベルの到着が遅れる場合は、精度測定を待つのではなく、特徴量分布と予測動作を監視します。(dfki.de)






