AI 101
Czym jest głębokie uczenie ze wzmocnieniem?

Czym jest głębokie uczenie ze wzmocnieniem?
Wraz z nienadzorowanym uczeniem maszynowym i uczeniem nadzorowanym, inną powszechną formą tworzenia sztucznej inteligencji jest uczenie ze wzmocnieniem. W przeciwieństwie do zwykłego uczenia ze wzmocnieniem, głębokie uczenie ze wzmocnieniem może prowadzić do zdumiewająco imponujących rezultatów, dzięki temu, że łączy najlepsze aspekty zarówno głębokiego uczenia, jak i uczenia ze wzmocnieniem. Przyjrzyjmy się dokładnie, jak działa głębokie uczenie ze wzmocnieniem. Zanim zagłębimy się w głębokie uczenie ze wzmocnieniem, warto odświeżyć sobie wiedzę o tym, jak działa zwykłe uczenie ze wzmocnieniem. W uczeniu ze wzmocnieniem algorytmy zorientowane na cel są projektowane poprzez proces prób i błędów, optymalizując pod kątem działania, które prowadzi do najlepszego wyniku/działania, które zyskuje najwięcej “nagrody”. Kiedy algorytmy uczenia ze wzmocnieniem są trenowane, otrzymują “nagrody” lub “kary”, które wpływają na to, jakie działania podejmą w przyszłości. Algorytmy starają się znaleźć zestaw działań, które zapewnią systemowi najwięcej nagrody, równoważąc zarówno natychmiastowe, jak i przyszłe nagrody. Algorytmy uczenia ze wzmocnieniem są bardzo potężne, ponieważ można je zastosować do prawie każdego zadania, są w stanie elastycznie i dynamicznie uczyć się ze środowiska i odkrywać możliwe działania.
Przegląd głębokiego uczenia ze wzmocnieniem

