Kiedy metody Monte Carlo są lepsze od metod różnic czasowych?

12

Ostatnio robiłem dużo badań na temat nauki o wzmocnieniu. Śledziłem Reinforcement Learning Sutton & Barto : Wprowadzenie do większości tego.

Wiem, czym są procesy decyzyjne Markowa i jak do ich rozwiązania można wykorzystać uczenie się w zakresie programowania dynamicznego (DP), Monte Carlo i różnic czasowych (DP). Problem mam jest to, że nie widzę, gdy Monte Carlo byłoby lepszym rozwiązaniem na TD-learning.

Główną różnicą między nimi jest to, że uczenie się TD używa ładowania początkowego w celu przybliżenia funkcji wartości akcji, a Monte Carlo używa do tego średniej. Po prostu nie mogę wymyślić scenariusza, w którym jest to lepsza droga.

Domyślam się, że może to mieć coś wspólnego z wydajnością, ale nie mogę znaleźć żadnych źródeł, które mogłyby to udowodnić.

Czy coś pomijam, czy ogólnie nauka TD jest lepszą opcją?

Anne-Dirk
źródło

Odpowiedzi:

9

Głównym problemem związanym z uczeniem TD i DP jest to, że ich aktualizacje krokowe są tendencyjne w stosunku do początkowych warunków parametrów uczenia. Proces ładowania początkowego zazwyczaj aktualizuje funkcję lub wyszukiwanie Q (s, a) na wartości następczej Q (s ', a') przy użyciu tego, co obecne oszacowania znajdują się w tym drugim. Najwyraźniej na samym początku nauki te szacunki nie zawierają żadnych informacji o prawdziwych nagrodach ani przejściach stanu.

Jeśli nauka działa zgodnie z przeznaczeniem, błąd systematyczny zmniejszy się asymptotycznie w wyniku wielu iteracji. Jednak odchylenie może powodować poważne problemy, szczególnie w przypadku metod niezgodnych z polityką (np. Q Learning) i przy użyciu aproksymatorów funkcji. Ta kombinacja prawdopodobnie nie zbiegnie się tak bardzo, że nazywa się ją śmiertelną triadą w Sutton i Barto .

Metody kontroli Monte Carlo nie cierpią z powodu tego błędu, ponieważ każda aktualizacja jest wykonywana przy użyciu prawdziwej próbki tego, jakie powinny być Q (s, a). Jednak metody Monte Carlo mogą wykazywać dużą zmienność, co oznacza, że ​​potrzeba więcej próbek, aby osiągnąć ten sam stopień uczenia się niż TD.

W praktyce uczenie się TD wydaje się uczyć bardziej efektywnie, jeśli można pokonać problemy związane ze śmiertelną triadą . Ostatnie wyniki, w których wykorzystano powtórkę doświadczeń i „zamrożone” kopie estymatorów, umożliwiają obejście problemów rozwiązujących problemy - np. Tak zbudowano ucznia DQN dla gier Atari.

Istnieje również środek ziemi między TD i Monte Carlo. Możliwe jest zbudowanie uogólnionej metody, która łączy trajektorie o różnych długościach - od jednoetapowego niszczyciela czołgu do kompletnych odcinków w Monte Carlo - i łączy je. Najczęstszym wariantem tego jest uczenie się TD ( ), gdzie jest parametrem od (efektywne uczenie się w jednym kroku) do (efektywne uczenie się w Monte Carlo, ale z przyjemną funkcją, którą można stosować w trybie ciągłym problemy). Zazwyczaj wartość od do jest najskuteczniejszym agentem edukacyjnym - chociaż, jak wiele hiperparametrów, najlepsza wartość do zastosowania zależy od problemu.λλ0101

Jeśli używasz metody opartej na wartościach (w przeciwieństwie do metody opartej na regułach), wówczas uczenie się TD jest ogólnie stosowane bardziej w praktyce, lub metoda kombinacji TD / MC, taka jak TD (λ), może być jeszcze lepsza.

Pod względem „praktycznej przewagi” dla MC? Uczenie się w Monte Carlo jest koncepcyjnie proste, niezawodne i łatwe do wdrożenia, choć często wolniejsze niż TD. Zasadniczo nie używałbym tego do uczenia się silnika kontrolera (chyba że spieszy mi się wdrożenie czegoś dla prostego środowiska), ale poważnie rozważę to do oceny polityki w celu porównania na przykład wielu agentów - to dlatego, że jest to obiektywna miara, która jest ważna przy testowaniu.

