Englishお問い合わせ
プロダクト導入事例私たちについてお知らせ採用お問い合わせEnglish

模倣学習とは

模倣学習は、人がやってみせた動きのデータから、ロボットが作業のこなし方を学ぶ機械学習の手法です。位置と順番を一つずつ教えるティーチングと違い、実演を見せることで、状況が少し変わっても対応できる動きを覚えさせます。

英語では Imitation Learning。人の実演(デモンストレーション)から学ぶことから、Learning from Demonstration(LfD)とも呼ばれます。フィジカルAIのロボットに動きを覚えさせる、中心的な方法の一つです。

株式会社Zrek(ZREK)|最終更新

見せて、記録し、学ぶ

模倣学習は、この3つの段で進み、学び終えたロボットは自分で動けるようになります。人が教えるのは手順ではなく、やってみせた動きそのものです。

  1. 実演する

    • 人が操作用の腕でロボットを動かす
    • 数十〜数百回くり返す
  2. 記録する

    • カメラの画像
    • 関節の角度
    • 手先にかかる力
  3. 学習する

    • 「この状況で、こう動いた」の組をAIモデルが学ぶ
  4. 自分で動く

    • カメラの画像から、次の動きを決める

うまくいかない場面は、実演を足して学び直す

図:模倣学習の流れ
  1. 01実演する

    人がロボットを動かして、作業をやってみせます。操作用の腕(リーダーアーム)やVRコントローラーで遠隔操作する方法が一般的で、ロボットの腕を手で直接動かす方法もあります。

  2. 02記録する

    実演している間のカメラの画像、ロボットの関節の角度、手先にかかる力などを、時間の流れに沿って記録します。一つの作業につき、数十〜数百回の実演を集めることが多くあります。

  3. 03学習する

    記録した「この状況で、こう動いた」の組をAIモデルに学ばせます。学習を終えたロボットは、カメラの画像などから、次にどう動くかを自分で決めます。

主な手法

実演からどう学ぶかで、いくつかの手法に分かれます。

  1. 01行動クローニング

    状況と動作の組を、そのまま正解として学ぶ、もっとも基本的な手法です(Behavior Cloning)。仕組みが単純で扱いやすい一方、実演になかった状況に入ると、小さなずれが積み重なりやすくなります。

  2. 02人が途中で正す手法

    学習中のロボットが迷った場面に人が正しい動きを書き足し、ずれの積み重なりを防ぎます。代表的な手法に DAgger(Dataset Aggregation)があります。

  3. 03逆強化学習

    実演から「この人は何を目指して動いているか」を推定し、その目的に沿う動きを学びます(Inverse Reinforcement Learning)。動きそのものではなく、目的を写し取る考え方です。

  4. 04動きをまとまりで学ぶ手法

    近年は、数ステップ先までの動きをまとめて予測する ACT(Action Chunking with Transformers)や、拡散モデルで動きを生成する Diffusion Policy が広まりました。少ない実演でも、なめらかな動きを覚えやすいのが特徴です。

ほかの教え方との違い

ロボットに動きを覚えさせる方法は、大きく3つあります。実際には、作業に合わせて組み合わせて使います。

比べる点ティーチング強化学習模倣学習
教え方位置と順番を一つずつ入力する試行錯誤と報酬から、ロボットが自分で見つける人がやってみせる
必要なもの動きを組む手間と時間大量の試行(多くはシミュレーションで行う)実演のデータ
状況が変わったとき教え直しが必要学んだ範囲なら合わせられる実演した範囲なら合わせられる
向いている作業まったく同じ動きの繰り返し歩行やバランスなど、正解を言葉にしにくい動き人なら簡単にできるが、手順を書き出しにくい作業

よくある質問

模倣学習には、どれくらいの実演が必要ですか?
作業の難しさによりますが、一つの作業につき数十〜数百回の実演を集めることが多くあります。多くの作業データで事前に学習したロボット基盤モデル(VLA)を土台にすると、より少ない実演で新しい作業に合わせられると期待されています。
模倣学習の弱点は何ですか?
実演になかった状況に弱いことです。動くたびに生じる小さなずれが積み重なり、実演の範囲から外れていく問題が知られています。実演の条件を散らして集める、人が途中で正しい動きを書き足す、シミュレーションで実演を増やす、といった方法で補います。
模倣学習と強化学習は組み合わせられますか?
組み合わせられます。模倣学習で大まかな動きを覚えさせてから、強化学習で磨く使い方は広く研究されています。人の棋譜で学んでから自己対戦で強くなった囲碁AI「AlphaGo」も、この形です。ゼロから試行錯誤させるより少ない試行で学べる一方、強化学習に切り替えた直後に、覚えた動きが崩れることもあります。
製造業では、どんな作業に向いていますか?
人なら簡単にできるのに、手順を書き出しにくい作業です。ワークの向きや置き位置が毎回少しずつ違う脱着、形の定まらない物の扱い、ケーブルの取り回しなどが当てはまります。まったく同じ動きの繰り返しなら、従来のティーチングや最小限のAIで組むほうが早く確実です。
模倣学習とVLAはどう関係しますか?
VLA(Vision-Language-Action)は、多くのロボットの実演データで事前に学習した大きなモデルで、その学習の中心に模倣学習があります。VLAを個別の作業に合わせ込むとき(ファインチューニング)にも、その作業の実演データが使われます。

関連する用語

参考文献

  1. DAgger(人が途中で正す手法)Ross ほか(2011)A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning. AISTATS
  2. 逆強化学習Ng, Russell(2000)Algorithms for Inverse Reinforcement Learning. ICML
  3. ACT(動きをまとまりで学ぶ手法)Zhao ほか(2023)Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware. RSS
  4. Diffusion PolicyChi ほか(2023)Diffusion Policy: Visuomotor Policy Learning via Action Diffusion. RSS
  5. AlphaGo(人の棋譜で学んでから強化学習で磨く)Silver ほか(2016)Mastering the game of Go with deep neural networks and tree search. Nature 529
  6. 人の実演を使ったロボットハンドの強化学習Rajeswaran ほか(2018)Learning Complex Dexterous Manipulation with Deep Reinforcement Learning and Demonstrations. RSS
  7. 強化学習に切り替えた直後の崩れと、その対策Nair ほか(2020)AWAC: Accelerating Online Reinforcement Learning with Offline Datasets
  8. VLA(ロボット基盤モデル)Brohan ほか(2023)RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control. CoRL
  9. VLA(公開されたモデル)Kim ほか(2024)OpenVLA: An Open-Source Vision-Language-Action Model. CoRL