O ile mi wiadomo, nadal dość otwartym problemem jest uzyskanie naprawdę jasnego, formalnego zrozumienia dokładnie, dlaczego / kiedy pojawia się brak konwergencji - lub, co gorsza, czasami istnieje niebezpieczeństwo rozbieżności. Zazwyczaj przypisuje się ją „śmiertelnej triadzie” (patrz 11.3 drugiego wydania książki Sutton i Barto), która jest kombinacją:
- Przybliżenie funkcji, AND
- Bootstrapping (wykorzystując własne oszacowania wartości do obliczenia naszych celów treningowych, tak jak zrobił to Q-learning), AND
- Szkolenie poza polisą (Q- nauka jest rzeczywiście niezgodna z polityką).
To daje nam tylko (być może niewyczerpujący) opis przypadków, w których mamy brak konwergencji i / lub niebezpieczeństwo dywergencji, ale wciąż nie mówi nam, dlaczego tak się dzieje w takich przypadkach.
Odpowiedź Johna już zapewnia intuicję, że częścią problemu jest po prostu to, że użycie aproksymacji funkcji może łatwo prowadzić do sytuacji, w których aproksymator funkcji nie jest wystarczająco silny, aby reprezentować prawdziwąQ∗ funkcji, zawsze mogą występować błędy aproksymacji, których nie można się pozbyć bez przełączenia na inny aproksymator funkcji.
Osobiście uważam, że ta intuicja pomaga zrozumieć, dlaczego algorytm nie może zagwarantować zbieżności z optymalnym rozwiązaniem, ale nadal intuicyjnie oczekiwałbym, że może być w stanie „zbiegać się” do jakiegoś „stabilnego” rozwiązania, które jest najlepszym możliwym przybliżeniem ograniczenia związane z wybraną reprezentacją funkcji. Rzeczywiście, to obserwujemy w praktyce, kiedy przechodzimy na szkolenie w zakresie polityki (np. Sarsa), przynajmniej w przypadku aproksymatorów funkcji liniowych.
Moją intuicją w odniesieniu do tego pytania jest na ogół to, że ważnym źródłem problemu jest uogólnienie . W ustawieniu tabelarycznym mamy całkowicie odizolowane wpisyQ(s,a) dla wszystkich (s,a)pary. Ilekroć aktualizujemy nasze oszacowanie dla jednego wpisu, pozostawia on wszystkie pozostałe wpisy niezmodyfikowane (przynajmniej początkowo - mogą wystąpić pewne skutki dla innych wpisów w przyszłych aktualizacjach z powodu ładowania początkowego w regule aktualizacji). Zaktualizuj reguły dla algorytmów takich jakQ-learning i Sarsa mogą czasami aktualizować się w kierunku „złego” kierunku, jeśli otrzymamy „pecha”, ale w oczekiwaniu na ogół aktualizują się w kierunku prawidłowego „kierunku”. Intuicyjnie oznacza to, że w ustawieniu tabelarycznym, w oczekiwaniu , będziemy powoli, stopniowo naprawiać wszelkie błędy w dowolnych wpisach w oderwaniu, nie powodując szkody dla innych wpisów.
Z aproksymacją funkcji, kiedy aktualizujemy nasze Q(s,a) oszacuj na jeden (s,a)para, może potencjalnie wpłynąć również na wszystkie nasze inne szacunki dla wszystkich innych par państwo-akcja. Intuicyjnie oznacza to, że nie mamy już przyjemnej izolacji wpisów, jak w ustawieniu tabelarycznym, a „naprawianie” błędów w jednym wpisie może wiązać się z ryzykiem dodania nowych błędów do innych wpisów. Jednak, podobnie jak odpowiedź Johna, cała ta intuicja dotyczyłaby również algorytmów zgodnych z polityką, więc nadal nie wyjaśnia, co jest specjalnegoQ-learning (i inne podejścia pozapolityczne).
Bardzo interesującym ostatnim artykułem na ten temat jest pozbawione złudzeń Q-learning i iteracja wartości . Wskazują na problem „złudzeń” w algorytmach, które łączą aproksymację funkcji z regułami aktualizacji obejmującymi amax operator, taki jak Q-learning (prawdopodobnie nie jest unikalny dla max operatora, ale prawdopodobnie dotyczy to ogólnie polis?).
Problem jest następujący. Załóżmy, że to uruchomimyQ-learning aktualizacja dla pary stan-akcja (s,a):
Q(s,a)←Q(s,a)+α[maxa′Q(s′,a′)−Q(s,a)].
Oszacowanie wartości maxa′Q(s′,a′) użyte tutaj opiera się na założeniu, że realizujemy politykę, która jest zachłanna w stosunku do naszych starszych wersji Qszacunki dotyczące - być może bardzo długiej - trajektorii. Jak już wspomniano w niektórych poprzednich odpowiedziach, nasz aproksymator funkcji ma ograniczoną pojemność reprezentacyjną, a aktualizacje jednej pary stanów-akcji mogą wpływać na oszacowania wartości dla innych par stanu-akcji. Oznacza to, że po uruchomieniu naszej aktualizacji doQ(s,a), nasz aproksymator funkcji może już nie być w stanie jednocześnie wyrazić polityki prowadzącej do wysokich zwrotów, które naszemaxa′Q(s′,a′)szacunek został oparty na . Autorzy tego artykułu twierdzą, że algorytm jest „urojeniowy”. Wykonuje aktualizację przy założeniu, że w dalszym ciągu może nadal uzyskiwać duże zwroty, ale w rzeczywistości może nie być wystarczająco silny, aby uzyskać te zwroty dzięki nowej wersji parametrów aproksymatora funkcji.
Wreszcie inny (nawet bardziej aktualny) artykuł, który, jak podejrzewam, jest istotny dla tego pytania, to Diagnozowanie wąskich gardeł w algorytmach głębokiego uczenia się , ale niestety nie miałem jeszcze czasu, aby przeczytać go wystarczająco szczegółowo i odpowiednio go streścić.