Qrash tanfolyam: A 101 és a Deep Q hálózatok megerősítése 10 perc alatt

A megerősítő tanulás és a Deep Q Networks alapjainak elsajátítása a semmiből

Megrázta Zychlinski

2019. január 9. · 10 perc olvasás

Ez a blogbejegyzés már koreai nyelven is elérhető, olvassa el a jeinalog.tistory.com oldalon

megerősítése

A Qrash tanfolyam sorozat:

  1. 1. rész: Bevezetés a megerősítő tanulásba és a Q-tanulásba
  2. 2. rész: Szakpolitikai színátmenetek és színész-kritikus

Ez a cikk nem feltételez előzetes ismereteket a megerősítő tanulásról, de feltételez bizonyos alapismereteket a neurális hálózatokról.

Az összes különféle gépi tanulási terület közül a legjobban engem a megerősítő tanulás jelent. Azok számára, akik kevésbé ismerik ezt - míg a felügyelt tanulás az értékek vagy osztályok előrejelzésével foglalkozik címkézett adatok alapján, míg a felügyelet nélküli tanulás a fürtözéssel és a kapcsolatok felkutatásával foglalkozik a címkézetlen adatokban, a megerősítő tanulás azzal foglalkozik, hogy valamilyen önkényes lény (amelyet formálisan " Agent ”) kell cselekednie és viselkednie egy adott környezetben. Ennek módja az, hogy az Ügynöknek különféle szcenáriókon végzett tevékenységei alapján jutalmakat vagy büntetéseket kap.

Az egyik első gyakorlati megerősítő tanulási módszer, amelyet megtanultam, a Deep Q Networks volt, és úgy gondolom, hogy ez kiváló indítás ennek az útnak. Tehát engedje meg, hogy végigjárjam Önt azon az úton, amelyen jártam, amikor megpróbáltam megtanulni az RL-t - ideértve a „Hello World” gyakorlatot is, amely jobban segített nekem, mint amit meg tudok magyarázni.

A megerősítő tanulási feladat egy ügynök képzéséről szól, amely kölcsönhatásba lép a környezetével. Az ügynök műveletek végrehajtásával áttér a Környezet különféle szcenárióira, amelyeket állapotoknak neveznek. Az akciók cserébe olyan hozamokat eredményeznek, amelyek lehetnek pozitívak, negatívak vagy nullák. Az Ügynök egyetlen célja a teljes jutalom maximalizálása, amelyet egy epizód alatt összegyűjt, ami minden, ami a kezdeti állapot és a végállapot között történik. Ennélfogva megerősítjük az Ügynököt bizonyos cselekvések végrehajtásában azáltal, hogy pozitív jutalmakkal látjuk el, és elrugaszkodunk másoktól negatív jutalmak nyújtásával. Így megtanul egy ügynök stratégiát vagy politikát kidolgozni.

Vegyük példának a Super Mario-t: Mario a világgal (a környezettel) kölcsönhatásba lépő ügynök. Az állapotok pontosan azok, amelyeket a képernyőn látunk, az Episode pedig egy szint: a kezdeti állapot a szint kezdete, a terminál pedig a szint vége, függetlenül attól, hogy befejeztük-e, vagy elpusztultunk-e próbálkozás közben. Az akciók előrelépnek, hátrafelé mozognak, ugranak, stb. A jutalmak az akciók eredményétől függenek: amikor Mario érméket vagy bónuszokat gyűjt, pozitív jutalmat kap, és amikor elesik vagy ellenség eltalálja, negatív jutalmat kap . Amikor Mario csak csodálkozik, a kapott jutalom nulla, mintha azt mondaná, hogy „nem tettél semmi különöset”.

De itt van egy probléma: a jutalmak összegyűjtéséhez néhány „nem különleges” akcióra van szükség - az érmék felé kell haladni, mielőtt összegyűjthetné őket. Tehát az ügynöknek meg kell tanulnia, hogyan kell kezelni az elhalasztott jutalmakat, megtanulva összekapcsolni azokat azokkal a cselekedetekkel, amelyek valóban okozták őket. Véleményem szerint ez a legérdekesebb dolog a megerősítő tanulásban.

Minden olyan állapot, amelyben az Ügynök tartózkodik, az előző állapot és a választott művelet közvetlen következménye. Az előző állapot egyenes következménye annak is, ami előtte következett, és így tovább, amíg el nem érjük a kezdeti állapotot. Ezeknek a lépéseknek és sorrendjüknek mindegyike tartalmaz információt az aktuális állapotról - és ezért közvetlen hatással van arra, hogy az ügynök melyik műveletet válassza a következő lépésként. De itt nyilvánvaló probléma van: minél tovább megyünk, annál több információra van szüksége az Ügynöknek, amelyet minden egyes lépésnél el kell mentenie és feldolgoznia. Ez könnyen elérheti azt a pontot, ahol egyszerűen kivitelezhetetlen a számítások elvégzése.

Ennek kezelésére feltételezzük, hogy minden állam Markov állam; vagyis - feltételezzük, hogy bármely állapot kizárólag az azt megelőző állapottól és az abból az állapotból a jelenlegi állapotba (az elvégzett cselekvés és a jutalom) való átmenettől függ. Lássunk egy példát - nézzük meg ezt a két Tic Tac Toe játékot: