Tani robotyczny ramię SO-100 na biurku, przygotowany do teleopercji i trenowania polityki
DAggerSO-100Imitation LearningVLATeleopercja

Uruchomienie pętli DAgger na SO-100 z polityką VLA

AY-Robots ResearchAugust 27, 202615 min czytania

Krok po kroku relacja jednej rundy DAgger gated przez człowieka na ramieniu SO-100: uruchomienie polityki i jej nagranie, przejęcie kontroli kiedy coś pójdzie nie tak, zapisanie rundy jako korekty, komponowanie mieszanego zestawu danych i kontynuacja trenowania z checkpointu. Zawiera ścieżkę przejęcia przez klawiaturę i suwaki dla osób bez ramienia lidera oraz cztery błędy, które czynią rundę bezwartościową.

Twoja polityka działa. Sięga po kostkę, zamyka chwytak o centymeter zbyt wcześnie i idzie dalej, jakby ją miała. Nic się nie psuje i żadna ilość patrzenia na stratę treningową tego nie wyjaśni. Rozwiązanie to nie kolejne 20 000 kroków gradientu na tych samych demonstracjach. To postawienie dłoni z powrotem na ramieniu dokładnie tam, gdzie coś poszło nie tak, nagranie tego, co zrobiłeś zamiast tego, i trenowanie następnego checkpointu na starych danych plus tę korektę. To runda DAgger, a oto jak się ją uruchamia na SO-100 z polityką vision-language-action.

Teoria jest gdzie indziej: dlaczego agregacja zestawu danych w ogóle działa i co zmienia gating przez człowieka. To jest podręcznik operacyjny i zakłada wytrenowany checkpoint, działający zestaw kamer i ramię, które się porusza. Sześć kroków poniżej to pętla tak, jak jest zaimplementowana na stronie DAgger tej platformy, ale sekwencja jest taka sama z twoimi własnymi skryptami.

Jedna runda w skrócie

  • Uruchom wytrenowaną politykę i nagrywaj ją, z tekstem zadania rundy zamiast generycznej etykiety teleopercji.
  • Przejdź kontrolę w momencie, kiedy zachowanie pójdzie nie tak: lustrzane przekazanie z ramieniem lidera, natychmiast i ręcznie przez klawiaturę lub suwaki bez niego.
  • Triage każdą rundę: zapisz ją jako korektę, zachowaj jako epizod ewaluacji lub odrzuć.
  • Komponuj mieszankę ręcznie - oryginalne demonstracje plus korekty, epizody wybrane na źródło. Nigdy nie trenujesz tylko na korektach.
  • Kontynuuj trenowanie z ostatniego checkpointu i zanotuj, który checkpoint utworzył którą mieszankę.
  • Liczba, która mówi czy runda była warta czegoś to intervention rate, nie strata treningowa.

Dlaczego druga runda to nie tylko więcej danych

Behavior cloning trenuje na stanach, które odwiedził człowiek. W czasie testowania polityka odwiedza stany, które powoduje, a małe błędy akcji potęgują się w stany, których żadna demonstracja nie pokryła. Ross, Gordon i Bagnell sformalizowali tę porażkę dla AISTATS 2011 i odpowiedzieli na nią iteracyjnym algorytmem, który trenuje stacjonarną deterministyczną politykę i w ich redukcji musi działać dobrze pod rozkładem stanu, który indukuje: uruchom aktualną politykę, niech ekspert etykietuje stany, które faktycznie osiągnęła, dodaj je do zestawu danych, retrenuj, powtórz. Kelly i in. uczynili zapytanie praktyczne z HG-DAgger, gdzie człowiek decyduje kiedy przejąć kontrolę zamiast etykietować stany bez trzymania kontroli; raportują poprawiającą wydajność zarówno wobec DAgger jak i behavior cloning na symulowanym i prawdziwym zadaniu autonomicznego prowadzenia. Gating przez człowieka to to, co czyni pętlę tolerowaną na ramieniu na biurku - poruszasz dłonie tylko kiedy coś poszło nie tak.

