Human-gated DAgger, ආරම්භයේ සිට අවසානය දක්වාම

policy එක වැරදි දෙයක් කරන විට පාලනය අතට ගෙන, එම නිවැරදි කිරීම මතම එය පුහුණු කරන්න.

Behavior Cloning මගින් පුහුණු කළ policy එකකට හඳුනාගත හැක්කේ ඔබේ demonstrations වල තිබූ states පමණයි. DAgger එම පරතරය පියවා ගන්නේ policy එක තමන්ම ළඟා වන states වලින් ලබාගත් දත්ත මගිනි. AY-Robots මෙම සම්පූර්ණ loop එක SO-100 මතම ධාවනය කරයි: checkpoint එකක් ධාවනය කරන්න, ධාවනය අතරතුර පාලනය අතට ගන්න, නිවැරදි කළ episodes තබාගන්න, මිශ්‍රණය සකසන්න, සහ දැන් ධාවනය කළ checkpoint එකෙන්ම නැවත පුහුණුව අඛණ්ඩව කරගෙන යන්න.

  • HG-DAgger, human-gated (මානව-පාලිත)
  • SO-100 / SO-101
  • ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
  • round එකකට intervention rate එක

පුහුණු කළ policy එකක් කිසි විටෙක පෙන්වා නොදුන් දෙයක් කරන්නේ ඇයි

Behavior Cloning පාලනය සාමාන්‍ය supervised learning ලෙස සලකයි: observation ඇතුළට, joint target එක එළියට, මිනිසෙකු පටිගත කළ frames වලට ගැළපෙන ලෙස සකසා ඇත. එය සත්‍ය වන්නේ රොබෝවා මිනිසා ගමන් කළ states මතම රැඳී සිටින තුරු පමණි, එහෙත් එසේ සිදු නොවේ. තත්පරයෙන් හතළිහෙන් කොටසක් (forty milliseconds) කලින් වැසෙන gripper එකක් cube එක එහි පෙන්වූ ස්ථානයෙන් මිලිමීටර් දෙකකින් තල්ලු කරයි. ඊළඟ observation එක training set එකේ නොමැති එකක් වන අතර, එහි action එක extrapolation එකකි. ඉන් පසු එන state එක තවත් ඈතට යයි. training distribution එකත් පුහුණු වූ policy එක සැබවින්ම ජනනය කරන distribution එකත් වෙනස් දේවල් දෙකකි. episode එක ඉදිරියට යද්දී දෙවැන්න පළමුවැන්නෙන් ක්‍රමයෙන් ඈත් වෙයි.

Ross, Gordon සහ Bagnell 2011 දී මෙම අඩුවීමේ (reduction) අසාර්ථකත්වය හරියටම විස්තර කර එහි හානිය ප්‍රමාණාත්මකව පෙන්වා දුන්හ: expert distribution එක යටතේ e සම්භාවිතාවකින් වැරදෙන classifier එකකට, එය තමන්ම ජනනය කරන distribution එක යටතේ T පියවර horizon එකක් තුළ T දෙගුණය කළ (T squared) × e පමණ වැරදි කළ හැකිය, මන්ද එක වැරැද්දක් expert කවදාවත් ජනනය නොකළ observations නිපදවන අතර වැරදි එකිනෙක එකතු වී වර්ධනය වේ. ඔවුන්ගේ පිළියම මෙම පිටුව ගැන කතා කරන algorithm එකයි: වර්තමාන policy එක ධාවනය කරන්න, එය ගමන් කරන states සඳහා expert labels එකතු කරන්න, මෙතෙක් එකතු කළ සියල්ල සමඟ aggregate කරන්න, නැවත පුහුණු කරන්න, නැවත නැවත කරන්න. එකම ආකාරයේ demonstrations තව එකතු කිරීමෙන් ප්‍රයෝජනයක් නැත, මන්ද ඒවා එකම distribution එකෙන්ම නැවත සාම්පල් කරන බැවිනි. policy එක ළඟා වන states මත ඇති labels වලින් ප්‍රයෝජන ලැබේ. මෙහි implement කර ඇති variant එක human-gated (HG-DAgger, Kelly et al.) වේ: කෙනෙකු එය වැරදී යනවා යැයි තීරණය කර පාලනය අතට ගන්නා තෙක් policy එකම පාලනය තබාගනී. එබැවින් නිවැරදි කිරීම් අවශ්‍ය තැන පමණක් ජනනය වන අතර, operator ඉඩ නොදෙන state එකකට arm එක කිසි විටෙක යවන්නේ නැත.

  • Behavior Cloning වලංගු වන්නේ එය පුහුණු කළ states distribution එක මත පමණි.
  • මෙම අසාර්ථකත්වය තමන්ම වර්ධනය කර ගනී: කුඩා අපගමනයක් නුහුරු state එකක් ජනනය කරන අතර, එය තවත් විශාල අපගමනයක් ජනනය කරයි.
  • පිළියම තව demonstrations නොව, policy එක තමන්ම ළඟා වන states මත ඇති labels ය.
  • Human-gated යනු, ස්වයංක්‍රීයත්ව ලකුණක් නොව, මැදිහත් වන මොහොත තීරණය කරන්නේ operator බවයි.

