AI 101
Co czym jest Deep Reinforcement Learning?

Co to jest Deep Reinforcement Learning?
Oprócz nieprzeprowadzonego uczenia maszynowego i nadzorowanego uczenia, inną powszechną formą tworzenia sztucznej inteligencji jest uczenie przez wzmocnienie. Poza zwykłym uczeniem przez wzmocnienie, głębokie uczenie przez wzmocnienie może prowadzić do zdumiewająco imponujących wyników, dzięki temu, że łączy najlepsze aspekty zarówno głębokiego uczenia, jak i uczenia przez wzmocnienie. Zobaczmy, jak dokładnie działa głębokie uczenie przez wzmocnienie.
Przed zagłębieniem się w głębokie uczenie przez wzmocnienie, może być dobrą ideą, aby odświeżyć naszą wiedzę na temat tego, jak działa zwykłe uczenie przez wzmocnienie. W uczeniu przez wzmocnienie, algorytmy ukierunkowane na cele są projektowane za pomocą procesu prób i błędów, optymalizując działanie, które prowadzi do najlepszego wyniku/działania, które uzyskuje najwięcej “nagrody”. Podczas szkolenia algorytmów uczenia przez wzmocnienie, są one przyznawane “nagrody” lub “kary”, które wpływają na to, jakie działania będą podejmowane w przyszłości. Algorytmy próbują znaleźć zestaw działań, które zapewnią systemowi najwięcej nagrody, równoważąc zarówno natychmiastowe, jak i przyszłe nagrody.
Algorytmy uczenia przez wzmocnienie są bardzo potężne, ponieważ mogą być stosowane w niemal każdym zadaniu, mogąc elastycznie i dynamicznie uczyć się z otoczenia i odkrywać możliwe działania.
Przegląd głębokiego uczenia przez wzmocnienie

