Co to jest „powtórka z doświadczenia” i jakie są jej zalety?

19

Czytam gazetę Google DeepMind Atari i staram się zrozumieć pojęcie „powtórki z doświadczenia”. Powtórka z doświadczenia pojawia się w wielu innych dokumentach do nauki o wzmocnieniu (szczególnie w AlphaGo), więc chcę zrozumieć, jak to działa. Poniżej znajdują się niektóre fragmenty.

Po pierwsze, użyliśmy inspirowanego biologicznie mechanizmu zwanego odtwarzaniem doświadczeń, który losowo dobiera dane, usuwając w ten sposób korelacje w sekwencji obserwacji i wygładzając zmiany w rozkładzie danych.

Artykuł rozwija się w następujący sposób:

Chociaż istnieją inne stabilne metody szkolenia sieci neuronowych w ustawieniach uczenia wzmacniającego, takie jak dopasowana neuronowo Q-iteracja, metody te obejmują powtarzane szkolenie sieci de novo setek iteracji. W związku z tym metody te, w przeciwieństwie do naszego algorytmu, są zbyt mało wydajne, aby z powodzeniem stosować je w dużych sieciach neuronowych. Sparametryzujemy funkcję przybliżonej wartości Q(s,a;θi) za pomocą głębokiej splotowej sieci neuronowej pokazanej na ryc. 1, w którejθi są parametrami (to znaczy wagami) sieci Q w iteracjii . Aby wykonać powtórkę doświadczenia, przechowujemy doświadczenia agentaet=(st,at,rt,st+1) w każdym kroku czasowymt w zestawie danychDt={e1,,et} . Podczas nauki stosujemy aktualizacje Q-learning, na próbkach (lub mini-partiach) doświadczenia(s,a,r,s)U(D), losowane równomiernie losowo z puli przechowywanych próbek. Aktualizacja Q-learning w iteracji i wykorzystuje następującą funkcję utraty:

Li(θi)=E(s,a,r,s)U(D)[(r+γmaxaQ(s,a;θi)Q(s,a;θi))2]

Czym jest powtórka z doświadczenia i jakie są z tego korzyści dla laików?

Ryan Zotti
źródło

Odpowiedzi:

25

Kluczowa część cytowanego tekstu to:

Aby wykonać powtórkę doświadczenia, przechowujemy doświadczenia agenta et=(st,at,rt,st+1)

Oznacza to, że zamiast uruchamiać Q-learning na parach stan / akcja pojawiających się podczas symulacji lub rzeczywistego doświadczenia, system przechowuje odkryte dane dla [stan, akcja, nagroda, następny_ stan] - zwykle w dużej tabeli. Uwaga: nie przechowuje powiązanych wartości - są to nieprzetworzone dane, które później zostaną wykorzystane do obliczeń wartości akcji.

Faza uczenia się jest zatem logicznie oddzielona od zdobywania doświadczenia i oparta na pobieraniu losowych próbek z tej tabeli. Nadal chcesz przeplatać te dwa procesy - działanie i uczenie się - ponieważ poprawa polityki doprowadzi do różnych zachowań, które powinny zbadać działania bliższe optymalnym, i chcesz się z nich uczyć. Możesz jednak podzielić to według własnych upodobań - np. Zrobić jeden krok, uczyć się na podstawie trzech losowych wcześniejszych kroków itp. Cele Q-Learning podczas korzystania z powtórki doświadczenia używają tych samych celów co wersja online, więc nie ma na to nowej formuły. Podany wzór straty jest również tym, którego użyłbyś dla DQN bez powtórnego doświadczenia. Różnica polega tylko na tym, które s, a, r, s, a „karmisz”.

W DQN zespół DeepMind utrzymywał również dwie sieci i przełączał, która z nich się uczyła, a która zasilała bieżące szacunki wartości akcji jako „bootstrapy”. Pomogło to w utrzymaniu stabilności algorytmu przy użyciu aproksymatora funkcji nieliniowej. To właśnie oznacza pasek w - oznacza alternatywnązamrożonąwersję odważników.θi ¯