වැරැද්ද එකතු වී වර්ධනය වන්නේ ඇයි

horizon එක drag කරන්න. Behavior Cloning යටතේ අපේක්ෂිත අමතර පිරිවැය දළ වශයෙන් පියවර ගණනේ වර්ගය (square) අනුව වර්ධනය වේ, මන්ද එක් එක් වැරැද්ද demonstrations කිසි විටෙක ආවරණය නොකළ states ජනනය කරන බැවිනි; aggregation loop එකක් මෙම වර්ධනය linear එකට ආසන්නව තබාගනී (Ross et al., 2011).

200
1.0 %
Behavior Cloning
400
DAgger
2.00
200×
Behavior Cloning ÷ DAgger
0.000100200300400050100150200අපේක්ෂිත අමතර පිරිවැය (bound)
Task horizon (පියවර)

Ross et al. (2011) හි bounds වලින් ගත් නිදර්ශන වක්‍ර මිස, ඔබේ රොබෝවෙන් ලබාගත් මිනුම් නොවේ. වැදගත් වන්නේ හැඩය මිස ඉලක්කම් නොවේ.

එක් DAgger round එකක්, පියවර හයක්

මෙය platform එක සැබවින්ම ධාවනය කරන ආකාරයේ loop එකයි, සටහනක් නොවේ. පහත එක් එක් පියවර cockpit එකේ පාලකයකට අනුරූප වේ.

loop එක පියවරෙන් පියවර බලන්න

එකම පියවර හය, එකින් එක, ඒ සෑම එකකදීම arm එකේ සහ dataset එකේ සිදුවන දේ සමඟ.

01

policy එක ධාවනය කර පටිගත කරන්න

ඔබ පුහුණු කළ checkpoint එකකට එරෙහිව inference run එකක් ආරම්භ කරන්න. run එක සිදුවෙමින් තිබියදීම, එහි task text එකත් සමඟ පටිගත වේ. එමගින් frames පසුව බැලිය හැකි වීඩියෝවක් පමණක් නොව, පුහුණු දත්ත ලෙසද පාවිච්චි කළ හැකි වේ.

1 න් 6

Platform එක ඔබෙන් ඉවත් කරන කාර්යයන්

මෙහි ඇති සෑම අයිතමයක්ම, එසේ නොවුනානම් ඔබම තනා නඩත්තු කළ යුතුව තිබූ loop එකේ පියවරකි.

Leader arm එකකින් තොරව Takeover

run එක ආරම්භයේදී keyboard හෝ slider input එක තෝරන්න, එවිට laptop එකකින් පමණක් නිවැරදි කළ හැක. keyboard nudges, server පැත්තෙන් සෑම joint එකකටම අංශක දෙකකටත් gripper එකට අංශක හතරකටත් clamp කර ඇත; slider targets සම්පූර්ණ (absolute) අගයන් වන අතර, server එක ඇමතුමකට අංශක හයකට වඩා වැඩිය ඒ දෙසට ගමන් නොකරයි. මෙම සීමා UI එකේ නොව server එකේ enforce කර ඇති නිසා, hang වූ key එකකට arm එක විසි කළ නොහැක.