Dwie konsekwencje liczą się bardziej w praktyce niż teoria. Korekty to nie zwykłe demonstracje: koncentrują się w regionach wąskich gardła, które Mandlekar i in. opisują, gdzie małe odchylenie zrzuca politykę w stany, których demonstracje nigdy nie pokryły. A zestaw danych wykonany tylko z tych trudnych części to źle ukształtowany zestaw danych - Belkhale, Cui i Sadigh argumentują od strony danych, że różnorodność stanów nie zawsze jest korzystna, a dywergencja akcji i różnorodność przejść razem decydują o jakości zestawu danych. Mieszany zestaw danych to nie kompromis, to jest sens.

Zamroź te przed rundą jeden

Runda DAgger porównuje politykę przeciwko sobie w czasie. Cokolwiek zmieniasz między rundami, co nie jest zestawem danych, czyni to porównanie bezwartościowym.

  • Pozycje i mocowania kamer, wliczając kamerę na nadgarstku. Poluzuj jeden zacisk i zmieniłeś rozkład obserwacji, nie politykę.
  • Ekspozycję i balans bieli, jeśli twój stos przechwytywania pozwala ci je ustabilizować. Drift auto-ekspozycji między rundami to powolna, niewidoczna zmiana dziedziny.
  • Kalibracja ramienia i pozycje zerowe serw. Jeśli musisz rekalibrować, traktuj wszystko nagrane przed tym jako oddzielny zestaw danych.
  • Tekst zadania. Każda VLA tutaj jest warunkowa od niego; przepisanie go w środku pętli to inne zadanie.
  • Oświetlenie, powierzchnia stołu, zestaw obiektów. Nowy obiekt to nowy eksperyment, nie następna runda.
  • Częstość klatek nagrywania. Porównywanie intervention rate między dwiema siatkami próbkowania daje różnice pochodzące z siatki.
Kamera na nadgarstku to nie fakultatywny mebel

Hsu i in. porównali widok skoncentrowany na ręce do zwykłego widoku z trzeciej osoby i znaleźli perspektywę oko-w-ręku konsekwentnie poprawiającą efektywność trenowania i generalizację poza rozkład, pomimo zobaczenia mniej sceny. Na ramieniu pięciozłączowym, timing chwytu to zwykle to, co poprawiają twoje korekty, a timing chwytu to to, co niesie widok na nadgarstku.

Runda, od końca do końca

  1. 1
    Uruchom wnioskowanie i nagraj

    Zacznij rundę przeciwko checkpointowi, który chcesz poprawić, następnie zacznij nagrywanie do katalogu głównego wnioskowania. Nagrane w ten sposób dziedziczy tekst zadania rundy, którym polityka była trenowana, zamiast domyślnej etykiety teleopercji. Bez nagrywania możesz obserwować porażkę ale nie można trenować na niej.

    bash
    # two calls, not one: the run, then its recording
    POST /inference/start      # model_id, and hf_repo_id = the checkpoint to drive
    POST /recording/start      # root=inference
    # root=inference also makes the recording inherit the run's task text
  2. 2
    Przejdź kontrolę kiedy pójdzie nie tak

    Naciśnij Przejęcie i wybierz tryb wejścia: ramię lidera, klawiatura lub suwaki. Runner wstrzymuje, ty korygujesz, oddajesz. Klatki nagrane podczas gdy jechałeś są oznaczone jako interwencje automatycznie.

    bash
    POST /inference/takeover/start   # input = leader | keyboard | sliders
    POST /inference/takeover/nudge   # keyboard, relative delta per call
    POST /inference/takeover/set     # sliders, absolute target
    POST /inference/takeover/stop    # back to the policy
  3. 3
    Triage epizodów

    Zdecyduj na epizod: zapisz jako korektę, zachowaj jako ewaluację lub odrzuć. Runda, którą polityka ukończyła bez pomocy to dane ewaluacji.

  4. 4
    Synchronizuj zestaw danych korekty

    Korekty gromadzą się w lokalnym zestawie danych na politykę i trafiają do magazynu w chmurze przez automatyczną synchronizację. Nic nie jest mieszane, czego tam nie włożyłeś.

  5. 5
    Komponuj mieszany zestaw danych

    Połącz oryginalny zestaw danych z zestawem danych korekty, wybierając epizody jawnie na źródło. Rezultat to zwykły zestaw danych od tego punktu.

    bash
    POST /training/datasets/compose
      sources  = [ original_dataset, korrekturen_<policy> ]
      episodes = explicit selection per source
  6. 6
    Kontynuuj trenowanie z checkpointu

    Trenujesz mieszankę z poprzedniego checkpointu zamiast modelu bazowego. Zanotuj który checkpoint i którą mieszankę; bez tej pary runda nie jest reproducyjna.

    bash
    # field on the training job
    base_checkpoint = s3://ay-robots/checkpoints/<run>/<checkpoint>
    # the platform passes it to the training pod as BASE_CKPT_S3

