大阪大学 中島優作
数式で書けるところは古典制御、書きにくいところをデータで埋めるのが学習制御
最近は両方を組み合わせることも多い(模倣で初期化 → 強化学習で仕上げ)
「画像を見て次の関節角を答える」教師あり学習。答えはいつもの位置制御へ
| 手法 | 考え方 | 長所 | 短所 |
|---|---|---|---|
| 行動クローニング(BC) | 「この状態ならこの行動」を教師あり学習 | いちばん簡単。最近の主流(ACT、Diffusion Policy、VLA) | 少しずれると誤差が積み重なる(共変量シフト) |
| DAgger | AI に動かせ、ずれた場面で人が正解を付け足す | ずれからの立て直しを学べる | 人がずっと付き添う必要 |
| 逆強化学習(IRL) | デモから報酬(何を目指しているか)を推定し、強化学習 | 状況が変わっても目的に沿って動ける | 計算が重い |
| GAIL | 「人のデモと見分けがつかない動き」を敵対的に学ぶ | 報酬を明示しなくてよい | 試行が多く、学習が不安定 |
DAgger: Ross et al. 2011 / IRL: Ng & Russell 2000, Abbeel & Ng 2004 / GAIL: Ho & Ermon 2016
▶ ALOHA / ACT プロジェクトページ(動画あり)
▶ Mobile ALOHA: Your Housekeeping Robot
▶ 遠隔操作で 3 品の料理
▶ 失敗集
Zhao et al., Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware, RSS 2023 / Fu et al., Mobile ALOHA, 2024
▶ プロジェクトページ(動画あり) ▶ 日本語の論文解説(松尾・岩澤研 DL 輪読会)
Chi et al., Diffusion Policy: Visuomotor Policy Learning via Action Diffusion, RSS 2023
お手本の代わりに報酬の決め方がすべて。データは自分で試して集める
| 分類 | 代表例 | 考え方 | ロボットでは |
|---|---|---|---|
| モデルフリー(オンポリシー) | PPO | 今の方策で集めたデータだけで少しずつ更新。安定 | シミュレータで何千台も並列に動かして学ぶ(歩行・手の器用さ) |
| モデルフリー(オフポリシー) | SAC | 過去のデータも使い回す。少ない試行で学べる | 実機で直接学ぶときに向く |
| モデルベース | Dreamer | 環境のモデル(世界モデル)を学び、その中で計画・練習 | 試行回数を減らせる |
| オフライン強化学習 | CQL など | 集めたデータだけで学ぶ(新たに試行しない) | デモ・ログを活用。模倣学習との中間 |
ロボットの実用では「シミュレータ × PPO で学び、実機へ移す」が主流
PPO: Schulman et al. 2017 / SAC: Haarnoja et al. 2018 / Dreamer: Hafner et al. 2020 / CQL: Kumar et al. 2020
シミュレータで学んで実機へ
▶ OpenAI: Learning Dexterity(2018) ▶ ロボットハンドでルービックキューブ(2019) ▶ NVIDIA DeXtreme(2022)
シミュレータの前提はシミュレータとの接続のスライドも参照
強化学習(シミュレータ)→ 模倣学習(安い遠隔操作でデータ集め)→ 大量のデータで基盤モデルへ
| 方法 | 例 | 特徴 |
|---|---|---|
| 遠隔操作 | ALOHA、GELLO、バイラテラル | ロボットで実際にできる動きが集まる。力も取るならバイラテラル(前のスライド) |
| 手持ちの道具 | UMI | カメラ付きグリッパを人が持って作業 → ロボットなしでどこでも集められる |
| シミュレーション | Isaac Sim / MuJoCo など | いくらでも作れるが、実機とのずれがある |
| 人の動画 | 一人称視点の動画など | 量は膨大。ただし行動(関節角・力)は入っていない |
▶ UMI 論文紹介 ▶ UMI ▶ GELLO ▶ Open X-Embodiment ▶ LeRobot
Vision-Language-Action(画像と言葉から行動を出す)
▶ RT-2 ▶ OpenVLA ▶ π0.5(Physical Intelligence 公式) ▶ Introducing Gemini Robotics 2 ▶ Octo
| 古典制御 | 学習制御 | |
|---|---|---|
| できること | 決まった動きを高精度・高速に繰り返す。力の制御、安全の保証 | 毎回違う物、柔らかい物、長い手順、言葉の指示 |
| まだ難しい | モデル化しにくい対象・環境 | 成功率・再現性、細かい力のやりとり、大量のデータ、失敗の説明 |
| 役割分担 | 下の層:位置・力・インピーダンス制御で速く確実に追従 | 上の層:何をどう動かすかを状況に合わせて決める |
学習が古典制御を置き換えるというより、上に学習・下に古典制御の組み合わせが現実的
赤=YouTube 動画、青=プロジェクトページ(多くは動画あり)