Teleoperation docs

Frame එකෙන් frame එකට Interventions සලකුණු කිරීම

ඔබ arm එක අල්ලාගෙන සිටින අතරතුර පටිගත වන සෑම frame එකකම intervention flag එකක් ඇති අතර, action column එකේ සම්පූර්ණ commanded pose එක ඇත. flag column එකක් ඔබම නඩත්තු කර, පසුව frame indices වලට align කිරීමට අවශ්‍ය නොවේ.

LeRobot dataset format

Triage: correction, evaluation, හෝ bin

සෑම run එකකටම save card එකේ එක් තීරණයක් ලැබේ. correction runs ඊළඟ training round එකට දායක වන අතර, evaluation runs training එකෙන් බැහැරව පවතින නිසා ඒවා පිරිසිදු මිනුමක්ව රැඳේ, නරක runs නම් නිහඬව මිශ්‍රණය විෂ කරනවා වෙනුවට ඉවත් වී යයි.

Sessions සහ episodes

මිශ්‍රණය පැහැදිලිව compose කරන්න

round n සඳහා training set එක එකලස් කරන්නේ ඔබමය: original dataset එකට corrections එකතු කර, episodes එක් එක් source එකෙන් තෝරාගෙන. ස්වයංක්‍රීය මිශ්‍ර කිරීමක් නැත, සැඟවුණු simulation දත්තක් නැත, compose කළ ප්‍රතිඵලය අනිකුත් ඕනෑම dataset එකක් සේම හැසිරේ.

Datasets

checkpoint එකකින් ඉදිරියට පුහුණුව කරගෙන යන්න

base model එක වෙනුවට, දැන් ධාවනය කළ checkpoint එකට training run එක යොමු කරන්න, එවිට සෑම round එකක්ම කලින් round එක අවසන් වූ තැනින් ආරම්භ වේ. එය weights පමණක් initialize කරයි; optimizer state එක restore නොකරයි, ඒ නිසාම round එක feasibility test එකක් ලෙස සැලකීම වටී.

Training

Round එකකට කුලියට ගත් GPUs

ACT සහ SmolVLA 4090 මතත්, Pi0 සහ GR00T N1.5 හෝ N1.7, 80 GB සහිත A100 මතත් ධාවනය වේ. ඔබ round එකක් ආරම්භ කරයි, pod එක ක්‍රියාත්මක වේ, checkpoints ඔබේ bucket එකට එයි, round එකට ගත වූ පැය ගණනට ඔබ ගෙවයි.

GPU මිල ගණන්

ඔබේ rounds සැලසුම් කරන්න

Intervention rate යනු loop එකේ ප්‍රගති මිනුමයි: නිවැරදි කළ frames, run එකේ frames ගණනින් බෙදූ විට ලැබෙන අගය. ඔබ ආරම්භ වන ස්ථානය සහ එක් එක් round එකෙන් ලැබෙන දියුණුව සකසා, ඔබට අවශ්‍ය තැනට යාමට කී round ගණනක් අවශ්‍යදැයි බලන්න.

30 %
25 %
3 000
RoundIntervention rateනිවැරදි කළ frames
1
30.0%
900
2
22.5%
675
3
16.9%
506
4
12.7%
380
5
9.5%
285
6
7.1%
214
Σ2 960

මෙය ආකෘතියක් මිස පුරෝකථනයක් නොවේ. සැබෑ rounds අසමාන ලෙස ඉදිරියට යයි, rate එක වෙනස් නොකරන round එකකින් කිසිවක් ලැබී නැත; නිරීක්ෂණය කළ යුතු සංඥාව හරියටම එයයි.

Loop එක ඔබම තැනීම එදිරිව මෙහි ධාවනය කිරීම

