# 大きなモデルを凍結し、小さな部品だけを実機で学ぶ方法（π0.5 の上に積む強化学習）

- 調べた日：2026-10-27
- 前の調査：[research_beyond_imitation_learning_20261027.md](research_beyond_imitation_learning_20261027.md) の「A 実機での強化学習」を掘り下げたもの
- 方針：論文の本文・公式のコードのページを開いて確かめた数字だけを書く。PI の RL トークンはニュース記事のみ（一次のページは開けなかった）

---

## ① 要点

1. 凍結するのは、π0.5 のような数十億の重みを持つモデルを実機の上で学び直すのが、重すぎて遅いため。小さな部品なら1秒に数百回更新でき、家庭用の GPU でも学習できる。元のモデルが覚えていることも壊れない
2. 小さな部品を差し込む場所で4つに分かれる。①入口の乱数を選ぶ（DSRL）、②出口に補正を足す（残差強化学習）、③出てきた候補から選ぶ（V-GPS）、④モデルの中身を読む（PI の RL トークン）
3. いちばん確かな実機の数字は DSRL。π0（π0.5 の前の版）を Franka で、トースターのスイッチ 5/20 → 18/20 を80回の試行で、スプーンを皿に 15/20 → 19/20 を65回で。小さな部品の学習は RTX 3070（8GB）1枚で、π0 は別のサーバーで動かした（査読あり、CoRL 2025）
4. 共通の条件：元のモデルが、たまには成功していること。小さな部品は元のモデルの近くしか探せないので、一度も成功しない作業は直せない
5. mechArm では、いまの PICK 補正記憶（ずれを積み重ねて直す仕組み）が、すでに手作りの②にあたる。これをカメラ画像から学ぶ形にしたのが残差強化学習

---

## ② なぜ凍結するのか

- 重さ：π0.5 は約30億の重み。openpi の説明書では、LoRA（重みの一部だけを足して学ぶ方法）でも GPU メモリ 22.5GB 超が要る。強化学習では、1回動かすごとに学び直すので、これでは間に合わない
- 速さ：小さな部品なら1秒に数百回更新できる（PI の RL トークンの記事）
- 忘れない：元のモデルの重みを変えないので、前にできていたことを忘れない（立て直しのお手本だけで学び直すと忘れる、という RECALL の結果の裏返し）
- 置き場所を分けられる：π0.5 はクラウドの GPU、小さな部品は手元の小さな GPU、と分けられる（DSRL は実際にこの形で実験した）

---

## ③ 4つの形

### ① 入口の乱数を選ぶ：DSRL（査読あり、CoRL 2025）

- 仕組み：π0 や π0.5 は、乱数（ノイズ）から少しずつ動きを作る方式（フローマッチング・拡散）。普通は乱数を毎回ランダムに引く。DSRL は小さなネットワークに「どの乱数から始めるか」を選ばせ、うまくいく動きが出る乱数を強化学習で覚える
- 凍結するもの：π0 の重みすべて。π0 の中身に手を入れず、乱数を渡して動きを受け取るだけなので、API 越しのモデルにも使える
- 出る動きは、必ず元のモデルが出しうる動きの範囲に収まる
- 実機の数字

| 実験 | 元のモデル | 前 | 後 | 実機で動かした回数 |
|---|---|---|---|---|
| π0（DROID 版）・Franka・トースターのスイッチ | π0 | 5/20 | 18/20 | 80回（約11,000ステップ） |
| π0（DROID 版）・Franka・スプーンを皿に | π0 | 15/20 | 19/20 | 65回（約10,000ステップ） |
| Franka・キューブをボウルに | お手本10本の拡散方策 | 2/10 | 9/10 | 約40回 |

- 計算：π0 は別のサーバーで動かし、小さな部品（3層・幅1024）は RTX 3070（8GB）で学習
- 比較：同じ条件で、普通の強化学習（RLPD）は 0/10 だった
- コード：π0 用が公開（MIT ライセンス、openpi の特定の版に固定、JAX と CUDA 12）。π0.5 への対応は書かれていない。RLinf（強化学習の枠組み）にも DSRL の例があり、学習する部分は約50万の重み。ただしシミュレーションの例だけ

### ② 出口に補正を足す：残差強化学習（ResFiT など）

- 仕組み：元の方策が出した動きに、小さなネットワークが補正を足す。実際に送る動き＝元の動き＋補正。成功したら1、失敗なら0という報酬だけで学ぶ。学習のたびに、お手本と実機の記録を半分ずつ混ぜる
- 実機の数字（ResFiT、29自由度・5本指の人型ロボット Vega。元の方策は ACT（模倣学習の一種）でお手本約900〜1,000本）

| 作業 | 前 | 後 | 実機の時間 |
|---|---|---|---|
| 毛糸玉をつかんで置く | 14% | 64% | 134回・約15分 |
| 荷物の受け渡し | 23% | 64% | 343回・約76分 |

- 成功・失敗は人が毎回付け、物も人が戻した
- 論文が認める限界：学んだ動きは元の方策の近くにとどまり、まったく違うやり方は見つけられない
- 元のモデルは VLA ではなく ACT。VLA の上に積んだ実機の数字は今回見つからなかった
- 補正は元のモデルの範囲の外にも出られる。アームのずれ（重さで下がる、狙いより手前で止まる）を直すにはこの形が合う。そのぶん、補正の大きさに上限を付ける必要がある

