Human-gated DAgger, od początku do końca

Przejmij kontrolę, gdy policy się myli, i wytrenuj ją na tej korekcie.

Policy wytrenowana metodą behavior cloning zna tylko stany, które odwiedziły twoje demonstracje. DAgger zamyka tę lukę danymi ze stanów, do których dociera sama policy. AY-Robots prowadzi całą pętlę na SO-100: uruchom checkpoint, przejmij kontrolę w trakcie przebiegu, zachowaj poprawione epizody, złóż mieszankę i trenuj dalej od checkpointu z tego przebiegu.

  • HG-DAgger, human-gated
  • SO-100 / SO-101
  • ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
  • Wskaźnik interwencji na rundę

Dlaczego wytrenowana policy robi coś, czego nigdy nie zademonstrowano

Behavior cloning traktuje sterowanie jak zwykłe uczenie nadzorowane: na wejściu obserwacja, na wyjściu cel dla stawu, dopasowany do klatek nagranych przez człowieka. To działa tylko dopóki robot pozostaje w stanach, które ten człowiek odwiedził, a tak się nie dzieje. Chwytak, który zamyka się czterdzieści milisekund za wcześnie, przesuwa kostkę o dwa milimetry od zademonstrowanej pozycji. Kolejna obserwacja nie występuje w zbiorze treningowym, więc akcja w tym miejscu jest ekstrapolacją, a następny stan leży jeszcze dalej poza zbiorem. Rozkład treningowy i rozkład, który faktycznie generuje wytrenowana policy, to dwie różne rzeczy, a ten drugi oddala się od pierwszego w miarę trwania epizodu.

Ross, Gordon i Bagnell opisali dokładnie to niepowodzenie redukcji w 2011 roku i oszacowali szkodę: klasyfikator, który myli się z prawdopodobieństwem e pod rozkładem eksperta, może pod własnym, indukowanym przez siebie rozkładem popełnić w horyzoncie T kroków rzędu T do kwadratu razy e błędów, ponieważ jeden błąd tworzy obserwacje, jakich ekspert nigdy nie wygenerował, a błędy się kumulują. Ich rozwiązaniem jest algorytm, o którym mowa na tej stronie: uruchomić bieżącą policy, zebrać etykiety eksperta dla odwiedzanych przez nią stanów, dołączyć je do wszystkiego, co zebrano dotychczas, dotrenować, powtórzyć. Więcej demonstracji tego samego rodzaju nie pomaga, bo próbkują ten sam rozkład. Pomagają etykiety ze stanów, do których dociera policy. Zaimplementowany tu wariant jest human-gated (HG-DAgger, Kelly i in.): policy zachowuje kontrolę, dopóki człowiek nie uzna, że coś idzie źle, i nie przejmie sterowania, dzięki czemu korekty powstają tylko tam, gdzie są potrzebne, a ramię nigdy nie jest proszone o wjazd w stan, na jaki operator by nie pozwolił.

  • Behavior cloning jest ważny tylko na rozkładzie stanów, na którym został wytrenowany.
  • Błąd wzmacnia się sam: małe odchylenie tworzy nieznany stan, ten tworzy większe odchylenie.
  • Lekarstwem nie są kolejne demonstracje, lecz etykiety ze stanów, do których dociera sama policy.
  • Human-gated znaczy, że o interwencji decyduje operator, a nie jakiś wskaźnik autonomii.

Dlaczego błąd się kumuluje

Przesuń horyzont. Przy behavior cloning oczekiwany koszt dodatkowy rośnie w przybliżeniu z kwadratem liczby kroków, bo każdy błąd tworzy stany, których demonstracje nigdy nie objęły; pętla agregacji utrzymuje ten wzrost blisko liniowego (Ross i in., 2011).

200
1.0 %
Behavior cloning
400
DAgger
2.00
200×
Behavior cloning ÷ DAgger
0.000100200300400050100150200Oczekiwany koszt dodatkowy (granica)
Horyzont zadania (kroki)

Krzywe poglądowe wynikające z granic podanych w Ross i in. (2011), nie pomiary z twojego robota. Liczy się kształt krzywej, nie same liczby.

Jedna runda DAgger, sześć kroków

Tak pętla faktycznie działa na platformie, nie jest to schemat. Każdy krok poniżej odpowiada elementowi sterującemu w kokpicie.

Przejdź przez pętlę krok po kroku

Te same sześć kroków, po kolei, z tym, co dzieje się przy każdym z nich na ramieniu i w zbiorze danych.

01

Uruchom policy i nagraj przebieg

Uruchom przebieg inferencji na wytrenowanym checkpoincie. Przebieg jest nagrywany w czasie rzeczywistym, wraz z tekstem zadania samego przebiegu, dzięki czemu klatki nadają się potem jako dane treningowe, a nie tylko jako nagranie do oglądania.

1 z 6

Co platforma bierze na siebie

Każdy punkt to krok pętli, który w innym wypadku trzeba by zbudować i utrzymywać samodzielnie.

Przejęcie bez ramienia leader

Przy starcie przebiegu wybierz wejście z klawiatury lub suwaków, a do korekty wystarczy sam laptop. Impulsy z klawiatury są ograniczone po stronie serwera do dwóch stopni na staw i czterech na chwytaku; cele suwaków są bezwzględne, a serwer przesuwa się w ich stronę o maksymalnie sześć stopni na wywołanie. Ograniczenia egzekwuje serwer, nie interfejs, więc zacięty klawisz nie może rzucić ramieniem.

Dokumentacja teleoperacji

Interwencje oznaczone dla każdej klatki

Każda klatka nagrana w czasie, gdy trzymasz ramię, niesie flagę interwencji, a kolumna action zawiera pełną zadaną pozycję. Nie trzeba ręcznie prowadzić kolumny z flagą ani później dopasowywać jej do indeksów klatek.

Format zbioru danych LeRobot

Kwalifikacja: korekta, ewaluacja albo kosz

Każdy przebieg dostaje jedną decyzję na karcie zapisu. Przebiegi korekcyjne zasilają kolejną rundę treningową, przebiegi ewaluacyjne zostają poza treningiem i dzięki temu pozostają czystym pomiarem, a nieudane przebiegi znikają, zamiast po cichu zatruwać mieszankę.

Sesje i epizody

Złóż mieszankę jawnie

Zbiór treningowy dla rundy n składasz sam: oryginalny zbiór danych plus korekty, z epizodami wybranymi dla każdego źródła. Bez automatycznego domieszywania, bez ukrytych danych symulacyjnych, a złożony wynik zachowuje się jak każdy inny zbiór danych.

Zbiory danych

Kontynuacja od checkpointu

Trening kierujesz na checkpoint z ostatniego przebiegu zamiast na model bazowy, dzięki czemu każda runda zaczyna się tam, gdzie skończyła się poprzednia. Inicjalizowane są tylko wagi; stan optymalizatora nie jest przywracany, dlatego pierwszą rundę warto traktować jako test wykonalności.

Trening

GPU wynajmowane na rundę

ACT i SmolVLA na 4090, Pi0 oraz GR00T N1.5 lub N1.7 na A100 z 80 GB. Uruchamiasz rundę, pod się podnosi, checkpointy trafiają do twojego bucketu, a płacisz za godziny, które runda zajęła.

Ceny GPU

Zaplanuj swoje rundy

Wskaźnik interwencji to metryka postępu pętli: poprawione klatki podzielone przez wszystkie klatki przebiegu. Ustaw punkt startowy i to, ile daje każda runda, i zobacz, ile rund potrzeba, żeby dojść do celu.

30 %
25 %
3 000
RundaWskaźnik interwencjiPoprawione klatki
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

To model, nie prognoza. Prawdziwe rundy przebiegają nierówno, a runda, która nie zmienia wskaźnika, niczego nie dała; właśnie to warto obserwować.