Krok 2 szczegółowo: dwa sposoby na przejęcie

Z ramieniem lidera

W trybie leader-follower przejęcie to przekazanie między dwoma ramionami, które nie są w tej samej pozycji. Naciśnięcie Przejęcia wstrzymuje runner i kieruje lidera na aktualną pozycję followera, więc nic się nie skacze kiedy moment transferu. Jeśli ta jednostawiająca droga przekroczy czas, wyrównujesz lidera ręcznie i uwalniasz dopiero kiedy obydwa są w obrębie pięciu stopni. Od tego momentu teleopercja zwykle i kolumna akcji rejestruje to, co nakazałeś.

Bądź uczciwy na tej ścieżce: droga wyrównująca i moment przekazania to najmniej testowana część pętli na rzeczywistym sprzęcie. Testuj handover na powolnej, nieszkodliwej pozycji zanim polegasz na nim w rundzie, na której ci zależy. Ramię lidera daje najgładsze korekty z trzech trybów i ma też najwięcej, co może pójść nie tak mechanicznie.

Bez ramienia lidera: klawiatura i suwaki

Większość ludzi czytających to ma jedno ramię. To wystarczy. Wybierz klawiaturę lub wejście suwaka w momencie, kiedy naciskasz Przejęcie, a przejęcie jest natychmiaste i ręczne - nie ma drugiego ramienia do wyrównania, więc nie ma kroku wyrównania. Follower utrzymuje swoją pozycję i czeka na wejście.

Tryb wejściaJak ramię się poruszaLimit per-call wymuszany przez serwerZablokowany kiedy
Ramię lideraLustro kieruje followera z kątów przegubu lideraBrak nudge lub set calls w tym trybie; lustro pisze cele followera staleNigdy nie zablokowany i domyślny jeśli nie podano trybu wejścia - ale potrzebuje drugiego ramienia; bez id lidera przejęcie jest odrzucone
KlawiaturaRelatywny nudge na wciśnięcie klawisza, wysyłany do takeover nudge endpointTwarde zaciśnięcie na 2 stopnie na przegub, 4 stopnie dla chwytuOdrzucony z 409 jeśli przejęcie zostało rozpoczęte w trybie lidera
SuwakiBezwzględna pozycja docelowa, wysyłana do takeover set endpointCo najwyżej 6 stopni ruchu w stronę celu na call; interfejs wysyła około dziesięć razy na sekundęOdrzucony z 409 jeśli przejęcie zostało rozpoczęte w trybie lidera

Zaciśnięcia są wymuszane po stronie serwera, nie w interfejsie, bo wpisana źle delta na ramieniu z serami szynowymi to kolizja. Korekty klawiaturą wychodzą schodkami i trochę szorstko; korekty suwaka są gładsze, bo serwer idzie w stronę celu podczas gdy interfejs ciągle przesyła. W każdym razie kolumna akcji otrzymuje pełny wektor pozycji nakazanej i oznaczenie interwencji jest identyczne z ścieżką lidera, więc korekty klawiaturą lądują w tym samym zestawie danych bez różnicy formatu.