### ③ 出てきた候補から選ぶ：V-GPS（査読あり、CoRL 2024）

- 仕組み：凍結した方策から、同じ場面で動きの候補を何個も出させる。別に学んだ価値関数（その動きをすると最後に成功しそうかを点数にする関数）が、いちばん点の高い候補を選ぶ
- 価値関数は、すでにある記録（成功と失敗）だけで学ぶ。実機で新たに練習しなくてよい
- 実機の数字（WidowX、Octo-small-1.5）：6作業の平均 0.24 → 0.44。同じ価値関数を5種類の方策に使い回せた
- 弱点：毎回、候補を何個も出させるので、動き出すまでの時間が延びる

### ④ モデルの中身を読む：PI の RL トークン（2026-03、会社の発表）

- 仕組み：π0.6 に、モデル内部の状態を短い数字の列にまとめる出口（RL トークン）を足す。それを読む小さな行動役と評価役を、実機の上で学ぶ。行動役は π0.6 の動きを編集する
- 数字：15分の練習で、M3 ネジ締め・結束バンド・LAN ケーブル差し込み・電源コード差し込みの最後の数mmが改善。LAN ケーブルでは人の遠隔操作の中央値より速い。成功率は出ていない
- コード・論文：見つからず。モデル側に出口を足す必要があるので、公開されている π0.5 では今は使えない

---

## ④ 比較表

| 形 | 学ぶもの | 実機での練習 | 元のモデルの外に出られるか | 実機の数字の確かさ | 公開コード | mechArm との相性 |
|---|---|---|---|---|---|---|
| ① 入口の乱数（DSRL） | 乱数を選ぶ小さなネットワーク | 要る（数十〜百回） | 出られない（範囲内で良いものを選ぶ） | 査読あり・π0 で実機 | π0 用あり | 元のモデルがたまに成功する作業なら最有力。π0.5 用への書き換えが要る |
| ② 出口の補正（残差） | 補正を出す小さなネットワーク | 要る（15〜76分） | 出られる | 査読不明・ACT の上 | 一部あり | アームのずれを直すのに合う。いまの PICK 補正記憶の延長 |
| ③ 候補から選ぶ（V-GPS） | 価値関数 | 要らない（記録だけ） | 出られない | 査読あり・Octo で実機 | あり | 台帳の成功・失敗の記録を使える。推論の時間が延びる |
| ④ 中身を読む（RL トークン） | 行動役と評価役 | 要る（15分〜） | 編集の幅による | 会社の発表のみ | なし | 今は使えない |

---

## ⑤ 共通の条件と限界

- 元のモデルがたまには成功していること。DSRL の実験の元の成功率は 20〜75%。小さな部品は元のモデルの近くを探すだけなので、0% の作業は直せない
- 報酬を付ける手間：どれも成功か失敗かを毎回決める必要がある。論文では人が付けている。mechArm では、いまの Claude による PICK/PLACE 判定をそのまま使える。ただし判定が甘いと、甘い方向に伸びる（前の調査の Dyna の 99.4% 対 75%）
- 物を戻す手間：数十〜数百回、ブロックを置き直す人の時間が要る
- まったく新しいやり方は見つからない（ResFiT の著者）

---

## ⑥ mechArm への当てはめ（推論）

1. いまの PICK 補正記憶は、ずれを積み重ねて直す手作りの補正。② の残差強化学習は、これをカメラ画像から学ぶ形にしたものにあたる。補正の範囲・上限の考え方はそのまま使える
2. π0.5 で π0.5 自身を伸ばしたいなら ① の DSRL が最有力。π0.5 も乱数から動きを作る方式なので、乱数を外から渡せるように推論の部分を書き換えれば形は同じになる（ただし π0.5 での実例は未確認）。π0.5 は Runpod、小さな部品は同じ Runpod か手元で学ぶ形が、論文の分け方と同じ
3. 実機の練習なしで試せるのは ③。台帳の成功・失敗の記録から価値関数を学び、π0.5 の候補から選ばせる。効果があれば、練習の前段として使える
4. 始める前に、π0.5 の今の成功率を、決めたブロック位置で20回以上測る。0% に近い作業では、どの形も効かない
5. 比べ方：同じブロック位置で、前と後を各20回以上。練習に使った回数と、人が物を戻した回数・時間も記録する

---

## 出典

- [DSRL（CoRL 2025）論文](https://arxiv.org/pdf/2506.15799)・[PMLR](https://proceedings.mlr.press/v305/wagenmaker25a.html)・[π0 用コード](https://github.com/nakamotoo/dsrl_pi0)・[RLinf の DSRL の例](https://rlinf.readthedocs.io/en/latest/rst_source/examples/embodied/dsrl.html)
- [ResFiT（残差強化学習）論文](https://arxiv.org/html/2509.19301v2)
- [V-GPS（CoRL 2024）論文](https://arxiv.org/html/2410.13816v1)・[PMLR](https://proceedings.mlr.press/v270/nakamoto25a.html)
- [Humanoids Daily：PI の RL トークン](https://www.humanoidsdaily.com/news/the-last-millimeter-physical-intelligence-unveils-rl-tokens-for-hyper-fast-precision)（一次のページ pi.website/research/rlt は開けず）