Zbudować pętlę samemu czy prowadzić ją tutaj

Nic z tego nie jest niemożliwe do zrobienia ręcznie. Chodzi o to, ile wieczorów pochłania infrastruktura zamiast rund, i jest jeden wiersz, w którym praca własnymi rękami wyraźnie wygrywa.

Krok pętliZbudowane ręcznieNa AY-Robots
Przejęcie w trakcie przebieguRamię leader albo własny kod na magistrali serw. Przejęcie z klawiatury i suwaków, wraz z bezpiecznymi limitami, trzeba samemu napisać, a potem debugować na prawdziwym sprzęcie.Ramię leader, klawiatura albo suwaki, wybierane na starcie przebiegu. Ograniczenia kątów siedzą w serwerze.
Oznaczanie interwencjiKolumnę z flagą trzeba dodać samemu, utrzymywać jej zgodność z indeksem klatki i sprawdzać na nowo przy każdej zmianie formatu nagrywania.Każda klatka nagrana podczas przejęcia jest oznaczana automatycznie, z zadaną pozycją w kolumnie action.
Sortowanie przebiegówKonwencje katalogów i skrypty powłoki. Zamrożone klatki wokół przekazania sterowania trzeba samemu znaleźć i odfiltrować.Jedna decyzja na przebieg na karcie zapisu. Klatki przekazania zostają w katalogu raw.
Budowa mieszanego zbioru danychSkrypty scalające dla każdej wersji formatu. Żmudną częścią jest utrzymanie spójności indeksów epizodów, metadanych i odniesień do wideo.Złożenie z oryginału plus korekt z wyborem epizodów dla każdego źródła; wynik to zwykły zbiór danych.
Rozpoczęcie kolejnej rundy od ostatniej policyCheckpoint trzeba samemu podłączyć do trenera, można przy tym też przywrócić stan optymalizatora, jeśli zależy na prawdziwym wznowieniu.Jedno pole na checkpoint bazowy. Tylko wagi: inicjalizacja z checkpointu, nie jest to wznowienie optymalizatora.
Kontrola nad pętlą treningowąPełna. Własna funkcja straty, własny harmonogram, własne ablacje, własna instrumentacja, żadnej platformy pomiędzy. Jeśli pytaniem badawczym jest sama pętla treningowa, trzeba zbudować ją ręcznie.Ustalona ścieżka z zamkniętą listą policy i hiperparametrami udostępnionymi w formularzu, nie dowolny kod.

Prace, na których to się opiera

Przeczytaj je, zanim zaczniesz spierać się o pętlę. Każdy link prowadzi do strony ze streszczeniem, nie za 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)

    Oryginalna praca o DAgger: formułuje problem kumulującego się błędu, podaje granicę rzędu T do kwadratu dla czysto nadzorowanego podejścia i proponuje agregację danych ze stanów odwiedzanych przez samego uczącego się.

  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

    Wariant human-gated: ekspert sam decyduje, kiedy przejąć kontrolę, zamiast być pytanym o stany wybrane przez policy; to właśnie ten tryb wdraża ta platforma.

  3. EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning

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

    Inny sposób bramkowania interwencji: niezgodność w zespole modeli jako sygnał pewności co do tego, kiedy uczący się może działać sam. Przydatny kontrast wobec pozostawienia tej oceny człowiekowi.

  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

    Traktuje uwagę człowieka jako zasób deficytowy i prosi o pomoc tylko w nowych lub ryzykownych stanach; właściwe ujęcie, gdy jedna osoba nadzoruje ramię przez całe popołudnie.

  5. DART: Noise Injection for Robust Imitation Learning

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

    Uczciwa alternatywa: zamiast korygować policy na bieżąco, zaburzyć demonstracje tak, by ekspert pokazywał powrót do właściwego toru. Warto to znać, zanim zdecydujesz się na interwencje.

  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

    Mapa dziedziny: jakie formy ludzkiej informacji zwrotnej istnieją, przez jakie interfejsy są przekazywane i gdzie pośród nich sytuuje się interwencja w stylu DAgger.

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

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

    Praca o ACT. Action chunking to powód, dla którego tanim ramieniem w ogóle da się sterować za pomocą policy imitacyjnej, a ACT to policy, z którą najszybciej można przejść rundę DAgger.

  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

    VLA oparty na flow matching i wstępnie wytrenowanym modelu wizyjno-językowym, jeden z checkpointów dostępnych tu do fine-tuningu; praca wprost mówi, że nowe umiejętności biorą się z fine-tuningu, nie z samego modelu bazowego.