Zalety powtórzenia doświadczenia:

  • Bardziej wydajne korzystanie z wcześniejszych doświadczeń poprzez wielokrotne uczenie się z nimi. Jest to kluczowe, gdy zdobywanie rzeczywistego doświadczenia jest kosztowne, możesz w pełni z niego korzystać. Aktualizacje Q-learningu są przyrostowe i nie zbiegają się szybko, więc wiele przejść z tymi samymi danymi jest korzystne, szczególnie gdy występuje niewielka wariancja w natychmiastowych wynikach (nagroda, następny stan) przy tym samym stanie, parze akcji.

  • Lepsze zachowanie konwergencji podczas szkolenia aproksymatora funkcji. Częściowo dzieje się tak, ponieważ dane są bardziej podobne dzieje się danych identyfikacyjnych przyjętych w większości nadzorowanych dowodów konwergencji uczenia się.

Wada powtórki doświadczenia:

  • Trudniej jest stosować wieloetapowe algorytmy uczenia się, takie jak Q ( ), które można dostroić w celu uzyskania lepszych krzywych uczenia się poprzez zrównoważenie odchylenia (z powodu ładowania początkowego) i wariancji (z powodu opóźnień i losowości wyników długoterminowych) . Wieloetapowy DQN z powtórzeniem doświadczenia DQN jest jednym z rozszerzeń zbadanych w artykuleλ Rainbow: Łączenie ulepszeń w uczeniu się o głębokim wzmocnieniu .

Podejście zastosowane w DQN zostało krótko zarysowane przez Davida Silvera w części tego wykładu wideo (około 01:17:00, ale warto zobaczyć sekcje przed nim). Jeśli masz czas, polecam obejrzenie całej serii, która jest kursem dla absolwentów na temat nauki wzmacniającej.

Neil Slater
źródło
Powiedzmy, że podczas szkolenia jesteśmy w jednym stanie i podejmujemy działania zgodnie z zasadami chciwości epsilon, a ty kończysz w innym stanie. Dostajesz nagrody i następny stan. Tutaj nagrodą może być wynik gry, a stanami mogą być wzory pikseli na ekranie. A następnie bierzemy błąd między naszym aproksymatorem funkcji a wartością, którą otrzymaliśmy z chciwej polityki, ponownie używając już zamrożonego aproksymatora funkcji. Ale przy ponownym doświadczeniu podczas optymalizacji aproksymatora bierzemy zestaw danych akcji losowych. Czy mam rację ?
Shamane Siriwardhana
1
@ShamaneSiriwardhana: Tak, myślę, że masz rację. Są to dokładnie te same dane z prawdziwej trajektorii, ale zamiast uczyć się tylko z ostatniego kroku, zapisujesz je w dużej tabeli i próbka z tej tabeli (zwykle wiele próbek, ze sklepem z tysiącami poprzednich kroków do wyboru ). Jeśli potrzebujesz więcej wyjaśnień, może zadaj pytanie na stronie.
Neil Slater,
Tak, ponownie przejrzałem gazetę. Mówi także, że ta metoda może również poprawić uczenie się poza polityką. Ponieważ w Q uczenie się z działaniem zgodnie z zasadami epsilon-zachłannymi, ale aktualizacja wartości działa zgodnie z zachłannymi zasadami. Tak więc, gdy za każdym razem nasze parametry sieci neuronowej są aktualizowane przez statystyki mini-partii, co ważniejsze nie jest związane z dokładnymi statystykami kroku czasu, ale to, co wydarzyło się wcześniej, pomaga również nieskorelować danych.
Shamane Siriwardhana
@Neil Slater, przejrzałem artykuł Rainbow i nie widziałem żadnych specjalnych komentarzy na temat używania specjalnej sztuczki do łączenia powtórki z doświadczeniem i metody wieloetapowej. Słyszałem również, że metoda wieloetapowa jest pierwotnie niemożliwa do połączenia z odtwarzaniem doświadczenia, ale dlaczego nie po prostu losowo wybrać n-następujących po sobie doświadczeń zamiast 1 z powtórki doświadczenia, ale z powtórki, aby między poszczególnymi doświadczeniami nie znaleziono korelacji? Czy to nie powtórka z tego wieloetapowego doświadczenia?
StL
@NeilSlater Dlaczego „trudniej jest stosować wieloetapowe algorytmy uczenia się”? Co miałeś na myśli?
Gulzar