text
Q / A   joint 1      R / F   joint 4
W / S   joint 2      T / G   joint 5
E / D   joint 3      Z / X   gripper
Ten sam układ klawiszy co wszędzie indziej w stosie, więc pamięć mięśniowa z nagrywania się przenosi.
Przewodnik trenowania pokazujący uporządkowane kroki rundy fine-tuningu GR00T na zestawie danych SO-100
Strona treningowa rundy to ta sama sekwencja oprowadzana co pierwszy run; tylko pole checkpoint różni.

Kiedy naciskać przycisk

Wcześniej niż później. Korekta, która zaczyna się po zamknięciu chwytu na nic uczy odzyskiwania z porażki, którą polityka nie powinna była wchodzić, a dane odzyskiwania są warte daleko mniej niż dane unikania. Przerwij w pierwszym momencie, kiedy jesteś pewny że trajektoria jest zła, koryguj przez trudną część, oddaj jak tylko stan to taki, który polityka obsługiwała wcześniej. ThriftyDAgger automatyzuje tę decyzję przez gating interwencji na nowości i szacowanym ryzyku pod stałym budżetem człowieka, ale na pojedynczym ramieniu z człowiekiem już patrzącym, brama człowieka jest tańsza i lepiej skalibrowana niż cokolwiek co będziesz dostrajać.

Możliwe z stosem open-source i kilką skryptami. Co ono kosztuje to księgowość, a księgowość to gdzie rundy DAgger umierają.

  1. Napisz klatki z twojego własnego skryptu wnioskowania do zestawu danych LeRobot, z ciągiem zadania którym polityka była trenowana.
  2. Wstrzymaj pętlę polityki, przełącz źródło komendy i oznacz każdą klatkę, którą jedzisz jako interwencję. Bez znaku, korekty wyglądają jak zwykłe demonstracje.
  3. Zdecyduj celowo co się dzieje z klatkami przejścia między polityką uwolniającą kontrolę a twoją pierwszą komendą.
  4. Trzymaj korekty w ich własnym zestawie danych na politykę i śledź indeksy epizodów ręcznie aby mieszanka mogła być zrekonstruowana.
  5. Skieruj punkt wejścia fine-tuningu na poprzedni checkpoint i sprawdź w logu że załadował te wagi.

Krok 3 szczegółowo: triage decyduje o jakości

Po rundzie masz nagranie z niektórymi klatkami oznaczonymi jako interwencje. Trzy miejsca docelowe istnieją i złe cicho zatruwają następną rundę.

  • Zapisz jako korektę kiedy interwencja była autentycznym poprawieniem: polityka szła gdzieś źle i twoje wejście pokazało właściwą rzecz ze stanu który polityka sama utworzyła.
  • Zachowaj jako ewaluację dla czystych autonomicznych urn i dla run, które przejąłeś z ostrożności. Epizody ewaluacji to jak mierzysz następny checkpoint i nigdy nie mogą być trenowane.
  • Odrzuć rundy zniszczone przez coś niezwiązanego - upuszczoną klatkę kamery, wstrzymanego servo, przedmiot który przewróciłeś. Brudna korekta jest gorsza niż brak korekty.
Klatki zamarznięte należą do surowego nagrania, nie do danych treningowych

Między polityką uwolniającą kontrolę a twoją pierwszą komendą, ramię stoi nieruchomo podczas gdy nagrywarka ciągle pisze - runda identycznych pozycji sparowanych ze słabo różnymi obrazami. Tutaj te klatki handoveru pozostają w surowym nagraniu i poza zestawem danych korekty. Jeśli budujesz pętlę sam, wytnij je celowo: polityka trenowana na nich uczy się wstrzymywać gdzie powinna działać.

Krok 5 szczegółowo: komponowanie mieszanki

Komponowanie bierze oryginalny zestaw danych plus zestaw danych korekty i produkuje nowy, zwykły Zestaw danych LeRobot który trenuje jak każdy inny. Ważna właściwość to że wybór epizodu jest jawny na źródło - nic nie jest mieszane automatycznie. To brzmi mało ważnie dopóki pierwszego razu kiedy polityka zachowuje się dziwnie i musisz zrekonstruować na czym była trenowana.