Zdjęcie: Megajuice via Wikimedia Commons, CC 1.0 (https://commons.wikimedia.org/wiki/File:Reinforcement_learning_diagram.svg)
Gdy mówimy o głębokim uczeniu przez wzmocnienie, środowisko jest zwykle reprezentowane za pomocą obrazów. Obraz jest zapisem środowiska w określonym momencie. Agent musi analizować obrazy i wyodrębnić z nich istotne informacje, używając informacji do poinformowania, jakie działanie powinien podjąć. Głębokie uczenie przez wzmocnienie jest zwykle prowadzone za pomocą jednej z dwóch różnych technik: wartościowego uczenia i politycznego uczenia.
Techniki wartościowego uczenia wykorzystują algorytmy i architektury takie jak sieci neuronowe i Deep-Q-Networks. Te algorytmy działają, konwertując obraz na odcień szarości i wycinając niepotrzebne części obrazu. Następnie obraz przechodzi przez różne konwolucje i operacje pulowania, wyodrębniając najbardziej istotne części obrazu. Ważne części obrazu są następnie używane do obliczania Q-wartości dla różnych działań, które agent może podjąć. Q-wartości są używane do określenia najlepszego kursu działania dla agenta. Po obliczeniu początkowych Q-wartości, wykonuje się propagację wsteczną, aby mogły być określone najbardziej dokładne Q-wartości.
Metody polityczne są używane, gdy liczba możliwych działań, które agent może podjąć, jest niezwykle wysoka, co zwykle ma miejsce w scenariuszach rzeczywistych. Sytuacje takie wymagają innego podejścia, ponieważ obliczanie Q-wartości dla wszystkich poszczególnych działań nie jest praktyczne. Podejścia polityczne działają bez obliczania wartości funkcji dla poszczególnych działań. Zamiast tego, przyjmują polityki, ucząc się polityki bezpośrednio, często za pomocą technik zwanych Policy Gradients.
Policy gradients działają, otrzymując stan i obliczając prawdopodobieństwa działań na podstawie wcześniejszych doświadczeń agenta. Następnie wybiera się najbardziej prawdopodobne działanie. Ten proces jest powtarzany, aż do końca okresu oceny i nagród, które są przyznawane agentowi. Po rozdaniu nagród, parametry sieci są aktualizowane za pomocą propagacji wstecznej.
Co to jest Q-Learning?
Ponieważ Q-Learning jest tak dużą częścią procesu głębokiego uczenia przez wzmocnienie, spójrzmy, jak działa system Q-learningu.
Proces decyzji Markowa

Proces decyzji Markowa. Zdjęcie: waldoalvarez via Pixabay, Pixbay License (https://commons.wikimedia.org/wiki/File:Markov_Decision_Process.svg)
Aby agent sztucznej inteligencji mógł wykonać serię zadań i osiągnąć cel, agent musi umieć radzić sobie z sekwencją stanów i zdarzeń. Agent zaczyna w jednym stanie i musi podjąć serię działań, aby osiągnąć stan końcowy, a może istnieć ogromna liczba stanów pomiędzy stanem początkowym a końcowym. Przechowywanie informacji o każdym stanie jest niepraktyczne lub niemożliwe, więc system musi znaleźć sposób, aby zachować tylko najbardziej istotne informacje o stanie. To jest osiągane za pomocą procesu decyzji Markowa, który zachowuje tylko informacje o bieżącym stanie i poprzednim stanie. Każdy stan spełnia własność Markowa, która śledzi, jak agent zmienia się z poprzedniego stanu do bieżącego.
Głębokie Q-Learning
Gdy model ma dostęp do informacji o stanach środowiska uczenia, Q-wartości mogą być obliczone. Q-wartości są łączną nagrodą przyznawaną agentowi na końcu sekwencji działań.
Q-wartości są obliczane za pomocą serii nagród. Istnieje natychmiastowa nagroda, obliczona w bieżącym stanie i zależna od bieżącego działania. Q-wartość dla następnego stanu jest również obliczana, a także Q-wartość dla stanu po tym, i tak dalej, aż do obliczenia Q-wartości dla wszystkich różnych stanów. Istnieje również parametr Gamma, który jest używany do kontrolowania, jak dużo przyszłe nagrody mają wpływu na działania agenta. Polityki są zwykle obliczane przez losowe zainicjowanie Q-wartości i pozwolenie modelowi na zbieżność w kierunku optymalnych Q-wartości w trakcie szkolenia.
Głębokie sieci Q
Jednym z podstawowych problemów związanych z użyciem Q-learningu do uczenia przez wzmocnienie jest to, że ilość wymaganej pamięci do przechowywania danych szybko rośnie wraz ze wzrostem liczby stanów. Głębokie sieci Q rozwiązują ten problem, łącząc modele sieci neuronowych z Q-wartościami, umożliwiając agentowi uczenie się z doświadczenia i robienie rozsądnych przypuszczeń o najlepszych działaniach do podjęcia. Z głębokim Q-learningiem, Q-wartości funkcji są szacowane za pomocą sieci neuronowych. Sieć neuronowa przyjmuje stan jako dane wejściowe, a sieć wyprowadza Q-wartość dla wszystkich możliwych działań, które agent może podjąć.
Głębokie Q-learning jest realizowane przez przechowywanie wszystkich przeszłych doświadczeń w pamięci, obliczanie maksymalnych wyjść dla sieci Q, a następnie używanie funkcji straty do obliczania różnicy między bieżącymi wartościami a teoretycznie najwyższymi możliwymi wartościami.
Głębokie uczenie przez wzmocnienie vs Głębokie uczenie
Jedna z ważnych różnic między głębokim uczeniem przez wzmocnienie a zwykłym głębokim uczeniem jest to, że w przypadku pierwszego dane wejściowe są stale zmienne, co nie ma miejsca w tradycyjnym głębokim uczeniu. Jak może model uczenia się uwzględnić dane wejściowe i wyjściowe, które są stale zmienne?
Podstawowo, aby uwzględnić rozbieżność między przewidywanymi wartościami a wartościami docelowymi, można użyć dwóch sieci neuronowych zamiast jednej. Jedna sieć szacuje wartości docelowe, a druga sieć jest odpowiedzialna za przewidywania. Parametry sieci docelowej są aktualizowane, gdy model się uczy, po upływie wybranej liczby iteracji szkoleniowych. Następnie wyjścia odpowiednich sieci są łączone, aby określić różnicę.
Uczenie polityczne
Uczenie polityczne działa inaczej niż podejścia oparte na Q-wartościach. Podczas gdy podejścia Q-wartości tworzą funkcję wartości, która przewiduje nagrody dla stanów i działań, metody polityczne określają politykę, która mapuje stany na działania. Innymi słowy, funkcja polityki, która wybiera działania, jest optymalizowana bezpośrednio, bez uwzględniania funkcji wartości.
Policy Gradients
Polityka dla głębokiego uczenia przez wzmocnienie należy do jednej z dwóch kategorii: losowej lub deterministycznej. Polityka deterministyczna jest taka, w której stany są mapowane na działania, co oznacza, że gdy polityka jest podana informacje o stanie, zwracane jest działanie. Tymczasem polityki losowe zwracają rozkład prawdopodobieństwa działań zamiast jednego, dyskretnego działania.
Polityki deterministyczne są używane, gdy nie ma niepewności co do wyników działań, które można podjąć. Innymi słowy, gdy środowisko samo w sobie jest deterministyczne. W przeciwieństwie do tego, wyjścia polityk losowych są odpowiednie dla środowisk, w których wynik działań jest niepewny. Zwykle scenariusze uczenia przez wzmocnienie obejmują pewien stopień niepewności, więc polityki losowe są używane.
Podejścia policy gradient mają kilka zalet w porównaniu z podejściami Q-learning, a także kilka wad. Jeśli chodzi o zalety, metody polityczne zbiegają się na optymalne parametry szybciej i bardziej niezawodnie. Policy gradient może być po prostu śledzony, aż do uzyskania najlepszych parametrów, podczas gdy w przypadku metod opartych na wartościach niewielkie zmiany w oszacowanych wartościach działań mogą prowadzić do dużych zmian w działaniach i ich parametrach.
Podejścia policy gradient działają lepiej w przypadku wysokowymiarowych przestrzeni działań. Gdy istnieje niezwykle wysoka liczba możliwych działań do podjęcia, głębokie Q-learning staje się niepraktyczne, ponieważ musi przydzielić punktację każdemu możliwemu działaniu we wszystkich krokach czasowych, co może być niemożliwe obliczeniowo. Jednak z podejściami politycznymi parametry są dostosowywane w czasie, a liczba możliwych najlepszych parametrów szybko maleje, gdy model zbiega się.
Policy gradients są również w stanie wdrażać polityki losowe, w przeciwieństwie do polityk opartych na wartościach. Ponieważ polityki losowe produkują rozkład prawdopodobieństwa, nie musi być wdrożony kompromis między eksploracją a wykorzystaniem.
Jeśli chodzi o wady, główną wadą policy gradient jest to, że mogą utknąć podczas wyszukiwania optymalnych parametrów, koncentrując się tylko na wąskim, lokalnym zestawie optymalnych wartości zamiast globalnych optymalnych wartości.
Funkcja oceny polityki
Polityki używane do optymalizacji wydajności modelu mają na celu maksymalizację funkcji oceny – J(θ). Jeśli J(θ) jest miarą tego, jak dobra jest nasza polityka w osiąganiu pożądanego celu, możemy znaleźć wartości “θ”, które dadzą nam najlepszą politykę. Po pierwsze, musimy obliczyć oczekiwaną nagrodę polityki. Szacujemy nagrodę polityki, abyśmy mieli cel, coś, ku czemu możemy dążyć. Funkcja oceny polityki jest tym, jak obliczamy oczekiwaną nagrodę polityki, a istnieją różne funkcje oceny polityki, które są powszechnie używane, takie jak: wartości początkowe dla środowisk epizodycznych, średnia wartość dla środowisk ciągłych i średnia nagroda na krok czasowy.
Policy Gradient Ascent

Wspinaczka gradientu ma na celu przesunięcie parametrów, aż będą one w miejscu, w którym wynik jest najwyższy. Zdjęcie: Domena publiczna (https://commons.wikimedia.org/wiki/File:Gradient_ascent_(surface).png)
Po użyciu pożądanej funkcji oceny polityki i obliczeniu oczekiwanego wyniku polityki, możemy znaleźć wartość parametru “θ”, która maksymalizuje funkcję oceny. Aby zmaksymalizować funkcję oceny J(θ), używana jest technika zwana “wspinaczką gradientu”. Wspinaczka gradientu jest podobna w koncepcji do zejścia gradientu w głębokim uczeniu, ale optymalizujemy pod kątem najbardziej stromego wzrostu, a nie spadku. Jest to dlatego, że nasz wynik nie jest “błędem”, jak w wielu problemach głębokiego uczenia. Nasz wynik jest czymś, co chcemy zmaksymalizować. Wyrażenie zwane twierdzeniem policy gradient jest używane do oszacowania gradientu w odniesieniu do polityki “θ”.
Podsumowanie głębokiego uczenia przez wzmocnienie
Podsumowując, głębokie uczenie przez wzmocnienie łączy aspekty uczenia przez wzmocnienie i głębokich sieci neuronowych. Głębokie uczenie przez wzmocnienie jest realizowane za pomocą dwóch różnych technik: głębokiego Q-learningu i policy gradient.
Metody głębokiego Q-learningu mają na celu przewidzenie, jakie nagrody będą następować po określonych działaniach podejmowanych w danym stanie, podczas gdy podejścia policy gradient mają na celu optymalizację przestrzeni działań, przewidując same działania. Podejścia polityczne do głębokiego uczenia przez wzmocnienie są albo deterministyczne, albo losowe. Polityki deterministyczne mapują stany bezpośrednio na działania, podczas gdy polityki losowe produkują rozkłady prawdopodobieństwa działań.