Neil Slater
źródło
Po pierwsze, dziękuję za odpowiedź. Rozumiem, że w teorii algorytm bezstronny może być lepszy niż tendencyjny. Ale biorąc pod uwagę dużą wariancję, jaką Monte Carlo może dać na początku treningu, nie rozumiem, jak to naprawdę ma znaczenie. Zarówno Monte Carlo, jak i TD zaczną od niedokładnych przybliżeń i z tego, co przeczytałem, TD zbiegnie się znacznie szybciej. Po prostu nie mogę wymyślić praktycznej korzyści z korzystania z Monte Carlo. (Zabawnej śmiertelnej triady można uniknąć)
Anne-dirk
1
@ Anne-dirk Jeśli używasz metody opartej na wartościach (w przeciwieństwie do metody opartej na regułach), wówczas uczenie się TD jest ogólnie stosowane bardziej w praktyce, lub metoda kombinacji TD / MC, taka jak TD (λ), może być nawet lepszy. Nie jestem pewien, co rozumiesz przez „praktyczną przewagę”? Nauka w Monte Carlo jest koncepcyjnie prosta, niezawodna i łatwa do wdrożenia. Zasadniczo nie używałbym tego do uczenia się silnika kontrolera (chyba że spieszy mi się wdrożenie czegoś dla prostego środowiska), ale poważnie rozważę to do oceny polityki, aby na przykład porównać wielu agentów.
Neil Slater
@Neul Slater Aaaah Widzę ... Tego rodzaju odpowiedzi szukałem :) Dzięki za pomoc!
Anne-dirk
-1

Zasadniczo zależy to od twojego środowiska.

TD wykorzystuje właściwość Markowa, tzn. Przyszłe stany procesu zależą tylko od bieżącego stanu, a zatem zwykle bardziej wydajne jest używanie TD w środowiskach Markowa.

MC nie wykorzystuje własności Markowa, ponieważ opiera nagrody na całym procesie uczenia się, który nadaje się do środowisk innych niż Markov.

BigBadMe
źródło
Nie sądzę, żeby to było poprawne, a przynajmniej oczywiste. Właściwość Markowa w kontekście RL jest powiązana ze stanami. Czy możesz wyjaśnić, dlaczego algorytmy MC działałyby lepiej, gdyby właściwość Markowa nie była spełniona?
nbro
Mówiąc wprost, miałem na myśli efektywność. Jeśli możesz wykorzystać właściwość Markowa, TD jest korzystne, ponieważ możesz zacząć w dowolnym stanie, podjąć i wykonać akcję, a wynik będzie zawsze taki sam, dzięki czemu możesz obliczyć błąd TD z dużą pewnością. W przypadku braku MDP, jeśli stan jest częściowo obserwowany, TD może nie być bardzo wydajny. Nie oznacza to, że nie możesz używać TD w nie-MDP, możesz, ale może to być nieefektywne i może odnieść większy sukces z TD lambda niż TD (1).
BigBadMe
„Jeśli możesz wykorzystać właściwość Markowa, TD jest korzystne, ponieważ możesz zacząć w dowolnym stanie, podjąć i działać, a wynik zawsze będzie taki sam”, będzie tak samo, jeśli środowisko jest deterministyczne. Co to ma wspólnego z własnością Markowa? Nie rozumiem twoich roszczeń. Gdzie czytałeś, że TD będzie bardziej nieefektywne niż MC np. W POMDP?
nbro
1
MDP z definicji nie są deterministyczne. Środowisko deterministyczne jest zwykle definiowane jako: jeśli agent jest w stanies i podejmuje działania za, a następnie następny stan sjest zawsze taki sam, bez względu na czas . W przeciwnym razie jest stochastyczny. MDP to tylko sposób na przedstawienie środowiska i jego dynamiki.
nbro
1
„jeśli jesteś stanem S, wówczas wszystkie zdarzenia, które miały miejsce wcześniej, są zdefiniowane przez ten stan, a jeśli podejmiesz działanie a, zawsze otrzymasz ten sam stan S i nagrodę r.”, Nie , to nie jest prawda, część, która nie jest prawdą, to „jeśli podejmiesz działanie a, zawsze otrzymasz ten sam stan S i nagrodę r”. Jest to prawdą tylko wtedy, gdy MDP ma deterministyczną funkcję przejścia i nagrody (ale nie zawsze tak jest).
nbro