Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Behavioral Cloning

行動クローニングでは、教師あり学習でエキスパートのデモンストレーションを模倣するポリシーを学習します。仕組み、誤差が累積する理由、DAggerによる解決方法を解説します。

行動クローニング (BC) は、最も単純な模倣学習の形式です。エージェントは通常の教師あり学習で方策を訓練し、記録されたデモンストレーションの各状況でエキスパートが取った行動を予測することで、行動を学習します。学習データは観測と行動のペアで構成されます。たとえば、カメラフレームとドライバーの操舵角、あるいはロボットの関節値と遠隔操作者の指令をペアにします。方策は連続行動には回帰損失、離散行動には分類損失を使って適合させます。行動クローニングでは報酬関数が不要で、学習中に環境とやり取りする必要もありません。そのため、人間のデモンストレーションからロボット、車両、ソフトウェアのAIエージェントを学習させる際の一般的な出発点となっています。

起源と代表的な初期例#

この名称は、1990年頃にDonald Michieらが人間の制御スキルを再構築した研究に由来します。初期の最もよく知られた実証例は、Claude Sammutらが1992年に発表した「Learning to Fly」です。飛行シミュレーターを操縦する人々の制御行動を記録し、そのログから決定木型の自動操縦システムを導出しました。Carnegie Mellon大学のDean PomerleauによるALVINNは、それに先立つ1989年に、小さなニューラルネットワークがカメラ画像から試験車両を操縦できることを示していました。

NVIDIAの2016年のエンドツーエンド運転システムは、約72時間分の人間の運転データで畳み込みニューラルネットワークを訓練し、前方カメラの生ピクセルを操舵指令に直接対応付けました。ニュージャージー州モンマス郡での一般的な走行では、約98%の時間を自動で操縦しました。行動が離散的な場合、行動クローニングは画像分類です。たとえば、左、直進、右など、ドライバーが取った行動ごとにフォルダーを分けてカメラフレームで訓練したUltralytics YOLO26分類モデルは、クローニングした行動をtop-1クラスとして出力します。

誤差の累積問題#

学習中、方策が見るのはエキスパートが訪れた状態だけです。デプロイ後は閉ループで動作するため、小さなミスがデモンストレーションにほとんど現れない状態へ方策を移動させます。その状態ではさらにミスが起きやすくなり、軌跡に沿って誤差が蓄積します。学習時とデプロイ時の状態のこの不一致は、共変量シフトの一種です。Stéphane RossとDrew Bagnellは2010年に、1ステップあたりの誤差が小さくても、クローニングした方策の期待コストはタスクの時間幅の二乗に比例して増大する可能性があることを示しました。Ross、Geoffrey Gordon、Bagnellが2011年に発表したDAgger (Dataset Aggregation) は、増大を線形に抑えました。学習済み方策を動作させ、エキスパートが訪問した状態に正しい行動をラベル付けし、これまでに収集したすべてのラベルを使って方策を再訓練します。

この例では、Gymnasium CartPoleタスク向けに手作業で調整したコントローラーをクローニングします。このタスクでは、動く台車の上のポールを最大500ステップにわたって倒さずに保つ必要があります。続いて、DAggerを2ラウンド適用します。

import gymnasium as gym
import numpy as np
from sklearn.tree import DecisionTreeClassifier

env = gym.make("CartPole-v1")
expert = lambda obs: int(obs[2] + 0.5 * obs[3] > 0)  # push toward the side the pole leans and falls


def rollout(policy, seed):
    """Run one episode with a policy and return the states it visited."""
    obs, _ = env.reset(seed=seed)
    states, done = [], False
    while not done:
        states.append(obs)
        obs, _, terminated, truncated, _ = env.step(policy(obs))
        done = terminated or truncated
    return states