මෙයින් කිසිවක් අතින් කළ නොහැකි දෙයක් නොවේ. ප්‍රශ්නය වන්නේ rounds වෙනුවට කොපමණ සවස් කාලයක් යටිතල වැඩට වැය වේද යන්නයි, එහෙත් එක් පේළියක ඔබම කිරීම පැහැදිලිවම වඩා හොඳ පිළිතුර වේ.

Loop එකේ පියවරඅතින් සකසන්නේ නම්AY-Robots මත
run එකක් අතරතුරදී පාලනය අතට ගැනීමleader arm එකක් හෝ servo bus එක මත ඔබේම code එක. keyboard සහ slider takeover, ආරක්ෂිත සීමා ඇතුළුව, ඔබ ලියා සැබෑ hardware මත debug කළ යුතු දෙයකි.leader arm, keyboard, හෝ sliders, run එක ආරම්භ වන විට තෝරාගනී. angle clamps server එකේ ජීවත් වේ.
Interventions සලකුණු කිරීමflag column එකක් ඔබම එකතු කර, එය frame index එකට align කරගෙන, recording format එක වෙනස් වන සෑම විටකම නැවත පරීක්ෂා කළ යුතුය.takeover එකක් අතරතුර පටිගත වන සෑම frame එකක්ම ස්වයංක්‍රීයව flag වන අතර, commanded pose එක action column එකේ ඇත.
runs වර්ග කිරීමdirectory conventions සහ shell scripts. handover එක වටා ඇති freeze frames සොයාගෙන ඉවත් කිරීම ඔබේ වගකීමයි.save card එකේ run එකකට තීරණයක්. handover frames raw directory එකේම රැඳේ.
මිශ්‍ර dataset එක තැනීමformat version එකකට merge scripts. episode indices, metadata, සහ video references අනුකූලව තබාගැනීම කම්මැලි වැඩකි.original සහ corrections වලින් source එකකට episode selection සමඟ compose කරන්න; ප්‍රතිඵලය සාමාන්‍ය dataset එකකි.
අවසාන policy එකෙන් ඊළඟ round එක ආරම්භ කිරීමcheckpoint එක trainer එකට ඔබම wire කරයි, සැබෑ resume එකක් අවශ්‍ය නම් optimizer state එකද restore කළ හැක.base checkpoint එකට field එකක්. weights පමණි: checkpoint එකෙන් initialize කරයි, optimizer resume එකක් නොවේ.
Training loop එක මත පාලනයසම්පූර්ණයි. ඔබේම loss, ඔබේම schedule, ඔබේම ablations, ඔබේම instrumentation, අතරමැදි platform එකක් නැත. පර්යේෂණ ප්‍රශ්නයම training loop එක නම්, එය අතින් කරන්න.policies ලැයිස්තුවක් සහ form එකෙන් expose කරන hyperparameters සහිත ස්ථාවර මාර්ගයක්, කැමති පරිදි code එකක් නොවේ.

මෙයට පදනම් වූ paper

