模倣学習と逆強化学習 — お手本から学ぶ、意図を推定する

報酬関数を書けないタスクは山ほどあります。「上手な運転」「丁寧な皿洗い」を数式で定義できるでしょうか。代わりに専門家のお手本(デモンストレーション)から学ぶのが模倣学習。行動をそのまま写す行動クローニングと、行動の裏にある意図(報酬)を推定する逆強化学習、2つの流儀を動かして比べます。

1. 報酬が書けないなら、お手本を見せればいい

ここまでの章では報酬関数は「環境が与えてくれるもの」でした。ゲームのスコア、ゴール到達の +1。しかし現実のタスクでは、報酬関数を書くことこそが最難関です。運転の報酬を「車線中央からのずれ −α、急ブレーキ −β、…」と書き始めると、項を足すたびに新しい抜け穴が生まれます(この問題は次章の報酬ハッキングで正面から扱います)。

一方で、上手にやってみせることなら人間は得意です。運転のログ、ロボットの遠隔操作記録、囲碁の棋譜 — これらは (状態, 専門家の行動) のペアの列、つまりデモ軌跡です。デモから方策を得るアプローチは大きく2つに分かれます。

2. 行動クローニング — 模倣を教師あり学習にする

BC は拍子抜けするほど単純です。デモの各時点を訓練データ (si, ai) とみなし、状態を入力、専門家の行動を正解ラベルとして回帰・分類するだけ。RL特有の道具は一切使いません。

θ* = argminθ Σi L( πθ(si), ai ) ただの教師あり学習。状態 si を入力、専門家の行動 ai を正解ラベルにして損失 L を最小化する

問題は実行時に起きます。学習した方策で走り出すと小さな誤差が必ず出る。誤差の分だけデモから少し外れた状態に入る。そこはデモになかった状態なので方策の出力はさらに不正確になり、誤差が誤差を呼んで軌道が発散します。下のデモで、お手本の近く(青い帯の中)では上手に走るのに、帯から一歩出た途端に迷子になる様子を確かめてください。

行動クローニング — お手本どおりは走れる、外れたら迷子
緑の矢印=専門家のデモ(訓練データ)、青い帯=デモが覆う状態の範囲、白い点=BCで学習したエージェント。帯の中では専門家の行動をなぞれますが、帯の外の状態は一度も見ていないので出力は出鱈目になり、自力で復帰できません。「外乱を加える」で突き飛ばしてみてください。ノイズを上げると、外乱なしでも誤差の複利でコースアウトします。
注意 — 分布シフト(共変量シフト)と複利誤差 訓練時の状態分布は「専門家が訪れる状態」、実行時の分布は「自分の方策が訪れる状態」。この2つがずれる分布シフトが BC の本質的な弱点で、時間ステップ T に対して誤差が O(T²) で膨らみ得ることが知られています。これは自動運転のエンドツーエンド学習の章で扱った共変量シフトとまったく同じ問題です — あちらでは「デモにない路肩に寄った瞬間、戻り方を知らない車」として登場しました。

3. 逆強化学習 — 行動ではなく「意図」を学ぶ

BC の弱点への一つ目の処方箋は、視点を一段上げることです。専門家の行動を写すのではなく、「この人は何を大事にして動いているのか」— つまり報酬関数を推定する。これが逆強化学習(Inverse RL)です。通常のRLが「報酬 → 最適方策」を解くのに対し、IRL は「専門家の軌跡 → 報酬」という逆問題を解きます。

下のデモでは、専門家が3本の軌跡を残しています。全員わざわざ遠回りして上を通っている。なぜか? 候補となる報酬仮説を3つ用意し、それぞれの仮説のもとでこのデモがどれくらい「ありそうか」(尤度)を計算して比べます。

逆強化学習の直感 — 3つの報酬仮説、どれがデモを最もよく説明するか
水色=専門家のデモ3本(S→G)。赤いマス=沼地、緑のマス=景色の良い道。3つの報酬仮説それぞれで「デモ軌跡の尤度」を計算すると、候補②(沼地に −8)だけがデモの遠回りを説明できます。仮説を選んで「汎化テスト」を押すと、左下の新しいスタート N から推定報酬で計画した経路が出ます — 安全重視ならデモと違う下回りの経路を自分で見つける。行動を丸暗記する BC にはできない芸当です。

「デモがどれくらいありそうか」は、最大エントロピーIRL では次の形で定式化されます。報酬の高い軌跡ほど指数的に選ばれやすい、という確率モデルです。

