Адам бақылайтын DAgger, бастан-аяқ

Policy қате жіберген кезде басқаруды өзіңізге алыңыз да, содан кейін сол түзетуді оқытыңыз.

Behavior Cloning арқылы оқытылған policy тек сіздің демонстрацияларыңыз болған күйлерді біледі. DAgger бұл алшақтықты policy-нің өзі жеткен күйлерден алынған деректермен жабады. AY-Robots бүкіл циклді SO-100 арқылы жүргізеді: checkpoint-ты басқарыңыз, жүргізу барысында басқаруды өзіңізге алыңыз, түзетілген эпизодтарды сақтаңыз, қоспаны құрастырыңыз және жаңа ғана басқарған checkpoint-тан оқытуды жалғастырыңыз.

  • HG-DAgger, адам бақылайтын
  • SO-100 / SO-101
  • ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
  • Раунд сайынғы интервенция үлесі

Оқытылған policy неге ешқашан көрсетілмеген нәрсені жасайды

Behavior Cloning басқаруды әдеттегі бақыланатын оқыту ретінде қарастырады: бақылау кіреді, буын мақсаты шығады, барлығы адам жазып алған кадрларға негізделеді. Бұл тек робот адам болған күйлерде қалғанда ғана дұрыс жұмыс істейді, ал іс жүзінде олай болмайды. Қырық миллисекунд ерте жабылатын ұстағыш кубты демонстрацияланған позициядан екі миллиметрге ауыстырып жібереді. Келесі бақылау оқыту жиынында жоқ, сондықтан ондағы әрекет экстраполяция болады, ал одан кейінгі күй одан да алшақ жатады. Оқыту үлестірімі мен оқытылған policy іс жүзінде тудыратын үлестірім екі бөлек нәрсе, әрі екіншісі эпизод жүріп жатқан сайын біріншісінен алшақтай береді.

Росс, Гордон және Багнелл дәл осы редукция мәселесін 2011 жылы сипаттап, оның зиянын сандық түрде бағалады: сарапшы үлестірімінде e ықтималдықпен қателесетін классификатор T қадамдық көкжиекте, өзі тудыратын үлестірім бойынша, шамамен T-нің квадраты көбейтілген e мөлшерінде қате жасай алады, себебі бір қате сарапшы ешқашан тудырмаған бақылаулар тудырады да, қателер содан жинақтала береді. Олардың шешімі — осы беттің тақырыбы болып отырған алгоритм: ағымдағы policy-ні жүргізу, ол жеткен күйлер үшін сарапшы белгілерін жинау, оларды осы кезге дейін жиналғанмен біріктіру, қайта оқыту, қайталау. Бір типтес демонстрациялардың санын көбейту көмектеспейді, себебі олар сол бір үлестірімнен қайта іріктеледі. Ал policy жеткен күйлердегі белгілер көмектеседі. Мұнда іске асырылған нұсқа — адам бақылайтын (HG-DAgger, Kelly және т.б.): policy бақылауды адам қате бара жатқанын шешіп, басқаруды өзіне алғанға дейін ұстап тұрады, сондықтан түзетулер тек қажет жерде ғана пайда болады, ал манипулятор операторы жол бермейтін күйге ешқашан айдалмайды.

  • Behavior Cloning тек өзі оқытылған күйлер үлестірімінде ғана дұрыс жұмыс істейді.
  • Қате өзін-өзі күшейтеді: кішкентай ауытқу таныс емес күй тудырады, ол өз кезегінде үлкенірек ауытқу тудырады.
  • Шешім көбірек демонстрация емес, policy өзі жеткен күйлердегі белгілер.
  • Адам бақылайтын дегеніміз — қашан араласу керегін автономия көрсеткіші емес, оператор шешеді.

Қате неге жинақтала береді

Көкжиекті жылжытыңыз. Behavior Cloning кезінде күтілетін қосымша шығын қадам санының шамамен квадратына пропорционал өседі, себебі әр қате демонстрациялар ешқашан қамтымаған күйлер тудырады; ал жинақтау циклі бұл өсуді сызыққа жақын деңгейде ұстайды (Ross et al., 2011).

200
1.0 %
Behavior Cloning
400
DAgger
2.00
200×
Behavior Cloning ÷ DAgger
0.000100200300400050100150200Күтілетін қосымша шығын (шектеу)
Тапсырма көкжиегі (қадамдар)