loop එක ගැන තර්ක කිරීමට පෙර මේවා කියවන්න. සෑම link එකක්ම යන්නේ abstract පිටුවට මිස paywall එකකට නොවේ.

  1. A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning

    Stephane Ross, Geoffrey J. Gordon, J. Andrew Bagnell · 2011 · AISTATS 2011 (PMLR 15)

    මුල් DAgger paper එක: එය compounding-error ගැටලුව පැහැදිලි කර, සරල supervised ප්‍රවේශයට T-squared bound එක ලබාදී, learner එක තමන්ම ගමන් කරන states වලින් දත්ත aggregate කිරීමට යෝජනා කරයි.

  2. HG-DAgger: Interactive Imitation Learning with Human Experts

    Michael Kelly, Chelsea Sidrane, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1810.02890, ICRA 2019

    human-gated variant එක: policy එක තෝරාගත් states ගැන විමසනවා වෙනුවට, expert තමන්ම පාලනය අතට ගන්නා මොහොත තීරණය කරයි; මෙම platform එක implement කර ඇත්තේ මෙම mode එකයි.

  3. EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning

    Kunal Menda, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1807.08364, IROS 2019

    interventions gate කිරීමට වෙනත් ක්‍රමයක්: learner එකට තනිව ක්‍රියා කළ හැකි මොහොත සඳහා confidence සංඥාවක් ලෙස ensemble disagreement එක පාවිච්චි කිරීම. කෙනෙකුට තීරණය කිරීමට ඉඩදීමට ප්‍රයෝජනවත් සංසන්දනයකි.

  4. ThriftyDAgger: Budget-Aware Novelty and Risk Gating for Interactive Imitation Learning

    Ryan Hoque, Ashwin Balakrishna, Ellen Novoseller, Albert Wilcox, Daniel S. Brown, Ken Goldberg · 2021 · CoRL 2021

    මානව අවධානය දුර්ලභ සම්පතක් ලෙස සලකා, නව හෝ අවදානම් සහිත states වලදී පමණක් උදව් ඉල්ලයි; දහවල පුරාම එක් අයෙකු arm එක සුපරීක්ෂණය කරන විට මෙය නිවැරදි framework එකයි.

  5. DART: Noise Injection for Robust Imitation Learning

    Michael Laskey, Jonathan Lee, Roy Fox, Anca Dragan, Ken Goldberg · 2017 · CoRL 2017

    අවංක විකල්පය: policy එක online ලෙස නිවැරදි කිරීම වෙනුවට, expert එකට recovery එක පෙන්විය හැකි වන ලෙස demonstrations perturb කරයි. interventions වලට යොමු වීමට පෙර දැනගත යුතු දෙයකි.

  6. Interactive Imitation Learning in Robotics: A Survey

    Carlos Celemin, Rodrigo Perez-Dattari, Eugenio Chisari, Giovanni Franzese, Leandro de Souza Rosa, Ravi Prakash, Zlatan Ajanovic, Marta Ferraz, Abhinav Valada, Jens Kober · 2022 · arXiv:2211.00600

    ක්ෂේත්‍රයේ සිතියම: මානව feedback ආකාර මොනවාද, ඒවා ගෙන යන interfaces මොනවාද, සහ DAgger-ආකාරයේ intervention ඒවා අතර සිටින්නේ කොහේද යන්න.

  7. Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware

    Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn · 2023 · arXiv:2304.13705

    ACT paper එක. action chunking නිසාවෙන්මය අඩුමිලේ arm එකක් imitation policy එකකින් ධාවනය කළ හැක්කේ, DAgger round එකක් සමඟ iterate කිරීමට වේගවත්ම policy එකද ACT වේ.

  8. π0: A Vision-Language-Action Flow Model for General Robot Control

    Kevin Black, Noah Brown, Danny Driess, Adnan Esmail, Michael Equi, Chelsea Finn et al. · 2024 · arXiv:2410.24164

    pretrained vision-language model එකක් මත තැනූ flow-matching VLA එකක්, මෙහි fine-tune කළ හැකි checkpoints වලින් එකකි; නව හැකියාවන් එන්නේ fine-tuning එකෙන් මිස base model එකෙන් පමණක් නොවන බව paper එකේ පැහැදිලිව සඳහන් වේ.

මිනිසුන් සැබවින්ම අසන ප්‍රශ්න

DAgger සඳහා leader arm එකක් අවශ්‍යද?

නැත. run එක ආරම්භ කරන විට keyboard හෝ slider input එක තෝරන්න, එවිට browser එකෙන්ම ධාවනය වන takeover එක පළමු frame එකේ සිටම manual වේ. සියුම් චලනයන් සඳහා leader arm එකක් වඩාත් හොඳ අත්දැකීමක් ලබාදෙන අතර, handover එකට පෙර arm එක තමන්ම align වන mode එකද එයයි, එහෙත් loop එක එකකින් තොරවත් ධාවනය වේ.

කී DAgger rounds ගණනක් මට අවශ්‍යද?