Zdjęcie: Megajuice via Wikimedia Commons, CC 1.0 (https://commons.wikimedia.org/wiki/File:Reinforcement_learning_diagram.svg)
Jeśli chodzi o głębokie uczenie ze wzmocnieniem, środowisko jest zazwyczaj reprezentowane za pomocą obrazów. Obraz jest uchwyceniem środowiska w określonym momencie czasu. Agent musi przeanalizować obrazy i wyodrębnić z nich istotne informacje, używając tych informacji do podjęcia decyzji, jakie działanie powinien podjąć. Głębokie uczenie ze wzmocnieniem jest zazwyczaj realizowane za pomocą jednej z dwóch różnych technik: uczenia opartego na wartości i uczenia opartego na polityce. Techniki uczenia opartego na wartości wykorzystują algorytmy i architektury, takie jak konwolucyjne sieci neuronowe i Deep-Q-Networks. Algorytmy te działają poprzez konwersję obrazu do skali szarości i przycięcie niepotrzebnych części obrazu. Następnie obraz przechodzi różne operacje konwolucji i łączenia (pooling), wyodrębniając najbardziej istotne części obrazu. Ważne części obrazu są następnie używane do obliczenia wartości Q dla różnych działań, które agent może podjąć. Wartości Q służą do określenia najlepszego działania dla agenta. Po obliczeniu początkowych wartości Q przeprowadzana jest wsteczna propagacja błędów, aby można było określić najbardziej dokładne wartości Q. Metody oparte na polityce są stosowane, gdy liczba możliwych działań, które agent może podjąć, jest niezwykle duża, co jest typowe w scenariuszach rzeczywistych. Takie sytuacje wymagają innego podejścia, ponieważ obliczanie wartości Q dla wszystkich poszczególnych działań nie jest pragmatyczne. Podejścia oparte na polityce 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 Gradientami Polityki. Gradienty polityki działają poprzez otrzymanie stanu i obliczenie prawdopodobieństw dla działań na podstawie wcześniejszych doświadczeń agenta. Następnie wybierane jest najbardziej prawdopodobne działanie. Proces ten jest powtarzany do końca okresu oceny, a nagrody są przyznawane agentowi. Po przetworzeniu nagród przez agenta, parametry sieci są aktualizowane za pomocą wstecznej propagacji błędów.
Czym jest Q-learning?
Ponieważ Q-learning jest tak dużą częścią procesu głębokiego uczenia ze wzmocnieniem, poświęćmy trochę czasu, aby naprawdę zrozumieć, jak działa system Q-learning. Proces decyzyjny Markowa

Proces decyzyjny Markowa. Zdjęcie: waldoalvarez via Pixabay, Pixbay License (https://commons.wikimedia.org/wiki/File:Markov_Decision_Process.svg)
Aby agent AI mógł wykonać serię zadań i osiągnąć cel, agent musi być w stanie radzić sobie z sekwencją stanów i zdarzeń. Agent rozpocznie w jednym stanie i musi podjąć serię działań, aby osiągnąć stan końcowy, a między stanem początkowym a końcowym może istnieć ogromna liczba stanów. Przechowywanie informacji dotyczących każdego stanu jest niepraktyczne lub niemożliwe, więc system musi znaleźć sposób na zachowanie tylko najbardziej istotnych informacji o stanie. Osiąga się to poprzez użycie procesu decyzyjnego Markowa, który zachowuje tylko informacje dotyczące bieżącego stanu i poprzedniego stanu. Każdy stan podlega własności Markowa, która śledzi, jak agent zmienia się ze stanu poprzedniego na stan bieżący. Głęboki Q-learning Gdy model ma dostęp do informacji o stanach środowiska uczenia, można obliczyć wartości Q. Wartości Q to całkowita nagroda przyznana agentowi na końcu sekwencji działań. Wartości Q są obliczane za pomocą serii nagród. Istnieje natychmiastowa nagroda, obliczana w bieżącym stanie i zależna od bieżącego działania. Obliczana jest również wartość Q dla kolejnego stanu, wraz z wartością Q dla stanu po nim i tak dalej, aż wszystkie wartości Q dla różnych stanów zostaną obliczone. Istnieje również parametr Gamma, który służy do kontrolowania, jak duży wpływ na działania agenta mają przyszłe nagrody. Polityki są zazwyczaj obliczane przez losową inicjalizację wartości Q i pozwolenie modelowi na zbieżność do optymalnych wartości Q w trakcie treningu. Głębokie sieci Q Jednym z fundamentalnych problemów związanych z wykorzystaniem Q-learningu do uczenia ze wzmocnieniem jest to, że ilość pamięci wymaganej 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 wartościami Q, umożliwiając agentowi uczenie się na podstawie doświadczenia i podejmowanie rozsądnych przypuszczeń co do najlepszych działań. W głębokim Q-learningu funkcje wartości Q są szacowane za pomocą sieci neuronowych. Sieć neuronowa przyjmuje stan jako dane wejściowe, a sieć wyprowadza wartość Q dla wszystkich różnych możliwych działań, które agent może podjąć. Głęboki Q-learning jest realizowany poprzez przechowywanie wszystkich przeszłych doświadczeń w pamięci, obliczanie maksymalnych wyjść dla sieci Q, a następnie użycie funkcji straty do obliczenia różnicy między wartościami bieżącymi a teoretycznie najwyższymi możliwymi wartościami. Głębokie uczenie ze wzmocnieniem a głębokie uczenie Jedną ważną różnicą między głębokim uczeniem ze wzmocnieniem a zwykłym głębokim uczeniem jest to, że w przypadku tego pierwszego dane wejściowe ciągle się zmieniają, co nie ma miejsca w tradycyjnym głębokim uczeniu. Jak model uczenia może uwzględniać dane wejściowe i wyjściowe, które ciągle się zmieniają? Zasadniczo, aby uwzględnić rozbieżność między wartościami przewidywanymi a docelowymi, zamiast jednej sieci neuronowej można użyć dwóch. Jedna sieć szacuje wartości docelowe, podczas gdy druga sieć jest odpowiedzialna za przewidywania. Parametry sieci docelowej są aktualizowane w miarę uczenia się modelu, po upływie wybranej liczby iteracji treningowych. Wyjścia odpowiednich sieci są następnie łączone w celu określenia różnicy.
Uczenie oparte na polityce
Podejścia uczenia opartego na polityce działają inaczej niż podejścia oparte na wartości Q. Podczas gdy podejścia oparte na wartości Q tworzą funkcję wartości, która przewiduje nagrody dla stanów i działań, metody oparte na polityce określają politykę, która będzie mapować stany na działania. Innymi słowy, funkcja polityki, która wybiera działania, jest optymalizowana bezpośrednio bez względu na funkcję wartości. Gradienty polityki Polityka dla głębokiego uczenia ze wzmocnieniem należy do jednej z dwóch kategorii: stochastyczna lub deterministyczna. Polityka deterministyczna to taka, w której stany są mapowane na działania, co oznacza, że gdy polityka otrzyma informacje o stanie, zwracane jest działanie. Tymczasem polityki stochastyczne zwracają rozkład prawdopodobieństwa dla działań zamiast pojedynczego, dyskretnego działania. Polityki deterministyczne są stosowane, gdy nie ma niepewności co do wyników działań, które można podjąć. Innymi słowy, gdy samo środowisko jest deterministyczne. Natomiast wyjścia polityki stochastycznej są odpowiednie dla środowisk, w których wynik działań jest niepewny. Zazwyczaj scenariusze uczenia ze wzmocnieniem wiążą się z pewnym stopniem niepewności, więc stosuje się polityki stochastyczne. Podejścia gradientu polityki mają kilka zalet w porównaniu z podejściami Q-learning, a także pewne wady. Pod względem zalet, metody oparte na polityce szybciej i bardziej niezawodnie zbiegają do optymalnych parametrów. Gradient polityki można po prostu śledzić, aż do określenia najlepszych parametrów, podczas gdy w metodach opartych na wartości małe zmiany w szacowanych wartościach działań mogą prowadzić do dużych zmian w działaniach i związanych z nimi parametrach. Gradienty polityki lepiej sprawdzają się również w przestrzeniach działań o wysokim wymiarze. Gdy istnieje niezwykle duża liczba możliwych działań do podjęcia, głęboki Q-learning staje się niepraktyczny, ponieważ musi przypisać wynik każdemu możliwemu działaniu dla wszystkich kroków czasowych, co może być niemożliwe obliczeniowo. Jednak w metodach opartych na polityce parametry są dostosowywane w czasie, a liczba możliwych najlepszych parametrów szybko maleje w miarę zbieżności modelu. Gradienty polityki są również w stanie implementować polityki stochastyczne, w przeciwieństwie do polityk opartych na wartości. Ponieważ polityki stochastyczne produkują rozkład prawdopodobieństwa, nie trzeba implementować kompromisu między eksploracją a eksploatacją. Jeśli chodzi o wady, główną wadą gradientów polityki jest to, że mogą utknąć podczas poszukiwania optymalnych parametrów, koncentrując się tylko na wąskim, lokalnym zestawie wartości optymalnych zamiast na globalnych wartościach optymalnych. 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 dają nam najlepszą politykę. Najpierw musimy obliczyć oczekiwaną nagrodę polityki. Szacujemy nagrodę polityki, aby mieć cel, coś, ku czemu optymalizować. Funkcja Oceny Polityki to sposób, w jaki obliczamy oczekiwaną nagrodę polityki, i istnieją różne Funkcje Oceny Polityki, które są powszechnie używane, takie jak: wartości początkowe dla środowisk epizodycznych, wartość średnia dla środowisk ciągłych i średnia nagroda na krok czasowy. Wznoszenie gradientu polityki

Wznoszenie gradientu ma na celu przesunięcie parametrów, aż znajdą się w miejscu, gdzie 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 oczekiwanej nagrody polityki, możemy znaleźć wartość parametru “θ”, która maksymalizuje funkcję oceny. Aby zmaksymalizować funkcję oceny J(θ), stosuje się technikę zwaną “wznoszeniem gradientu”. Wznoszenie gradientu jest podobne koncepcyjnie do spadku gradientu w głębokim uczeniu, ale optymalizujemy pod kątem największego wzrostu, a nie spadku. Dzieje się tak, ponieważ nasz wynik nie jest “błędem”, jak w wielu problemach głębokiego uczenia. Nasz wynik to coś, co chcemy zmaksymalizować. Do oszacowania gradientu względem polityki “θ” używa się wyrażenia zwanego Twierdzeniem o Gradiencie Polityki.
Podsumowanie głębokiego uczenia ze wzmocnieniem
Podsumowując, głębokie uczenie ze wzmocnieniem łączy aspekty uczenia ze wzmocnieniem i głębokich sieci neuronowych. Głębokie uczenie ze wzmocnieniem realizowane jest za pomocą dwóch różnych technik: głębokiego Q-learningu i gradientów polityki. Metody głębokiego Q-learningu mają na celu przewidywanie, jakie nagrody będą następować po określonych działaniach podjętych w danym stanie, podczas gdy podejścia gradientu polityki mają na celu optymalizację










