Copyright 2021 Autorzy TF-Agents.
Wstęp
Uczenie się przez wzmacnianie (RL) to ogólna struktura, w której agenci uczą się wykonywać działania w środowisku, aby zmaksymalizować nagrodę. Dwa główne komponenty to środowisko, które reprezentuje problem do rozwiązania, oraz agent, który reprezentuje algorytm uczenia.
Agent i środowisko stale oddziałują na siebie. Na każdym kroku czasowym, agent wykonuje działania na środowisko na podstawie jego polityki , gdzie jest bieżąca obserwacja ze środowiska, a otrzymuje nagrodę i obok obserwacji ze środowiska . Celem jest udoskonalenie polityki tak, aby zmaksymalizować sumę nagród (zwrotu).
Jest to bardzo ogólna struktura i może modelować różne sekwencyjne problemy związane z podejmowaniem decyzji, takie jak gry, robotyka itp.
Środowisko Cartpole
Środowisko Cartpole jest jednym z najbardziej znanych klasycznych problemów w uczeniu się zbrojenie (dalej „Hello, World!” RL). Do wózka przymocowany jest drążek, który może poruszać się po torze pozbawionym tarcia. Słup zaczyna się pionowo, a celem jest zapobieganie jego przewróceniu poprzez kontrolowanie wózka.
- Obserwacja ze środowiska jest wektorem 4D reprezentujący położenie i prędkość wózka, a kąt i prędkość kątową bieguna.
- Środek można sterować systemem poprzez podejmowanie działań jednego z 2 : popchnąć wózek prawo (+1) lub w lewo (-1).
- Nagroda przewidziano każdym kroku to, że Polak pozostaje w pozycji pionowej. Odcinek kończy się, gdy spełniony jest jeden z poniższych warunków:
- kij przechyla się powyżej pewnego kąta
- wózek wyjeżdża poza granice świata
- Mija 200 kroków czasu.
Celem środka jest nauczyć politykę tak aby maksymalizować sumę nagród w epizodzie . Tutaj jest czynnikiem zniżki w że rabaty przyszłych nagród w stosunku do natychmiastowych nagród. Ten parametr pomaga nam skoncentrować politykę, sprawiając, że bardziej zależy jej na szybkim zdobywaniu nagród.
Agent DQN
Algorytm DQN (Głębokie Q-Network) została opracowana w 2015 roku przez DeepMind To było w stanie rozwiązać szeroką gamę gier Atari (niektóre na poziomie nadludzkiej) poprzez połączenie nauki zbrojenia i głębokie sieci neuronowych w skali. Algorytm został opracowany przez zwiększanie klasyczny algorytm RL nazwie Q-learning z głębokimi sieci neuronowych i technika zwana doświadczenie powtórki.
Q-Learning
Q-Learning opiera się na pojęciu funkcji Q. Q-function (aka funkcja wartość state-action) z polityki , mierzy oczekiwanego zwrotu lub zdyskontowana suma nagród otrzymanych z państwowej poprzez podejmowanie działań pierwszy i Poniższe zasady później. Zdefiniować optymalnej funkcji P- jako powrót maksymalnej, która może zostać uzyskane, począwszy od obserwacji biorąc działania i zgodnie z polityką optymalne później. Optymalna P funkcja wypełnia następujące równanie optymalność Bellman:
Oznacza to, że maksymalny zwrot z państwowej i działanie jest sumą natychmiastowa nagroda i powrót (zdyskontowana przez ) otrzymano zgodnie z polityką optymalną potem do końca odcinka ( czyli maksymalna nagroda od kolejnego państwa ). Oczekiwanie jest obliczany zarówno nad dystrybucją natychmiastowych nagród i ewentualnych kolejnych stanach .
Podstawową ideą Q-learning jest użycie Bellman równania optymalności jako iteracyjny aktualizacji i można udowodnić, że ten jest zbieżny do optymalnego -function, tj jako (patrz DQN papier ).
Głębokie Q-Learning
Dla większości problemów, jest możliwa do reprezentowania -function jako tabeli zawierającej wartości dla każdej kombinacji i . Zamiast tego, możemy trenować Aproksymator funkcji, takich jak sieci neuronowe z parametrami , aby oszacować Q-wartości, tj . Można to zrobić poprzez zminimalizowanie następujące straty na każdym kroku :
gdzie
Tutaj nazywa TD (różnica czasowa) cel, a nazywa błąd TD. przedstawia rozkład zachowaniem, a rozkład na przemian zebranych z otoczenia.
Należy zauważyć, że parametry z poprzedniej iteracji są stałe i nie aktualizowane. W praktyce zamiast ostatniej iteracji używamy migawki parametrów sieci sprzed kilku iteracji. Ta kopia jest nazywana siecią docelową.
Q-learning jest algorytmem off-polityka, który dowiaduje się o polityce chciwy podczas korzystania inną politykę zachowanie dla działających w środowisku / zbieranie danych. Ta polityka zachowanie jest zwykle -greedy polityka, który wybiera chciwy akcja z prawdopodobieństwem i przypadkowej akcji z prawdopodobieństwem aby zapewnić dobre pokrycie przestrzeni state-action.
Przeżyj powtórkę
Aby uniknąć obliczania pełnej wartości oczekiwanej straty DQN, możemy ją zminimalizować za pomocą stochastycznego spadku gradientu. Jeśli ubytek jest obliczany za pomocą tylko ostatniego przejścia , zmniejsza standardowej Q Nauk.
Prace Atari DQN wprowadziły technikę o nazwie Experience Replay, aby uczynić aktualizacje sieci bardziej stabilnymi. Na każdym etapie w czasie zbierania danych, dodawane są do przejścia w buforze cyklicznym zwany bufor do odtwarzania. Następnie podczas treningu, zamiast używać tylko ostatniego przejścia do obliczenia straty i jej gradientu, obliczamy je za pomocą mini-partii przejść próbkowanych z bufora powtórek. Ma to dwie zalety: lepszą wydajność danych dzięki ponownemu wykorzystaniu każdego przejścia w wielu aktualizacjach oraz lepszą stabilność przy użyciu nieskorelowanych przejść w partii.
DQN na Cartpole w TF-Agents
TF-Agents zapewnia wszystkie komponenty niezbędne do szkolenia agenta DQN, takie jak sam agent, środowisko, polityki, sieci, bufory odtwarzania, pętle zbierania danych i metryki. Komponenty te są zaimplementowane jako funkcje Pythona lub operacje wykresów TensorFlow, a także mamy wrappery do konwersji między nimi. Dodatkowo TF-Agents obsługuje tryb TensorFlow 2.0, który umożliwia nam używanie TF w trybie imperatywnym.
Następnie spojrzeć w poradniku do szkolenia agenta DQN na środowisko Cartpole używając TF-Agentów .