Kiedy wybrać SARSA vs. Q Learning

19

SARSA i Q Learning to algorytmy uczenia wzmacniającego, które działają w podobny sposób. Najbardziej uderzającą różnicą jest to, że SARSA jest na polisie, podczas gdy Q Learning jest na polisie. Reguły aktualizacji są następujące:

Q Learning:

Q(st,at)Q(st,at)+α[rt+1+γmaxaQ(st+1,a)Q(st,at)]

SARSA:

Q(st,at)Q(st,at)+α[rt+1+γQ(st+1,at+1)Q(st,at)]

gdzie st,at i rt są stanem, akcja i nagroda w kroku czasu t a γ jest czynnikiem dyskontowym.

W większości wyglądają tak samo, z wyjątkiem tego, że w SARSA podejmujemy rzeczywiste działanie, aw Q Learning podejmujemy działanie z najwyższą nagrodą.

Czy są jakieś teoretyczne lub praktyczne ustawienia, w których jedno powinno być lepsze od drugiego? Widzę, że wykorzystanie maksimum w Q Learning może być kosztowne, a tym bardziej w przestrzeniach ciągłego działania. Ale czy jest coś jeszcze?

hh32
źródło
W przestrzeniach ciągłego działania powszechnie stosowane są metody bezpośredniego wyszukiwania strategii, takie jak różne metody gradientu strategii, ponieważ - jak się zorientowałeś - utrzymywanie i ocena funkcji wartości dyskretnych dla przestrzeni ciągłego działania jest niepraktyczne, szczególnie gdy przestrzeń akcji ma wiele wymiarów (z powodu przekleństwa wymiarowości ).
HelloGoodbye,

Odpowiedzi:

27

W większości wyglądają tak samo, z wyjątkiem tego, że w SARSA podejmujemy rzeczywiste działanie, aw Q Learning podejmujemy działanie z najwyższą nagrodą.

Właściwie w obu „podejmujesz” faktyczne pojedyncze wygenerowane działanie dalej. W uczeniu się Q aktualizujesz oszacowanie na podstawie maksymalnego oszacowania możliwych następnych działań, niezależnie od tego, jakie działanie podjąłeś. Będąc w SARSA, aktualizujesz prognozy na podstawie tych samych działań i podejmujesz takie same działania.at+1

Prawdopodobnie to właśnie rozumiesz przez „weź” w pytaniu, ale w literaturze podjęcie działania oznacza, że ​​staje się ono wartością np. i wpływa na , .atrt+1st+1

Czy są jakieś teoretyczne lub praktyczne ustawienia, w których jedno powinno być lepsze od drugiego?

Q-learning ma następujące zalety i wady w porównaniu do SARSA:

  • Q-learning bezpośrednio uczy się optymalnej polityki, podczas gdy SARSA uczy się prawie optymalnej polityki podczas odkrywania. Jeśli chcesz nauczyć się optymalnej polityki za pomocą SARSA, musisz zdecydować o strategii zepsucia w -podejmowanym działaniu, który może stać się dziwnie hiperparametrem do dostrojenia.ϵϵ

  • Q-learning (i ogólnie nauczanie poza polityką) ma większą wariancję na próbę niż SARSA i może w rezultacie wystąpić problemy ze zbieżnością. To pojawia się jako problem podczas szkolenia sieci neuronowych poprzez Q-learning.

  • SARSA zbliży się do konwergencji, dopuszczając ewentualne kary za ruchy eksploracyjne, a Q-learning je zignoruje. To sprawia, że ​​SARSA jest bardziej konserwatywny - jeśli istnieje ryzyko dużej ujemnej nagrody w pobliżu optymalnej ścieżki, Q-learning będzie miał tendencję do uruchamiania tej nagrody podczas eksploracji, podczas gdy SARSA będzie dążył do uniknięcia niebezpiecznej optymalnej ścieżki i tylko powoli nauczy się z niej korzystać gdy parametry eksploracji zostaną zmniejszone. Klasyczny problem zabawki, który wykazuje ten efekt, nazywa się chodzeniem po klifie .

W praktyce ostatni punkt może mieć duże znaczenie, jeśli błędy są kosztowne - np. Trenujesz robota nie w symulacji, ale w prawdziwym świecie. Możesz wybrać bardziej konserwatywny algorytm uczenia się, który pozwala uniknąć wysokiego ryzyka, jeśli w grę wchodziłby czas i pieniądze w przypadku uszkodzenia robota.

Jeśli Twoim celem jest przeszkolenie optymalnego agenta w symulacji lub w niedrogim i szybkim środowisku iteracyjnym, Q-learning jest dobrym wyborem ze względu na pierwszy punkt (bezpośrednie nauczenie się optymalnej polityki). Jeśli Twój agent uczy się online, a zależy ci na nagrodach zdobytych podczas nauki , SARSA może być lepszym wyborem.

Neil Slater
źródło
Dalsze
Muppet,