DAgger
Jak działa
Krok po kroku: (1) Inicjalizacja — zbierz demonstracje eksperta i wytrenuj początkową politykę (pierwsza iteracja z β1=1 odpowiada zwykłemu behavior cloning). (2) Wykonanie polityki mieszanej — w iteracji i działaj polityką πi = βi·π* + (1−βi)·π̂i, mieszającą eksperta π* z wyuczoną polityką π̂i; współczynnik βi maleje z iteracjami (np. βi = p^(i−1)), aż uczeń działa samodzielnie. (3) Etykietowanie — dla stanów odwiedzonych przez πi odpytaj eksperta o poprawne akcje π*(s). (4) Agregacja — dołącz nowe pary (s, π*(s)) do zbiorczego zbioru D = D ∪ Di. (5) Retrenowanie — wytrenuj nową politykę π̂i+1 na całym D metodą uczenia nadzorowanego. (6) Powtarzaj przez N iteracji i wybierz najlepszą politykę (np. wg walidacji). Sformułowanie no-regret gwarantuje, że dobra polityka istnieje w sekwencji, a błąd rośnie liniowo względem horyzontu T.
Rozwiązany problem
Klasyczne behavior cloning cierpi na przesunięcie rozkładu (distribution shift): model uczony na stanach eksperta nie zna stanów, w które trafia po własnych błędach, przez co błędy kumulują się kwadratowo względem horyzontu zadania. DAgger usuwa tę lukę, ucząc politykę na stanach, które sama odwiedza.
Komponenty
Polityka referencyjna (człowiek, kontroler MPC, planer) odpytywana o π*(s) w stanach napotkanych przez politykę mieszaną. Jej dostępność do etykietowania nowych stanów jest kluczowym wymogiem DAgger.
Oficjalna
Kombinacja eksperta i wyuczonej polityki sterowana współczynnikiem βi, malejącym od 1 (czysty ekspert, behavior cloning) do 0 (uczeń w pełni autonomiczny), co stopniowo przesuwa rozkład zbieranych stanów ku stanom ucznia.
Rosnący zbiór wszystkich dotychczas zebranych par (s, π*(s)). Trenowanie na całości D (nie tylko na najnowszej partii) stabilizuje uczenie i jest źródłem nazwy „Dataset Aggregation".
Dowolny nadzorowany klasyfikator/regresor (sieć neuronowa, las, SVM) uczący odwzorowania stan→akcja na D. DAgger traktuje go jako no-regret online learner, co daje gwarancje teoretyczne.
Oficjalna
Implementacja
DAgger wymaga eksperta zdolnego etykietować DOWOLNE stany odwiedzone przez ucznia, także te błędne. Dla człowieka-eksperta jest to kosztowne i czasem niewykonalne (etykietowanie poza kontekstem trajektorii).
Zbyt szybkie wygaszanie β wypycha ucznia w niebezpieczne stany zanim jest gotowy; zbyt wolne sprawia, że dane wciąż pochodzą z rozkładu eksperta i utrzymuje się distribution shift.
Ponieważ zbiór D rośnie z każdą iteracją, koszt retrenowania od zera na całości D rośnie liniowo z liczbą iteracji.
Ewolucja
Ross, Gordon i Bagnell publikują preprint (arXiv:1011.0686) wprowadzający DAgger i redukcję imitation learning do online learning.
Praca ukazuje się na 14. AISTATS; DAgger staje się standardowym algorytmem interaktywnego uczenia przez naśladowanie z gwarancją liniowego (a nie kwadratowego) narostu błędu.
Powstają rozszerzenia ograniczające liczbę zapytań do eksperta i poprawiające bezpieczeństwo podczas zbierania danych (np. SafeDAgger, później HG-DAgger).
Hiperparametry (konfigurowalne osie)
Sposób wygaszania współczynnika mieszania βi (np. βi = p^(i−1)). β1=1 daje behavior cloning; szybkie wygaszanie przyspiesza przejście do stanów ucznia, wolne — stabilizuje wczesne iteracje.
Liczba rund zbierania danych i retrenowania. Więcej iteracji lepiej pokrywa rozkład stanów ucznia kosztem większej liczby zapytań do eksperta.
Model nadzorowany uczący odwzorowania stan→akcja. Gwarancje DAgger zakładają, że jest to uczeń typu no-regret.
Równoległość
DAgger jest z natury sekwencyjny: każda iteracja wymaga polityki z iteracji poprzedniej do zebrania nowych stanów, więc iteracji nie da się zrównoleglić. Zrównoleglić można jedynie zbieranie trajektorii i trening w obrębie jednej iteracji.
Wymagania sprzętowe
DAgger to algorytm meta-poziomu (pętla zbierania danych i retrenowania) niezależny od sprzętu; wymagania obliczeniowe zależą od wybranego klasyfikatora bazowego, a nie od samego DAgger.