Бұл Ross et al. (2011) жұмысындағы шектеулерге негізделген иллюстрациялық қисықтар, сіздің роботыңыздан алынған өлшемдер емес. Мәселе сандарда емес, қисықтың пішінінде.

Бір DAgger раунды, алты қадам

Бұл — платформа циклді нақты қалай жүргізетіні, схема емес. Төмендегі әр қадам кокпиттегі бір басқару элементіне сәйкес келеді.

Циклді қадамдап көріп шығу

Сол бір алты қадам, бірінен соң бірі, әрқайсысында манипуляторда және деректер жинағында не болатынымен бірге.

01

Policy-ні жүргізу және жазып алу

Өзіңіз оқытқан checkpoint-пен inference жүргізуін бастаңыз. Жүргізу барысында ол өзінің тапсырма мәтінімен бірге жазылады, сондықтан кадрлар кейін тек қарауға болатын видео емес, оқыту деректері ретінде пайдаланылады.

1 ішінен 6

Платформа сізден нені алып тастайды

Мұндағы әрбір тармақ — болмаса өзіңіз құрып, өзіңіз қолдап отыратын циклдің бір қадамы.

Leader arm-сыз басқаруды алу

Жүргізуді бастағанда пернетақта немесе slider кірісін таңдасаңыз, түзетуді тек ноутбукпен-ақ жасай аласыз. Пернетақта қимылдары сервер жағында әр буын үшін екі градуспен, ұстағыш үшін төрт градуспен шектеледі; slider мақсаттары абсолютті болады, сервер әр шақыруда оларға қарай ең көбі алты градус жылжиды. Шектеулерді интерфейс емес, сервер қамтамасыз етеді, сондықтан жабысып қалған перне манипуляторды лақтырып жібере алмайды.

Teleoperation құжаттамасы

Әр кадрдағы интервенциялар белгіленеді

Манипуляторды өзіңіз ұстап тұрған кезде жазылған әр кадрда интервенция белгісі болады, ал action бағанында толық берілген поза сақталады. Сіз белгі бағанын қолмен жүргізбейсіз және оны кадр индекстерімен кейін теңестірмейсіз.

LeRobot деректер жинағының форматы

Сұрыптау: түзету, бағалау немесе қоқыс

Әр жүргізу сақтау картасында бір шешім алады. Түзету жүргізулері келесі оқыту раундын толықтырады, бағалау жүргізулері оқытудан тыс қалып, таза өлшем болып қалады, ал сәтсіз жүргізулер қоспаны үнсіз бүлдірудің орнына жойылады.

Session-дер мен эпизодтар

Қоспаны нақты құрастыру

n-раунд үшін оқыту жиынын сіз жинайсыз: бастапқы деректер жинағы плюс түзетулер, эпизодтар әр дереккөз бойынша таңдалады. Автоматты араласу жоқ, жасырын симуляция деректері жоқ, ал құрастырылған нәтиже кез келген басқа деректер жинағы сияқты жұмыс істейді.

Деректер жинақтары

Checkpoint-тан жалғастыру

Оқыту жүргізуін базалық модельдің орнына жаңа ғана басқарған checkpoint-қа бағыттаңыз, сонда әр раунд соңғысы аяқталған жерден басталады. Бұл тек салмақтарды инициализациялайды; optimizer күйі қалпына келтірілмейді, сондықтан бірінші раундты орындалу мүмкіндігін тексеру ретінде қарастырған жөн.

Training

GPU-лар раунд бойынша жалға алынады

ACT пен SmolVLA — 4090-де, Pi0 және GR00T N1.5 немесе N1.7 — 80 ГБ жады бар A100-де. Раундты бастайсыз, pod іске қосылады, checkpoint-тар сіздің bucket-іңізге түседі, ал төлем раундқа кеткен сағаттар үшін алынады.

GPU бағалары

Раундтарыңызды жоспарлаңыз

Интервенция үлесі — циклдің прогресс көрсеткіші: түзетілген кадрлар жүргізу кадрларына бөлінгенде шығатын сан. Бастапқы нүктені және әр раунд қанша пайда әкелетінін орнатып, мақсатыңызға жету үшін неше раунд керек екенін көріңіз.

30 %
25 %
3 000
РаундИнтервенция үлесіТүзетілген кадрлар
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

