Czytałem notatki z wykładu Andrew Ng na temat uczenia się przez wzmacnianie i próbowałem zrozumieć, dlaczego iteracja polityki jest zbieżna z funkcją optymalnej wartości i optymalną polityką .
Przypomnijmy, że iteracja zasad to:
Dlaczego algorytm zachłanny prowadzi do optymalnej polityki i funkcji optymalnej wartości? (Wiem, że zachłanne algorytmy nie zawsze to gwarantują lub mogą utknąć w lokalnych optymach, więc chciałem tylko zobaczyć dowód na jego optymalność algorytmu).
Wydaje mi się również, że iteracja polityki jest czymś analogicznym do klastrowania lub spadku gradientu. Do klastrowania, ponieważ przy obecnym ustawieniu parametrów optymalizujemy. Podobne do opadania gradientu, ponieważ po prostu wybiera wartość, która wydaje się zwiększać jakąś funkcję. Te dwie metody nie zawsze są zbieżne z optymalnymi maksimami i próbowałem zrozumieć, w jaki sposób ten algorytm różni się od poprzednich, o których wspomniałem.
Oto moje dotychczasowe myśli:
Powiedzmy, że zaczynamy od zasady , a następnie po pierwszym kroku, dla tej ustalonej zasady mamy:
Gdzie V ^ {(1)} jest funkcją wartości dla pierwszej iteracji. Następnie po drugim kroku wybieramy nowe zasady aby zwiększyć wartość . Teraz, przy nowej polityce , jeśli zrobimy drugi krok algorytmu, zachowa się następująca nierówność:
Ponieważ wybieramy w drugim kroku, aby zwiększyć funkcję wartości w poprzednim kroku (tj. Poprawić . Jak dotąd jasne jest, że wybranie może tylko zwiększyć V ^ {(1)}, bo tak właśnie wybieramy . Jednak moje zamieszanie pojawia się w kroku powtarzania, ponieważ gdy powtórzymy i wrócimy do kroku 1, faktycznie zmieniamy wszystko całkowicie, ponieważ ponownie obliczamy dla nowej zasady . Co daje:
ale to NIE jest:
Co wydaje się być problemem, ponieważ wybrano do poprawy , a nie tej nowej . Zasadniczo problem polega na tym, że gwarantuje poprawę wykonując w zamian z gdy funkcja wartości to . Ale w kroku powtarzania zmieniamy na , ale nie widzę, jak to gwarantuje, że funkcja wartości poprawia się monotonicznie przy każdym powtórzeniu, ponieważ obliczono, aby poprawić funkcję wartości, gdy funkcje wartości pozostają na poziomie, ale krok 1 zmienia na (co jest złe, ponieważ poprawiłem tylko poprzednią funkcję wartości, którą mieliśmy).
Odpowiedzi:
Wydaje mi się, że brakuje ci części z tego samego powodu, dla którego możemy zamówić . Zasadniczo taka jest definicja jednej polityki, która jest lepsza od innej - że jej funkcja wartości jest większa lub równa we wszystkich stanach. Zagwarantowałeś to wybierając akcje maksymalizujące - żadna wartość stanu nie może być gorsza niż poprzednio, a jeśli tylko jeden wybór akcji zmienił się, aby wybrać lepszą akcję maksymalizującą, to już wiesz (ale być może nie obliczałeś), że dla tego stanu będzie wyższy niż był dla .Vπ2≥Vπ1 π2≥π1 Vπ2(s) Vπ1(s)
Kiedy zdecydujemy się zmaksymalizować wyniki w celu wygenerowania , nie wiemy, jakie będą nowe dla dowolnego stanu, ale wiemy, że .π2 Vπ2(s) ∀s:Vπ2(s)≥Vπ1(s)
Dlatego powrót do pętli i obliczenie dla nowej zasady ma takie same lub wyższe wartości niż wcześniej, a jeśli chodzi o ponowne zaktualizowanie zasad, .Vπ2 π3≥π2≥π1
źródło
Najpierw zobaczmy, dlaczego działa algorytm iteracji zasad. Ma dwa kroki.
Etap oceny polityki:
Tutaj terminy są natychmiastowymi nagrodami i odpowiadającymi im rzędami macierzy przejścia.rdn,Pdn
Warunki te zależą od politykiΠn
Rozwiązując powyższy układ równań, możemy znaleźć wartościvn
Krok poprawy polityki:
Załóżmy, że udało nam się znaleźć nową polisę taką, żeΠn+1
Teraz, w oparciu o nowe zasady , możemy znaleźć , powiedzmy, że to jest równanie 2.Πn+1 vn+1=rdn+1+γPdn+1vn+1
Pokażemy, że ;vn+1≥vn
tzn. zasadniczo dla wszystkich stanów, nowo wybrana polityka daje lepszą wartość w porównaniu do poprzedniej politykiΠn+1 Πn
Dowód:
Z równania 2 mamy,
Od, mamy1&2
Zasadniczo wartości rosną monotonicznie z każdą iteracją.
Ważne jest, aby zrozumieć, dlaczego Interakcja między politykami nie utknie na poziomie lokalnym.
Polityka to nic innego jak przestrzeń działań państwa.
Na każdym etapie iteracji zasad staramy się znaleźć co najmniej jedno działanie stanu, które różni się między i i sprawdzamy, czy . Tylko jeśli warunek jest spełniony, obliczymy rozwiązanie nowego układu równań liniowych.Πn+1 Πn rdn+1+γPdn+1vn≥rdn+γPdnvn
Załóżmy, że i są odpowiednio globalnym i lokalnym optimum.Π∗ Π#
Implikuje,v∗≥v#
Załóżmy, że algorytm utknął na lokalnym optimum.
W takim przypadku krok poprawy polityki nie zatrzyma się na lokalnej optymalnej przestrzeni działania stanu , ponieważ w istnieje co najmniej jedno działanie stanu, które jest inne niż i daje wyższą wartość porównaniu doΠ# Π∗ Π# v∗ v#
lub innymi słowy
W związku z tym iteracja zasad nie kończy się na lokalnym optimum
źródło