Pytania, które naprawdę padają

Czy do DAgger potrzebne jest ramię leader?

Nie. Przy starcie przebiegu wybierz wejście z klawiatury lub suwaków, a przejęcie jest ręczne od pierwszej klatki, sterowane z przeglądarki. Ramię leader jest przyjemniejsze przy precyzyjnych ruchach i to jedyny tryb, w którym ramię samo się dopasowuje przed przekazaniem sterowania, ale pętla działa też bez niego.

Ile rund DAgger jest potrzebnych?

Uczciwej stałej liczby nie ma. Liczy się wskaźnik interwencji: jeśli nie spada z rundy na rundę, ta runda niczego nie dała, a przyczyna leży zwykle w ustawieniu zadania, kamerach albo oryginalnym zbiorze danych, a nie w liczbie rund.

Czy to prawdziwy DAgger, czy coś luźniejszego?

To HG-DAgger, wariant human-gated. Klasyczny DAgger pyta eksperta o stany wybrane przez policy, w tym takie, do których żaden rozsądny operator nie pozwoliłby dojechać prawdziwemu ramieniu. Tutaj o interwencji decyduje człowiek, i tylko te odcinki stają się etykietami.

Czy trenuję tylko na korektach?

Nie, i nie powinno się tak robić. Trenowanie samych korekt daje policy, która umie tylko wracać na kurs. Złożony zbiór danych to oryginalne dane plus korekty, z jawnie wybranymi epizodami z każdego źródła.

Czy kontynuacja od checkpointu wznawia przebieg treningowy?

Inicjalizuje wagi z tego checkpointu. Stan optymalizatora nie jest przywracany, więc w ścisłym sensie nie jest to wznowienie. W praktyce to wagi przenoszą wyuczone zachowanie między rundami, ale warto wiedzieć, które z tych dwóch się dostaje.

Jak liczony jest wskaźnik interwencji?

Klatki oznaczone jako interwencja podzielone przez wszystkie klatki przebiegu. Widać go w statusie przejęcia i to jedna liczba warta zanotowania przy każdej rundzie, obok użytego checkpointu i wytrenowanej mieszanki.

Z jakimi policy da się prowadzić tę pętlę?

ACT, SmolVLA, Pi0 oraz GR00T N1.5 lub N1.7. Sama pętla jest niezależna od policy, bo produkuje tylko zbiory danych i checkpointy; praktyczna różnica dotyczy czasu trwania rundy i potrzebnego GPU.

Czy da się to robić bez własnego robota?

Nagrywać i trenować da się bez robota, kupując zbiory danych na marketplace albo zlecając pracę operatorom, a prawdziwym SO-100 można sterować w przeglądarce na stronie live. Runda DAgger to co innego: potrzebuje ramienia, które można przejąć w trakcie przebiegu, więc do samej pętli potrzebny jest sprzęt na własnym biurku.

Drive a real arm

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

Przeprowadź pierwszą rundę w tym tygodniu

Zainstaluj klienta, uruchom checkpoint, który już masz, i przejmij kontrolę, gdy ramię pierwszy raz sięgnie za kostkę. Ten jeden przebieg to DAgger w miniaturze: wszystko potem to już tylko składanie mieszanki i płacenie za godziny GPU.