P(τ | r) = exp( Σt r(st) ) / Z Z は「あり得る全軌跡」にわたる正規化定数。デモの尤度を最大にする r を探す。尤度で仮説を比較する枠組みはベイズの考え方そのもの
POINT — 行動ではなく意図を学ぶ 行動は状況が変われば使えなくなるが、意図(報酬)は状況を越えて持ち運べる。「沼を避けたい」と分かっていれば、初めての場所でも沼を避ける経路を自分で計画できる。報酬はタスクの最も圧縮された、最も移植性の高い記述だ — これが IRL の核心であり、RLHF の報酬モデルが「人間の好み」という報酬を学ぶのも、この考え方の直系の子孫にあたる(次章で合流します)。

ただし IRL は計算が重いのが難点です。報酬の候補を1つ評価するたびに、内側で「その報酬での最適方策」を解く必要がある(RLを何百回も解き直す)。また「デモを説明できる報酬は無数にある」という不良設定性(すべての状態に同じ定数を足しても尤度は変わらない等)があり、最大エントロピー原理などの追加の仮定で一意化します。

4. DAgger — 失敗したら専門家に聞き直す

BC の弱点への二つ目の処方箋は、もっと現場的です。分布シフトが問題なら、シフト先の状態のデータを集めればいい。DAgger(Dataset Aggregation)は次のループを回します。

  1. 現在の方策で走らせる(失敗してもよい)。
  2. 方策が実際に訪れた状態を集め、そこで取るべき行動を専門家にラベル付けしてもらう。
  3. 新データを訓練集合に追加(aggregate)して再学習。1に戻る。

訓練分布が「専門家の分布」から「自分の方策の分布」へ近づいていくため、複利誤差の理論保証が O(T²) から O(T) に改善します。下のデモで反復ボタンを押すたびに、失敗地点に専門家ラベルが追加され、守備範囲(帯)が広がって成功率が上がる様子を見てください。

DAgger — 失敗を専門家に聞いて守備範囲を広げる
青い帯=訓練データが覆う状態の範囲、細い線=エージェントの走行(緑=帯内、赤=帯外に出て失敗)。反復のたびに前回の失敗状態(⊕)が専門家ラベル付きでデータに加わり、帯が広がって成功率カウンタが上がります。弱点は専門家を何度も呼び出せるという強い前提 — 人間が付きっきりになるコストです。

5. 手法の見取り図 — BC・DAgger・IRL・GAIL

もう一つ、現代的な合流点が GAIL(敵対的模倣学習)です。報酬関数を明示的に復元する代わりに、GAN と同じ発想で「専門家の軌跡か、エージェントの軌跡かを見分ける判別器」を育て、判別器を騙せた度合いを報酬代わりにして方策を鍛えます。IRL の「意図に基づく汎化」の恩恵の一部を、報酬の明示的な復元なしで手に入れる折衷案です。

手法学ぶもの必要な計算・前提分布シフト耐性新しい状況への汎化
BC
行動クローニング
状態→行動の写像教師あり学習のみ。最も軽い弱い(複利誤差 O(T²))弱い — デモの近傍のみ
DAgger同上+失敗状態のラベルループ中に専門家へ反復質問できること改善(O(T))訓練で訪れた範囲まで
IRL
逆強化学習
報酬関数(意図)内側でRLを何度も解く。重い強い — 報酬から再計画強い — 報酬は移植できる
GAIL
敵対的模倣
判別器+方策(報酬は暗黙的)GAN型の敵対的学習+RL。環境との追加対話が必要中〜強中 — 報酬は取り出せない

6. まとめ

一歩先へ — ロボティクスの現在(2026年時点) 意外に思えるかもしれませんが、実ロボット学習の主戦力はいまも模倣学習(ほぼBC)です。遠隔操作装置で人間が数百〜数万回の実演を集め、拡散モデルで多峰的な行動分布を表現するDiffusion Policy系の方策や、視覚・言語・行動を一つのTransformerで扱うVLA(Vision-Language-Action)型の基盤モデルを教師あり学習で訓練する — という構成が主流になりました。大量・多様なデモで「帯」を最初から広く覆う力技が、DAgger的な逐次介入より実務ではスケールしやすかったのです。RLは方策の仕上げ(成功率の底上げ)に使われることが多く、その要となる「学習された報酬」の話は次章 RLHF と応用の最前線へ続きます。