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:
SARSA:
gdzie i są stanem, akcja i nagroda w kroku czasu 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?
Odpowiedzi:
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 , .at rt+1 st+1
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.
źródło