Otwarte pytanie to stosunek i nikt nie ma numeru który się przenosi. Co literatura się zgadza to że korekty powinny liczyć się bardziej niż ich udział w klatkach. Mandlekar i in. retrenują iteracyjnie na danych których ich system interwencji gromadzi, więc polityka uczy się przechodzić przez wąskie gardła i raportują że agenci trenowani tym sposobem przewyższają agentów trenowanych na równoważnej liczbie próbek od nie-interwencyjnych demonstrantów. Sirius idzie dalej i ponownie waży próbki treningowe przez przybliżone zaufanie człowieka, raportując 8 procent zysku w symulacji i 27 procent na rzeczywistym sprzęcie w wskaźniku powodzenia polityki wobec metod, które porównuje, przy dwukrotnej prędkości konwergencji. Żaden z punktów wejścia trenowania tutaj nie ujawnia pokrętła ważenia próbki, więc surowy substytut to trzymanie każdego epizodu korekty podczas gdy subsampling oryginalnych demonstracji - i pisanie co zrobiłeś.

Widok nagrywania zestawu danych pokazujący epizody zestawu danych SO-100 ze strumieniami kamer
Epizody korekcji to zwykłe epizody ze flagą interwencji per-frame, więc komponują się z oryginalnym zestawem danych bez konwersji.

Krok 6 szczegółowo: co kontynuowanie z checkpointu naprawdę oznacza

Trenowanie mieszanki z modelu bazowego działa ale wyrzuca poprzednią rundę i kosztuje pełny run. Kontynuowanie z poprzedniego checkpointu jest szybsze i zwykle lepsze. To jest też bardziej ograniczone niż fraza sugeruje.

Inicjalizacja wag to nie wznowienie optymalizatora

Checkpoint zawierający tylko wagi zawiera parametry i nic więcej. Załadowanie go daje następnemu runowi lepszy punkt początkowy niż model bazowy, ale momenty optymalizatora, pozycja harmonogramu współczynnika nauki i kolejność danych wszystko zaczyna od zera. Oczekuj wzrost straty na początku kontynuowanego runu, nie czytaj to jako porażkę i nie wywołuj rundy wznowieniem. To ciepły start.

PolitykaRozmiarTier GPUWnioskowanie per action stepFormat zestawu danychEpizody zanim będzie warte spróbowania
GR00T N1.7około 3 B, mniej więcej 40 M trenowany podczas fine-tuninguA100 80 GB lub H100 80 GBokoło 152 msLeRobot v2.0 lub v2.150
GR00T N1.5około 3 BA100 80 GB lub H100 80 GBokoło 165 msLeRobot v2.0 lub v2.150
Pi0.5około 3 B na grzbiecie PaliGemmaA100 80 GB lub H100 80 GBokoło 485 msLeRobot v3.050
SmolVLAokoło 450 MRTX 4090 lub dowolna karta 24 GBokoło 245 msLeRobot v3.030
ACTokoło 80 M, trenowany od zeraRTX 4090 lub dowolna karta 24 GBokoło 20 msLeRobot v3.050

Opóźnienie składa się wewnątrz pętli DAgger w sposób w jaki nie robi podczas demo: przy mniej więcej 485 ms per action step przejmujesz bo ramię się zawahało, nie bo było źle, a dane korekty wahania nie są użyteczne. Jeśli iterujesz na danych zamiast gonić ostateczny wskaźnik powodzenia, iteruj na szybkim modelu. Shukor i in. opisują SmolVLA jako zaprojektowany do trenowania na jednym GPU i wdrażania na konsumenckich GPU lub CPU, z asynchronicznym stosem wnioskowania, który oddziela predykcję akcji od wykonania, aby pozwolić na wyższe szybkości sterowania - właściwość, która utrzymuje pętlę przejęcia responsywną.

Formaty zestawów danych nie są wymienne. GR00T bierze LeRobot v2.0 lub v2.1 i repozytorium Isaac-GR00T opisuje swoje wejście jako odmianę formatu LeRobot v2 z dodanym plikiem opisu modalności; nowsze trenerzy tutaj oczekują v3.0. Mieszanka skomponowana w złej wersji upadnie w czasie ładowania zamiast produkowania złej polityki - lepszy tryb porażki, wciąż zmarnowany slot kolejki. Dokumentacja zestawu danych wymienia jaki format każdy trener bierze.