Бұл болжам емес, модель. Нақты раундтар тегіс жүрмейді, ал үлесті өзгертпеген раунд ешқандай пайда әкелмейді; бақылауға тұрарлық сигнал дәл осы.

Циклді өзіңіз құру немесе мұнда жүргізу

Мұның бәрін қолмен жасау мүмкін емес емес. Мәселе — қанша кеш раундтарға емес, инфрақұрылымға кетеді дегенде, әрі бір жол бар, онда өз қолыңызбен жасау анық жақсырақ шешім.

Циклдің қадамыҚолмен орнатуAY-Robots-та
Жүргізу барысында басқаруды алуLeader arm немесе servo шинасына арналған өз кодыңыз. Пернетақта мен slider арқылы басқаруды алуды, соның ішінде қауіпсіз шектеулерді, өзіңіз жазып, нақты жабдықта дебаггерлейсіз.Leader arm, пернетақта немесе slider, жүргізу басталғанда таңдалады. Бұрыш шектеулері серверде тұрады.
Интервенцияларды белгілеуБелгі бағанын өзіңіз қосасыз, оны кадр индексіне сай ұстайсыз және жазу форматы өзгерген сайын қайта тексересіз.Басқаруды алу кезінде жазылған әр кадр автоматты белгіленеді, action бағанында берілген поза болады.
Жүргізулерді сұрыптауҚалта конвенциялары мен shell скрипттері. Басқаруды беру-алу кезіндегі тоқтап қалған кадрларды өзіңіз тауып, сүзіп алып тастауыңыз керек.Сақтау картасында әр жүргізу үшін бір шешім. Беру-алу кадрлары raw қалтасында қалады.
Аралас деректер жинағын құруФормат нұсқасы сайын merge скрипттері. Эпизод индекстерін, метадеректерді және видео сілтемелерін сәйкес ұстау — ең еңбекқорлықты қажет ететін бөлігі.Бастапқы деректер жинағы плюс түзетулерден, әр дереккөз бойынша эпизод таңдаумен құрастырыңыз; нәтиже — қарапайым деректер жинағы.
Келесі раундты соңғы policy-ден бастауCheckpoint-ты trainer-ге өзіңіз қосасыз, ал шынайы жалғастыру керек болса, optimizer күйін де қалпына келтіре аласыз.Базалық checkpoint үшін бір өріс. Тек салмақтар: checkpoint-тан инициализацияланады, optimizer-ді жалғастыру емес.
Оқыту циклін бақылауТолық. Өз loss функцияңыз, өз кестеңіз, өз абляцияларыңыз, өз құралдарыңыз, жолда тұрған платформа жоқ. Егер зерттеу сұрағы оқыту циклінің өзі болса, оны қолмен жасаңыз.Белгіленген policy тізімі мен форма ұсынатын гиперпараметрлері бар бекітілген жол, ерікті код емес.

Осы негізделген жұмыстар

Циклмен таласпас бұрын осыларды оқыңыз. Әр сілтеме төлем қабырғасына емес, аннотация бетіне апарады.

  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-дің түпнұсқа мақаласы: қателердің жинақталу мәселесін тұжырымдайды, қарапайым бақыланатын тәсіл үшін T-квадрат шектеуін береді және оқушының өзі жеткен күйлерден деректерді жинақтауды ұсынады.

  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

    Адам бақылайтын нұсқа: сарапшы policy таңдаған күйлер туралы сұралудың орнына, басқаруды қашан алатынын өзі шешеді; дәл осы режимді бұл платформа іске асырады.

  3. EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning

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

    Интервенцияны басқарудың басқа жолы: оқушы жалғыз әрекет ете алатынын білдіретін сенімділік сигналы ретінде ансамбльдің келіспеушілігі. Мұны адамға шештірумен салыстыру пайдалы.

  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

    Адам назарын тапшы ресурс ретінде қарастырып, тек жаңа немесе қауіпті күйлерде ғана көмек сұрайды; бір адам манипуляторды бүкіл түстен кейін бақылағанда бұл дұрыс тәсіл.

  5. DART: Noise Injection for Robust Imitation Learning

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

    Адал балама: policy-ны онлайн түзетудің орнына, демонстрацияларды бұзып, сарапшы қалпына келуді көрсетеді. Интервенцияға бел буар алдында білуге тұрарлық.

  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

    Саланың картасы: адам кері байланысының қандай түрлері бар, олар қандай интерфейстер арқылы беріледі және DAgger стиліндегі интервенция солардың арасында қай жерде тұрады.

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

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

    ACT мақаласы. Action chunking арзан манипуляторды имитациялық policy-мен басқаруға мүлдем мүмкіндік беретін себеп, әрі ACT — DAgger раундын ең тез қайталауға болатын policy.

  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

    Алдын ала оқытылған vision-language моделі негізінде құрылған flow-matching VLA, әрі мұнда fine-tuning жасауға болатын checkpoint-тардың бірі; мақалада жаңа дағдылар тек базалық модельден емес, fine-tuning-тен келетіні нақты айтылған.