අවංක ස්ථාවර ඉලක්කමක් නැත. intervention rate එක නිරීක්ෂණය කරන්න: එය එක round එකේ සිට ඊළඟට අඩු නොවේ නම්, එම round එකෙන් කිසිවක් ලැබී නැත. ගැටලුව සාමාන්‍යයෙන් round ගණන නොව, task setup එකේ, cameras වල, හෝ original dataset එකේ ඇත.

මෙය සැබෑ DAgger එකක්ද නැත්නම් ලිහිල් දෙයක්ද?

එය HG-DAgger, human-gated variant එකයි. සම්භාව්‍ය DAgger, policy එක තෝරාගත් states ගැන expert ගෙන් විමසයි, ඊට කිසිදු බුද්ධිමත් operator කෙනෙකු සැබෑ arm එකකට ළඟාවීමට ඉඩ නොදෙන states ද ඇතුළත්ය. මෙහිදී මැදිහත් වන මොහොත තීරණය කරන්නේ මිනිසෙකි, එම කොටස් පමණක් labels බවට පත් වේ.

මම corrections මත පමණක් පුහුණු කරනවාද?

නැත, එසේ නොකළ යුතුය. corrections පමණක් මත පුහුණු කිරීමෙන් ලැබෙන්නේ recovery කරන්නේ කෙසේදැයි පමණක් දන්නා policy එකකි. compose කළ dataset එක වන්නේ, එක් එක් source එකෙන් episodes පැහැදිලිව තෝරාගත් original දත්ත සමඟ corrections එකතු කළ එකකි.

checkpoint එකකින් ඉදිරියට යාම training run එක resume කරනවාද?

එය එම checkpoint එකෙන් weights initialize කරයි. optimizer state එක restore නොකෙරේ, එබැවින් දැඩි අර්ථයෙන් එය resume එකක් නොවේ. ප්‍රායෝගිකව round එකක් හරහා ඉගෙනගත් හැසිරීම රැගෙන යන්නේ weights ය, එහෙත් ඔබට ලැබෙන්නේ දෙකෙන් කුමක්දැයි දැනගැනීම වටී.

intervention rate එක ගණනය කරන්නේ කෙසේද?

intervention ලෙස flag කළ frames, run එකේ මුළු frames ගණනින් බෙදූ අගය. එය takeover status එකේ පෙන්වන අතර, ඔබ ධාවනය කළ checkpoint එකත් පුහුණු කළ මිශ්‍රණයත් අසල, round එකකට සටහන් කර තැබීමට වටින එකම ඉලක්කම එයයි.

මෙම loop එක කවර policies සමඟ ධාවනය කළ හැකිද?

ACT, SmolVLA, Pi0, සහ GR00T N1.5 හෝ N1.7. loop එක තනිවම datasets සහ checkpoints පමණක් ජනනය කරන නිසා policy-agnostic වේ; ප්‍රායෝගික වෙනස වන්නේ round එකකට ගතවන කාලය සහ අවශ්‍ය GPU එකයි.

රොබෝවක් හිමි නොවී මෙය කළ හැකිද?

marketplace එකෙන් datasets මිලදී ගැනීමෙන් හෝ operators හට commission කිරීමෙන් රොබෝවක් නොමැතිව පටිගත කර පුහුණු කළ හැක, සහ live පිටුවේ browser එකෙන්ම සැබෑ SO-100 එකක් ධාවනය කළ හැක. DAgger round එකක් වෙනස්ය: එයට run එකක් අතරතුරදී පාලනය අතට ගත හැකි arm එකක් අවශ්‍යයි, ඒ නිසා loop එක සඳහාම ඔබේ මේසය මතම hardware තිබිය යුතුය.

Drive a real arm

A real SO-100, live in the browser. No signup, no hardware needed.

මේ සතියේම ඔබේ පළමු round එක ධාවනය කරන්න

client එක install කර, දැනටමත් ඇති checkpoint එකක් ධාවනය කර, arm එක cube එක පසුකර යන පළමු මොහොතේම පාලනය අතට ගන්න. එම එක් run එකම කුඩා DAgger round එකකි: ඉන් පසු ඇත්තේ මිශ්‍රණය compose කිරීම සහ GPU පැය සඳහා ගෙවීම පමණි.