clean50 — noise=0 デモ×50

Sawyer Task0(alphabet soup → basket)。open-loop 成功のみの scripted OSC v8 デモ50本(noise=0)で、 pi05_libero init の FullLoRA / VisAct / Full FT を比較。評価は共通で max_steps=1200 × 50 trials(seed=7)。 生成: 2026-09-20 · 学習予算・成功デモ注記: 2026-09-28

結論: 同じ成功デモ clean50・同じ学習予算(step=10000 · effbs=4)でも FullLoRA だけ 8%。VisAct / Full FT は 0%。 Full FT は近傍到達(near)は 50/50 だが grasp は 0/50 → 失敗デモ学習ではなく掴み以降が破綻。 追記(2026-10-07): Full FT + stategauss 5mm は標準 eval で 2%、 学習と同じ初期状態 / clean100+5mm はいずれも 0% → 詳細は 学習条件まとめ。
「標準」と「学習と同じ初期状態」はどちらも closed-loop。違うのは初期配置だけ(標準は init 0–49 で学習デモと同じではない)。

結果サマリ

条件成功率 neargrasplifttransportplace メモ
libero FullLoRA clean50 8.0% (4/50) 50/5018/5018/5018/507/50 唯一の非ゼロ
libero VisAct clean50 0.0% (0/50) 40/507/505/505/501/50 place 手前でほぼ終了
libero Full FT clean50(s10000 · effbs4) 0.0% (0/50) 50/500/500/500/500/50 比較基準 · 接近は全成功・掴みが全滅

共通条件

robot / tasksawyer · libero_object task0
datalibero_sawyer_scripted_obj0_osc_v8_clean50(share7)· 3条件で同一
デモの作り方scripted export で --require-open-loop · 120 試行 → open_loop_ok 106本 → 先頭50本
デモの成否全50本が lifted+placed+passed+open_loop_ok(失敗デモは未使用)· approach_noise=0
demos50 ep · compact · ik_set · home_w30 · delta_osc · 20 Hz
initpi05_libero_pytorch
config namepi05_lora_b_object_sawyer(見た目は LoRA 名だが Full FT は freeze_filter=Nothing)
evalseed=7 · 50 trials · max_steps=1200 · env_horizon=1260 · port 別
storagedata / ckpt / log / video → /share7/yui.muranaka/openpi_appearance

条件別の学習設定(比較基準)

step = パラメータ更新回数。effbs(effective batch)= 1GPUあたりの bs × GPU枚数 = 1回の更新で見る本数。 3条件とも step=10000 · effbs=4(GPU 割り方だけ Full FT が 2×2)。

項目FullLoRAVisActFull FT
scripttrain_pytorch_lora.pytrain_pytorch_lora_vision_action.pytrain_pytorch.py
steps100001000010000
batch / GPU4 × 1 GPU4 × 1 GPU2 × 2 GPU
effective BS444
lrpeak 5e-5peak 5e-5peak 5e-5
mergemerge_lora_checkpoint.pymerge_lora_checkpoint_vision_action.py不要(素の PI0 重みを直接 serve)
exp…fulllora_s10000_…clean50…visact_s10000_…clean50…fullft_s10000_clean50_effbs4
Full FT(s10000 · effbs4 · 2026-09-26): LoRA と同じ学習予算・同じ成功デモでも成功率は 0%。 near=50/50 · grasp/lift/transport/place=0 → データの成否ではなく Full FT 側(レシピ / 制御 / 過適応など)を疑う。 診断図: Full FT vs FullLoRA smoke。

条件別・動画

libero FullLoRA clean50

8.0%

成功率 8.0%(4/50) · init=pi05_libero · Full LoRA · DAggerなし · steps=10000 · bs=4

成功率8.0%(4/50)
near50/50
grasp18/50
lift18/50
transport18/50
place7/50
ckpt…_merged_…fulllora_s10000_scripted_obj0_osc_v8_clean50
eval_loglogs/clean50_libero/eval_clean50_libero_fulllora_max1200.log
ep30 · success · lift=0.167m · min_eef=0.002m
ep44 · success · lift=0.147m · min_eef=0.001m
ep21 · success · lift=0.147m · min_eef=0.006m
ep14 · transport(成功手前) · lift=0.144m

libero VisAct clean50

0.0%

成功率 0.0%(0/50) · init=pi05_libero · VisAct LoRA · DAggerなし · steps=10000 · bs=4

成功率0.0%(0/50)
near40/50
grasp7/50
lift5/50
transport5/50
place1/50
ckpt…_merged_…visact_s10000_scripted_obj0_osc_v8_clean50
eval_loglogs/clean50_libero/eval_clean50_libero_visact_max1200.log
ep27 · place まで · lift=0.143m(成功ならず)
ep32 · transport · lift=0.149m
ep46 · transport · lift=0.131m
ep35 · transport · lift=0.110m

libero Full FT clean50(s10000 · effbs4)

0.0%

成功率 0.0%(0/50) · init=pi05_libero · Full FT · steps=10000 · NPROC=2×BS=2(effbs=4)· 成功デモ clean50 · 完了 2026-09-26

成功率0.0%(0/50)
near50/50
grasp0/50
lift0/50
transport0/50
place0/50
ckpt…/libero_init_sawyer_obj0_fullft_s10000_clean50_effbs4/10000
eval_loglogs/clean50_libero/eval_clean50_libero_fullft_s10000_effbs4_max1200.log
dataVisAct/FullLoRA と同じ open-loop 成功50本
actnoise50action noise · Full FT(動画・曲線)
smokeデモ vs ポリシー比較図
ep0 · near まで(grasp 失敗)
ep10 · near まで(grasp 失敗)
ep25 · near まで(grasp 失敗)
ep40 · near まで(grasp 失敗)