Адамдар шынымен қоятын сұрақтар

DAgger үшін leader arm керек пе?

Жоқ. Жүргізуді бастағанда пернетақта немесе slider кірісін таңдасаңыз, басқаруды алу бірінші кадрдан бастап қолмен болады және браузерден басқарылады. Leader arm нәзік қимылдар үшін ыңғайлырақ әрі манипулятор беру алдында өзін-өзі туралайтын жалғыз режим, бірақ цикл онсыз да жұмыс істейді.

Неше DAgger раунды керек?

Адал тұрақты сан жоқ. Интервенция үлесін бақылаңыз: егер ол бір раундтан екіншісіне түспесе, ол раунд ешқандай пайда әкелмеген, әрі мәселе әдетте раунд санында емес, тапсырманың орнатылуында, камераларда немесе бастапқы деректер жинағында болады.

Бұл нақты DAgger ма, әлде бос нұсқасы ма?

Бұл — HG-DAgger, адам бақылайтын нұсқа. Классикалық DAgger сарапшыдан policy таңдаған күйлер туралы сұрайды, оның ішінде ешбір ақылды оператор нақты манипуляторға жеткізбейтін күйлер де бар. Мұнда қашан араласу керегін адам шешеді, тек сол бөліктер ғана белгіге айналады.

Тек түзетулерде ғана оқытамын ба?

Жоқ, олай істемеу керек те. Тек түзетулерде оқыту тек қалпына келуді білетін policy береді. Құрастырылған деректер жинағы — бастапқы деректер плюс түзетулер, әр дереккөзден эпизодтар нақты таңдалады.

Checkpoint-тан жалғастыру оқыту жүргізуін қайта жалғастыра ма?

Ол салмақтарды сол checkpoint-тан инициализациялайды. Optimizer күйі қалпына келтірілмейді, сондықтан бұл қатаң мағынада жалғастыру емес. Іс жүзінде раунд бойы үйренген мінез-құлықты салмақтар алып жүреді, бірақ екеуінің қайсысын алатыныңызды білген жөн.

Интервенция үлесі қалай есептеледі?

Интервенция деп белгіленген кадрлар жүргізудің жалпы кадр санына бөлінеді. Ол takeover күй-жайында көрсетіледі, әрі бұл — раунд сайын басқарған checkpoint пен оқытылған қоспаның қасына жазып қоюға тұратын жалғыз сан.

Бұл циклді қандай policy-лармен жүргізуге болады?

ACT, SmolVLA, Pi0, сондай-ақ GR00T N1.5 немесе N1.7. Циклдің өзі policy-ге тәуелсіз, себебі ол тек деректер жинақтары мен checkpoint-тар шығарады; іс жүзіндегі айырмашылық — раундтың қанша уақыт алатыны және қандай GPU қажет ететіні.

Мұны өз роботым болмай-ақ істей аламын ба?

Марктплейстен деректер жинақтарын сатып алу немесе операторларға тапсырыс беру арқылы роботсыз да жазып алып, оқыта аласыз, ал нақты SO-100-ді live бетінде браузерден басқара аласыз. DAgger раунды басқаша: оған жүргізу барысында басқаруды алуға болатын манипулятор керек, сондықтан цикл үшін жабдық өз үстеліңізде тұруы тиіс.

Drive a real arm

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

Осы аптада алғашқы раундты жүргізіңіз

Клиентті орнатыңыз, қолыңызда бар checkpoint-ты басқарыңыз, манипулятор кубтан асып кеткенде алғаш рет басқаруды өзіңізге алыңыз. Осы бір жүргізудің өзі — DAgger раундының кішкентай көшірмесі: содан кейінгінің бәрі — қоспаны құрастыру және GPU сағаттарын төлеу.