states = rollout(expert, seed=0)  # one expert demonstration
for i in range(3):
    # Behavioral cloning: fit a classifier from states to the expert's actions
    clone = DecisionTreeClassifier(max_depth=5, random_state=0).fit(states, [expert(s) for s in states])
    policy = lambda obs: int(clone.predict(obs[None])[0])
    steps = np.mean([len(rollout(policy, seed)) for seed in range(100, 110)])
    print(f"Round {i}: {len(states)} labeled states, clone balances for {steps:.0f} steps")
    states += rollout(policy, seed=i + 1)  # DAgger: the expert labels the states the clone visits

ラウンド0は通常の行動クローニングです。500ステップすべてポールを倒さずに保つエキスパートのデモンストレーション1本で訓練すると、クローニングした方策は新しいエピソードで平均30ステップ、ポールを立てたままにできます。ラウンド1では、ラウンド0の方策が別の1エピソードで訪れた23状態にエキスパートがラベルを付けて追加し、平均ステップ数は135に上がります。ラウンド2でさらに70状態を追加すると、方策は500ステップすべてポールを保てるようになります。

デモンストレーション自体を調整する方法もあります。NVIDIAの運転システムでは、左右のカメラ画像に加えて、カメラ視点を人工的にシフト・回転させた画像を追加しました。それぞれに、2秒以内に車を車線中央へ戻すための操舵をラベル付けしました。これは復帰動作を学習させるデータ拡張の一種です。DARTは記録中にデモンストレーターの行動にノイズを加えるため、データには小さなずれを修正するエキスパートの動作が含まれます。アクションチャンク化では将来の複数の行動を一度に予測するため、誤差が累積する実質的な時間幅が短くなります。ACT方策は、バッテリーを差し込むような細かな両手作業を、10分間のデモンストレーションから80%~90%の成功率で学習しました。

マルチモーダルなデモンストレーションと最新の方策#

デモンストレーターが同じ状況で異なる方法を取る場合、たとえば障害物の左側を通る場合と右側を通る場合、回帰方策はその平均を予測しますが、それは誰も取らなかった行動かもしれません。行動クローニングで訓練されたGoogleのRT-1は、ロボットのデモンストレーション130,000件で学習したTransformerであり、各行動次元を256個のビンに離散化してトークンとして予測することで、複数のモードを表現できます。拡散方策はランダムノイズを除去して行動の完全な分布をモデル化する手法で、身体性AIの操作タスクで一般的に選ばれるようになっています。

言語モデルも同じ方法で訓練されます。大規模言語モデル (LLM)を人間が書いた回答で教師ありファインチューニングすることは、指示チューニングの中核であり、テキスト上の行動クローニングです。OpenAIのWebGPT論文では、人間のフィードバックによる強化学習 (RLHF)の前段階に対して、まさにこの名称が使われていました。

  • 強化学習: 試行錯誤を通じて報酬シグナルから学び、デモンストレーターを超えることもできますが、行動クローニングにはできません。TD3+BCなどのオフラインRL手法は、学習済み方策を記録データに近づけておくために、行動クローニングの項を追加します。
  • 逆強化学習: デモンストレーションを説明する報酬関数を推定し、その報酬関数を最適化します。敵対的生成模倣学習 (GAIL) は、識別器が方策の行動とエキスパートの行動を区別できなくなるまで方策を訓練します。
  • 知識蒸留: 小さな生徒モデルを訓練し、より大きな教師モデルの出力に一致させます。人間ではなく訓練済み方策を対象とする行動クローニングは、方策蒸留と呼ばれます。

Explore solutions

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

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

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

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

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

物流におけるコンピュータービジョン

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

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

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

製造業におけるコンピュータービジョン

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

自動車分野におけるコンピュータービジョン

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

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

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

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

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

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

物流におけるコンピュータービジョン

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

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

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

製造業におけるコンピュータービジョン

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

自動車分野におけるコンピュータービジョン

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

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

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

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

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

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

物流におけるコンピュータービジョン

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

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

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

製造業におけるコンピュータービジョン

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

自動車分野におけるコンピュータービジョン

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

農業におけるコンピュータービジョン

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

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

機械学習の未来に向けた歩みを始めましょう