Pętla, ze księgowością już wykonaną

Przejęcie z ramieniem lidera, klawiaturą lub suwakami; oznaczenie interwencji per-frame; zapis run jako korekty lub ewaluacje; komponowanie mieszanego zestawu danych z jawnym wyborem epizodu na źródło; i kontynuacja trenowania z checkpointu zamiast modelu bazowego. Co pozostaje twoją decyzją to która runda liczy się jako korekta, co wchodzi do mieszanki i kiedy intervention rate przestał spadać.

Zobacz jak pętla DAgger jest podłączona

Cztery sposoby na zmarnowanie rundy

1. Trenowanie tylko na korektach

Najczęstsza porażka i najbardziej kusząca skróta. Zestaw danych tylko korekty to prawie całkowicie trudna środkowa część zadania, z podejściem i wycofaniem brakującymi; polityka lepiej radzić sobie z trudną częścią i zapomina jak tam dojść. Agregacja to nie szczegół implementacji metody, to jest mechanizm: stare dane to to co trzyma resztę zachowania na miejscu podczas gdy korekty poruszają jedną część.

2. Poruszanie kamery między rundami

Kamera, która przesunęła się dwa centymetry między rundami daje politykę gorszą niż ta z którą zaczynałeś i diagnozę która kosztuje dzień. Każda VLA tutaj warunkowuje od obrazów; samo połączenie przegubu nie rozróżnia gdzie jest obiekt. Sfotografuj ustawienie przed pierwszą rundą i sprawdź tę fotografię przed każdą późniejszą.

3. Pozwalanie artefaktów handoveru w dane treningowe

Omówione powyżej i na liście bo to jest niewidoczne. Symptom to polityka, która zatrzymuje się na ułamek sekundy dokładnie tam, gdzie operator poprzedniej rundy przejął. Wygląda jak zahamowanie; to naśladownictwo.

4. Wywołanie ciepłego startu wznowieniem

Jeśli wierzysz że stan optymalizatora się przeniosł, początkowy wzrost straty czyta się jako błąd i idziesz szukać uszkodzonych danych. Jeśli wiesz że optymalizator zaczął od nowa, wzrost jest oczekiwany i patrzysz co potem. Te same liczby, odwrotne wnioski.

Mierzenie rundy

Metryka dla pętli gated przez człowieka to intervention rate: klatki nagrane podczas gdy byłeś w kontroli, podzielone przez całkowitą liczbę klatek rundy. To w stanie przejęcia i to jedyna liczba, która odpowiada pytaniu które runda zadała. Strata treningowa spada czy czy nie polityka się poprawiła; wskaźnik powodzenia to binarny i hałaśliwy przy rozmiarach próbek które ramię na biurku produkuje. Intervention rate jest ciągły, mierzony na stanach polityka sama doprowadziła i spada gdy polityka cię mniej potrzebuje.

Porównuj to tylko między run nagrywanymi w warunkach identycznych. Pełny argument i jak budować zestaw ewaluacyjny, który przetrwa więcej niż dwie rundy to w artykule o mierzeniu pętli DAgger. Runda jeden to realistycznie test przeprowadzalności: sprawdzasz że przejęcie działa na twoim sprzęcie, że korekty lądują z flagami i że kontynuowany run załadował checkpoint który naznaczyłeś. Rundy dwa i trzy to gdzie stawka powinna zacząć się poruszać. Jeśli się nie poruszyła do rundy cztery, problem jest wzniesiony z DAgger.

Zapisz na rundęDlaczego to później ma znaczenie
Checkpoint, który był kierowanyBez tego nie możesz przypisać poprawy do mieszanki
Tryb wejścia użyty do przejęciaKorekty klawiaturą są szorstsze niż korekty lidera i to pokazuje w danych
Liczba run i jak każda była triageCzy runda miała wystarczająco korekty aby miało znaczenie
Intervention rate na runę i średniąMetryka postępu pętli
Dokładny wybór epizodu na źródłoJedyny sposób na zrekonstruowanie lub cofnięcie rundy
Ciepły start lub świeże trenowanieWyjaśnia krzywą straty, którą będziesz patrzył w tydzień

