Chukua udhibiti pale policy inapokosea, kisha uifunze kwa marekebisho hayo.
Policy iliyofunzwa kwa Behavior Cloning inajua tu hali zilizopitiwa na maonyesho yako. DAgger inaziba pengo hilo kwa data kutoka hali ambazo policy yenyewe inafika. AY-Robots inaendesha mzunguko mzima kwenye SO-100: endesha checkpoint, chukua udhibiti katikati ya run, hifadhi episode zilizorekebishwa, unda mchanganyiko, kisha uendelee kufunza kutoka checkpoint uliyoiendesha.
- HG-DAgger, inayoongozwa na binadamu
- SO-100 / SO-101
- ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
- Kiwango cha kuingilia kati kwa kila duru
Kwa nini policy iliyofunzwa hufanya kitu ambacho hakikuwahi kuonyeshwa
Behavior Cloning inashughulikia udhibiti kama kujifunza kwa usimamizi wa kawaida: uchunguzi unaingia, lengo la kiungo linatoka, likilinganishwa na frame ambazo binadamu alizirekodi. Hilo ni sahihi tu wakati roboti inabaki kwenye hali ambazo binadamu alizipitia, jambo ambalo halifanyiki. Gripper inayofunga milisekunde arobaini mapema husogeza mchemraba milimita mbili kutoka kwenye mkao ulioonyeshwa. Uchunguzi unaofuata ni ule ambao seti ya mafunzo haina, hivyo kitendo pale ni ubashiri wa nje ya data, na hali inayofuata iko mbali zaidi bado. Usambazaji wa mafunzo na usambazaji ambao policy iliyojifunzwa inauzalisha kwa hakika ni vitu viwili tofauti, na cha pili kinasogea mbali zaidi na cha kwanza kadri episode inavyoendelea.
Ross, Gordon na Bagnell walielezea hasa kushindwa huku mwaka 2011 na wakapima uharibifu wake: classifier inayokosea kwa uwezekano e chini ya usambazaji wa mtaalamu inaweza kufanya makosa kwa kiwango cha mraba wa T mara e katika upeo wa hatua T chini ya usambazaji ambao inajizalishia yenyewe, kwa sababu kosa moja huzalisha uchunguzi ambao mtaalamu hakuwahi kuuzalisha, na makosa hujilimbikiza. Suluhisho lao ndio algoriti ambayo ukurasa huu unahusu. Endesha policy ya sasa, kusanya lebo za mtaalamu kwa hali inazozipitia, ziunganishe na zote zilizokusanywa hadi sasa, funza upya, rudia. Maonyesho zaidi ya aina ile ile hayasaidii, kwa sababu yanachukua tena sampuli kutoka usambazaji ule ule. Lebo kwenye hali ambazo policy inafika ndizo zinazosaidia. Toleo lililotekelezwa hapa ni lile linaloongozwa na binadamu (HG-DAgger, Kelly et al.): policy inabaki na udhibiti mpaka mtu aamue kuwa mambo yanaenda vibaya na achukue udhibiti, hivyo marekebisho yanazalishwa tu pale yanapohitajika, na mkono hauombwi kamwe kuingia kwenye hali ambayo mwendeshaji asingeruhusu.
- Behavior Cloning ni sahihi tu kwenye usambazaji wa hali ulioufunzia.
- Kosa hilo linajikuza lenyewe: mkengeuko mdogo huzalisha hali isiyofahamika, ambayo huzalisha mkengeuko mkubwa zaidi.
- Suluhisho si maonyesho zaidi, ni lebo kwenye hali ambazo policy yenyewe inafika.
- Kuongozwa na binadamu maana yake mwendeshaji ndiye anayeamua wakati wa kuingilia kati, si autonomy score.
Kwa nini kosa linajilimbikiza
Buruta upeo. Chini ya Behavior Cloning, gharama ya ziada inayotarajiwa inakua takriban kwa mraba wa idadi ya hatua, kwa sababu kila kosa huzalisha hali ambazo maonyesho hayakuwahi kuzifikia; mzunguko wa kukusanya data unaweka ukuaji karibu sawia (Ross et al., 2011).
Mikondo ya kielelezo kutoka kwenye vikomo vya Ross et al. (2011), si vipimo kutoka kwenye roboti yako. Muhimu ni umbo la mkondo, si namba.
Duru moja ya DAgger, hatua sita
Hii ndiyo mzunguko kama unavyoendeshwa kwa hakika kwenye jukwaa, si mchoro tu. Kila hatua hapa chini inalingana na kidhibiti kimoja kwenye Cockpit.
Pitia mzunguko hatua kwa hatua
Hatua zile zile sita, moja baada ya nyingine, ikionyesha kinachotokea kwenye mkono na kwenye seti ya data katika kila moja.
Endesha policy na urekodi
Anzisha run ya inference dhidi ya checkpoint uliyoifunza. Run hiyo inarekodiwa wakati inaendelea, pamoja na maandishi ya kazi ya run yenyewe, ili frame ziweze kutumika baadaye kama data ya mafunzo badala ya kuwa video ya kutazama tu.
Chukua udhibiti na rekebisha
Mara mkono unapofanya jambo lisilo sahihi, bonyeza Chukua Udhibiti. Runner inasimama na mkono unakuwa wako. Kwa leader arm, kwanza inaenda kwenye mkao wa follower kisha inakabidhi udhibiti; kwa kibodi au slider, iliyochaguliwa mwanzoni mwa run, kuchukua udhibiti ni kwa mkono papo hapo. Rekebisha mwendo, kisha rudisha udhibiti kwa policy. Frame zilizorekodiwa wakati wa kuchukua udhibiti zinawekwa alama ya intervention kiotomatiki.
Amua hatima ya run
Amua kwa kila run ilikuwa nini: iweke kama marekebisho, ihifadhi kama evaluation run, au itupe. Frame zilizoganda karibu na makabidhiano zinabaki kwenye saraka ya raw na haziingii kwenye seti ya data kamwe.
Sawazisha seti ya data ya marekebisho
Marekebisho yanakusanyika kwenye seti ya data ya marekebisho kwa kila policy na huenda kwenye bucket yako kupitia usawazishaji wa kiotomatiki wa wingu. Hakuna kinachounganishwa na kingine katika hatua hii; marekebisho ni seti ya data yake yenyewe tu.
Unda mchanganyiko wewe mwenyewe
Tumia Unda Seti ya Data kujenga seti ya mafunzo ya duru inayofuata: seti ya data ya awali pamoja na marekebisho, na episode zikichaguliwa waziwazi kwa kila chanzo. Matokeo ni seti ya data ya kawaida inayosawazishwa na kufunzwa kama nyingine yoyote. Hakuna kinachochanganywa nyuma ya mgongo wako, na hakuna data ya simulation inayoongezwa kiotomatiki.
Endelea kufunza kutoka checkpoint
Funza seti ya data iliyoundwa ukitumia Endelea kutoka Checkpoint badala ya kuanzia kwenye base model, ili duru ianzie kwenye policy uliyoiendesha hivi punde. Kuwa sahihi kuhusu hili: kinachofanyika ni kuanzisha uzito kutoka kwenye checkpoint hiyo, si optimizer resume.
Yale ambayo jukwaa hukufanyia
Kila kipengele hapa ni hatua ya mzunguko ambayo vinginevyo ungeijenga na kuidumisha wewe mwenyewe.
Kuchukua udhibiti bila leader arm
Chagua kibodi au slider mwanzoni mwa run na utaweza kurekebisha kwa laptop peke yake. Miondoko midogo ya kibodi inabanwa upande wa seva hadi digrii mbili kwa kila kiungo na digrii nne kwenye gripper; malengo ya slider ni kamili na seva husogea kwa digrii sita zaidi kuelekea huko kwa kila wito. Ubano huo unatekelezwa na seva, si na UI, hivyo kitufe kilichokwama hakiwezi kutupa mkono kiholela.
Nyaraka za TeleoperationIntervention zinawekwa alama kwa kila frame
Kila frame inayorekodiwa wakati unashikilia mkono hubeba alama ya intervention, na safu ya action inabeba mkao kamili ulioamriwa. Huhitaji kutunza safu ya alama kwa mkono wala kuilinganisha na frame indices baadaye.
Muundo wa seti ya data ya LeRobotUamuzi: marekebisho, evaluation, au tupa
Kila run hupata uamuzi mmoja kwenye save card. Run za marekebisho zinalisha duru ya mafunzo inayofuata, run za evaluation zinabaki nje ya mafunzo ili zibaki kipimo safi, na run mbaya hutoweka badala ya kuharibu mchanganyiko kimya kimya.
Sessions na EpisodesUnda mchanganyiko waziwazi
Seti ya mafunzo ya duru ya n unaikusanya wewe: seti ya data ya awali pamoja na marekebisho, episode zikichaguliwa kwa kila chanzo. Hakuna kuchanganya kiotomatiki, hakuna data ya simulation iliyofichwa, na matokeo yaliyoundwa yanajiendesha kama seti nyingine yoyote ya data.
Seti za DataEndelea kutoka kwenye checkpoint
Elekeza run ya mafunzo kwenye checkpoint uliyoiendesha hivi punde badala ya base model, ili kila duru ianzie pale iliyotangulia ilipoishia. Inaanzisha uzito tu; hali ya optimizer haijarejeshwa, ndiyo maana duru ya kwanza inafaa kutendewa kama jaribio la uwezekano.
MafunzoGPU zinazokodishwa kwa duru
ACT na SmolVLA kwenye 4090, Pi0 na GR00T N1.5 au N1.7 kwenye A100 yenye 80 GB. Unaanzisha duru, pod inawaka, checkpoints zinaingia kwenye bucket yako, na unalipa saa ambazo duru imetumia.
Bei za GPUPanga duru zako
Kiwango cha kuingilia kati ndicho kipimo cha maendeleo cha mzunguko: frame zilizorekebishwa zikigawanywa na frame za run. Weka mahali unapoanzia na kiasi ambacho kila duru inakuletea, kisha uone ni duru ngapi zinahitajika kufika unakotaka.
| Duru | Kiwango cha kuingilia kati | Frame zilizorekebishwa |
|---|---|---|
| 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 | |
Muundo, si utabiri. Duru halisi huwa na mvurugiko, na duru isiyobadilisha kiwango haijakuletea chochote; hicho ndicho kiashiria kinachofaa kufuatiliwa.
Kujenga mzunguko wewe mwenyewe dhidi ya kuuendesha hapa
Hakuna hata mojawapo ya haya lisilowezekana kwa mikono. Ni suala la jioni ngapi zinaenda kwenye kuunganisha vitu badala ya kwenye duru, na kuna safu moja ambapo kujifanyia mwenyewe ndiyo jibu bora waziwazi.
| Hatua ya mzunguko | Kuweka kwa mkono | Kwenye AY-Robots |
|---|---|---|
| Kuchukua udhibiti katikati ya run | Leader arm, au msimbo wako mwenyewe kwenye servo bus. Kuchukua udhibiti kwa kibodi na slider, ikiwemo mipaka salama, ni kitu unachoandika kisha kuki-debug kwenye hardware halisi. | Leader arm, kibodi, au slider, kuchaguliwa run inapoanza. Ubano wa pembe upo kwenye seva. |
| Kuweka alama za intervention | Unaongeza safu ya alama, unaisawazisha na frame index, na kuikagua upya kila mara muundo wa kurekodi unapobadilika. | Kila frame iliyorekodiwa wakati wa kuchukua udhibiti inawekwa alama kiotomatiki, ikiwa na mkao ulioamriwa kwenye safu ya action. |
| Kupanga run | Mikataba ya saraka na shell scripts. Frame zilizoganda karibu na makabidhiano ni juu yako kuzitafuta na kuziondoa. | Uamuzi mmoja kwa kila run kwenye save card. Frame za makabidhiano zinabaki kwenye saraka ya raw. |
| Kujenga seti ya data iliyochanganywa | Merge scripts kwa kila toleo la muundo. Sehemu ngumu ni kufanya episode indices, metadata, na marejeo ya video kuwa sawia. | Unda kutoka kwa ya awali pamoja na marekebisho ukichagua episode kwa kila chanzo; matokeo ni seti ya data ya kawaida. |
| Kuanzisha duru inayofuata kutoka policy ya mwisho | Wewe mwenyewe unaunganisha checkpoint kwenye trainer, na unaweza pia kurejesha hali ya optimizer kama unataka resume ya kweli. | Sehemu moja ya kujaza kwa base checkpoint. Uzito tu: inaanzisha kutoka kwenye checkpoint, si optimizer resume. |
| Udhibiti wa mzunguko wa mafunzo | Kamili. Loss yako, ratiba yako, ablations zako, instrumentation yako, hakuna jukwaa katikati. Kama swali la utafiti ni mzunguko wa mafunzo wenyewe, fanya kwa mkono. | Njia maalum yenye orodha ya policies zilizowekwa na hyperparameters ambazo fomu inaonyesha, si msimbo wowote ule. |
Machapisho yaliyojenga hii
Soma haya kabla ya kubishana na mzunguko huu. Kila kiungo kinaelekea kwenye ukurasa wa abstract, si nyuma ya paywall.
- 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)
Chapisho asili la DAgger: linaeleza tatizo la kosa linalojilimbikiza, linatoa kikomo cha mraba wa T kwa mbinu ya kawaida ya usimamizi, na linapendekeza kukusanya data kutoka hali ambazo mjifunzaji mwenyewe anazipitia.
- HG-DAgger: Interactive Imitation Learning with Human Experts
Michael Kelly, Chelsea Sidrane, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1810.02890, ICRA 2019
Toleo linaloongozwa na binadamu: mtaalamu ndiye anayeamua wakati wa kuchukua udhibiti badala ya kuulizwa kuhusu hali ambazo policy ilichagua; huu ndio mtindo ambao jukwaa hili linautekeleza.
- EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning
Kunal Menda, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1807.08364, IROS 2019
Njia nyingine ya kudhibiti uingiliaji: kutokubaliana kwa ensemble kama kiashiria cha uhakika cha wakati mjifunzaji anaweza kutenda peke yake. Mlinganisho muhimu dhidi ya kumwachia binadamu kuamua.
- 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
Inachukulia umakini wa binadamu kama rasilimali chache na inaomba msaada tu kwenye hali mpya au za hatari, mtazamo sahihi wakati mtu mmoja anasimamia mkono mchana kutwa.
- DART: Noise Injection for Robust Imitation Learning
Michael Laskey, Jonathan Lee, Roy Fox, Anca Dragan, Ken Goldberg · 2017 · CoRL 2017
Mbadala wa kweli: badala ya kurekebisha policy moja kwa moja, tatiza maonyesho ili mtaalamu aonyeshe jinsi ya kurejea. Inafaa kufahamika kabla ya kujitosa kwenye uingiliaji.
- 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
Ramani ya uwanja huu: ni aina zipi za mrejesho wa binadamu zilizopo, ni interfaces zipi zinazobeba mrejesho huo, na uingiliaji wa mtindo wa DAgger unasimama wapi miongoni mwao.
- Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn · 2023 · arXiv:2304.13705
Chapisho la ACT. Action chunking ndiyo sababu mkono wa bei nafuu unaweza kuendeshwa na policy ya kuiga kabisa, na ACT ndiyo policy ya haraka zaidi kufanyia duru za DAgger mara kwa mara.
- π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
VLA ya flow-matching iliyojengwa juu ya vision-language model iliyofunzwa awali, na mojawapo ya checkpoints unazoweza kufanyia fine-tuning hapa; chapisho linasema wazi kwamba ujuzi mpya unatokana na fine-tuning, si kutoka kwa base model peke yake.
Maswali ya kawaida
Je, ninahitaji leader arm kwa DAgger?
Hapana. Chagua kibodi au slider unapoanzisha run na kuchukua udhibiti kunakuwa kwa mkono tangu frame ya kwanza, kikiendeshwa kutoka kwenye kivinjari. Leader arm ni rahisi zaidi kwa miondoko midogo sahihi, na ndio mtindo ambao mkono hujilinganisha wenyewe kabla ya kukabidhi; lakini mzunguko unafanya kazi hata bila hiyo.
Ninahitaji duru ngapi za DAgger?
Hakuna namba maalum ya kweli. Angalia kiwango cha kuingilia kati: kama hakishuki kutoka duru moja hadi nyingine, duru hiyo haikukuletea chochote, na tatizo mara nyingi huwa kwenye mpangilio wa kazi, kamera, au seti ya data ya awali, na si idadi ya duru.
Je, hii ni DAgger halisi au kitu chepesi zaidi?
Ni HG-DAgger, toleo linaloongozwa na binadamu. DAgger ya kawaida humuuliza mtaalamu kuhusu hali ambazo policy ilichagua, ikiwemo hali ambazo hakuna mwendeshaji mwenye akili timamu angeruhusu mkono halisi kufika. Hapa mtu ndiye anayeamua wakati wa kuingilia kati, na sehemu hizo tu ndizo zinakuwa lebo.
Je, ninafunza kwa marekebisho tu?
Hapana, na haipaswi kufanya hivyo. Kufunza kwa marekebisho peke yake kunakupa policy inayojua tu jinsi ya kurejea. Seti ya data iliyoundwa ni data ya awali pamoja na marekebisho, ikiwa na episode za kila chanzo zilizochaguliwa waziwazi.
Je, kuendelea kutoka checkpoint ni resume ya run ya mafunzo?
Kinachofanyika ni kuanzisha uzito kutoka kwenye checkpoint hiyo. Hali ya optimizer haijarejeshwa, hivyo si resume kwa maana kali ya neno. Kivitendo, uzito ndio unaobeba tabia iliyojifunzwa kutoka duru moja hadi nyingine, lakini inafaa kujua ni ipi kati ya hizo mbili unayoipata.
Kiwango cha kuingilia kati kinahesabiwaje?
Frame zilizowekwa alama ya intervention zikigawanywa na jumla ya frame za run. Kinaonyeshwa kwenye hali ya kuchukua udhibiti, na ndicho namba pekee inayofaa kuandikwa kwa kila duru pamoja na checkpoint uliyoiendesha na mchanganyiko uliofunza.
Ninaweza kuendesha mzunguko huu na policies zipi?
ACT, SmolVLA, Pi0, na GR00T N1.5 au N1.7. Mzunguko wenyewe hauzingatii aina ya policy kwa sababu unazalisha tu seti za data na checkpoints; tofauti ya kivitendo iko kwenye muda unaochukua duru na GPU inayohitajika.
Je, naweza kufanya hivi bila kumiliki roboti?
Unaweza kurekodi na kufunza bila kumiliki roboti kwa kununua seti za data kwenye marketplace au kuwaajiri operators, na unaweza kuendesha SO-100 halisi kwenye kivinjari kwenye ukurasa wa live. Duru ya DAgger ni tofauti: inahitaji mkono unaoweza kuuchukulia udhibiti katikati ya run, hivyo kwa mzunguko wenyewe unahitaji hardware juu ya meza yako.
A real SO-100, live in the browser. No signup, no hardware needed.
Fanya duru yako ya kwanza wiki hii
Sakinisha client, endesha checkpoint uliyonayo tayari, na chukua udhibiti mara ya kwanza mkono unapopita zaidi ya mchemraba. Run hiyo moja ni duru ya DAgger kwa udogo wake: kila kitu baada yake ni kuunda mchanganyiko na kulipia saa za GPU.