Jeśli jeszcze nie masz checkpointu

Pętla nie ma punktu wejścia bez niego. Nagrywaj pierwszy zestaw danych, trenuj pierwszą politykę, uruchom ją - nagrywanie, trening i uruchomianie polityki pokrywają tę ścieżkę. Klient nagrywania jest na stronie pobierania, tier GPU i stawki godzinowe na stronie cennikowej i jak użyteczny epizod wygląda w Przewodniku zbierania danych SO-100. Zrób demonstracje dobrze zanim korekty: DAgger to mechanizm naprawy i działa daleko lepiej na czymś co było prawie dobrze już.

Czy mogę uruchomić pętlę DAgger bez ramienia lidera?

Tak. Wybierz wejście klawiaturą lub suwaka kiedy naciskasz Przejęcie: przejęcie jest natychmiaste i ręczne, bez drugiego ramienia do wyrównania. Klawiatura wysyła względne nudge które serwer zaciśka twardo na 2 stopnie na przegub i 4 dla chwytu; suwaki wysyłają bezwzględny cel i serwer idzie co najwyżej 6 stopni w stronę niego na call, podczas gdy interfejs ciągle przesyła. Kolumna akcji i oznaczenie interwencji są takie same jak w trybie lidera, więc korekty są nieodróżnialne w zestawie danych.

Ile korekty potrzebuje jedna runda?

Nie ma obronnnej liczby uniwersalnej i liczba klatek ma większe znaczenie niż liczba epizodów. Pracująca reguła to że korekty nie mogą być zgubione w mieszance: z 200 oryginalnymi epizodami i trzema epizodami korekty, nic się nie poruszy. Dążyć do korekty, które pokrywają niepowodzenie zachowania z kilku początkowych konfiguracji zamiast trzy powtórzenia tej samej ratowniczej.

Dlaczego trenowanie tylko na korektach to taki zły pomysł?

Bo korekty to prawie całkowicie trudna środkowa część zadania. Podejście, wyrównanie i wycofanie brakuje, więc polityka traci to co już robiła dobrze podczas gdy ulepsza część którą poprawiłeś. Trzymanie starych danych i dodawanie do nich to mechanizm sam, nie opcjonalny dodatek.

Czy kontynuowanie z checkpointu wznawia poprzedni run treningowy?

Nie. Checkpoint zawierający tylko wagi przywraca parametry i nic więcej: momenty optymalizatora, pozycja harmonogramu współczynnika nauki i kolejność danych zaczynają od nowa. To ciepły start i początkowy wzrost straty jest oczekiwany zamiast symptom. Zapisz który z dwóch faktycznie zrobiłeś, aby przeczytać krzywą poprawnie tydzień później.

Co jeśli intervention rate nie spada?

Przystań dodawanie rund. Płaska stawka oznacza że korekty nie nauczają czego myślisz. Zwykłe przyczyny to wzniesione: kamera się poruszyła, korekty zaczynają się zbyt późno aby być danymi unikania, klatki handoveru są w zestawie danych treningowych lub zadanie jest niedookreślone z obserwacji których polityka faktycznie otrzymuje.

Żaden z tego nie jest rozwiązanym problemem i żaden z tego nie jest jednym klikiem. Interactive imitation learning jest aktywnym obszarem badawczym dokładnie dlatego że jego pytania - kiedy interweniować, jak ważyć to co zrobił człowiek, ile starych danych trzymać - nie mają uregulowanych odpowiedzi; badanie przez Celemin i in. mapuje co jest jeszcze otwarte. Co pętla ma to mierzalne konwergencję kiedy działa starannie na sprzęcie, który kosztuje kilkaset euro. Zamroź ustawienie, interweniuj wcześnie, triage uczciwie, komponuj celowo i zapisz intervention rate za każdym razem.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started