Q-učení

V umělé inteligenci , přesněji ve strojovém učení , je Q- učení technikou posilování učení . Tato technika nevyžaduje žádný počáteční model prostředí . Písmeno „Q“ označuje funkci, která měří kvalitu akce provedené v daném stavu systému.

Popis

Tato metoda učení umožňuje naučit se zásadu, která označuje, jakou akci provést v každém stavu systému. Funguje to tak, že se naučíte známou hodnotovou funkci stavu a akce, která určuje potenciální zisk, tj. Dlouhodobou odměnu , přinesenou provedením určité akce v určitém stavu dodržováním optimální politiky. Když je tato funkce hodnoty akčního stavu známa / naučená agentem, lze optimální zásadu vytvořit výběrem akce maximální hodnoty pro každý stav, tj. Výběrem akce, která maximalizuje hodnotu, když je agent ve stavu .

Jednou ze silných stránek -learningu je to, že umožňuje porovnat pravděpodobné přínosy přijetí přístupných akcí bez jakékoli počáteční znalosti prostředí. Jinými slovy, ačkoli je systém modelován jako Markovův rozhodovací proces (dokončen), agent se učí nevím a algoritmus - učení ho nepoužívá.

Tento pojem učení odměn byl původně představen ve Watkinsově práci v roce 1989. Je to varianta učení časových rozdílů. Následně se ukázalo, že - učení konverguje k optimální politice, to znamená, že vede k maximalizaci celkové odměny po sobě jdoucích fází.

Algoritmus

Situace se skládá z agenta, sady stavů a akcí . Provedením akce se agent přesune z jednoho stavu do nového stavu a obdrží odměnu (jedná se o číselnou hodnotu). Cílem agenta je maximalizovat jeho celkovou odměnu. Toho je dosaženo učením optimální akce pro každý stát. Optimální akce pro každý stát je ta, která má největší dlouhodobou odměnu. Tato odměna je váženým součtem matematického očekávání odměn každého budoucího kroku ze současného stavu. Váha každého kroku může být tam, kde je zpoždění mezi aktuálním a budoucím krokem a číslo mezi 0 a 1 (tj. ), Které se nazývá faktor slevy .

Algoritmus vypočítá funkci hodnoty akčního stavu:

Před zahájením učení je funkce libovolně inicializována. Potom při každé volbě akce agent sleduje odměnu a nový stav (který závisí na předchozím stavu a aktuální akci). Srdcem algoritmu je aktualizace hodnotové funkce . Definice hodnotové funkce se aktualizuje v každém kroku takto:

kde je nový stav, je předchozí stav, je zvolená akce, je odměna přijatá agentem, je číslo mezi 0 a 1, které se nazývá faktor učení , a je faktor aktualizace .

Epizoda algoritmu končí, když je konečný stav. Avšak - učení lze použít i na jiné než epizodické úkoly. Pokud je faktor slevy menší než 1, je hodnota akčního stavu konečná i pro nekonečno.

Pozn .: U každého konečného stavu se hodnota nikdy neaktualizuje a udržuje svou počáteční hodnotu. Obvykle se inicializuje na nulu.

Pseudo kód

Zde je pseudokód Q-učení.

initialiser Q[s, a] pour tout état s, toute action a de façon arbitraire, mais Q(état terminal, a) = 0 pour toute action a répéter //début d'un épisode initialiser l'état s répéter //étape d'un épisode choisir une action a depuis s en utilisant la politique spécifiée par Q (par exemple ε-greedy) exécuter l'action a observer la récompense r et l'état s' Q[s, a] := Q[s, a] + α[r + γ maxa' Q(s', a') - Q(s, a)] s := s' a := a' jusqu'à ce que s soit l'état terminal

Vliv proměnných na algoritmus

Faktor učení

Faktor učení určuje, o kolik nová vypočítaná informace překoná starou. Pokud = 0, agent se nic nenaučí. Naopak, pokud = 1, agent vždy ignoruje vše, co se naučil, a bude brát v úvahu pouze poslední informaci.

V deterministickém prostředí je rychlost učení optimální. Když je problém náhodný, algoritmus za určitých podmínek konverguje v závislosti na rychlosti učení. V praxi často tato rychlost odpovídá po celou dobu trvání procesu.

Faktor slevy

Faktor slevy γ určuje velikost budoucích odměn. Faktor 0 způsobí, že agent bude krátkozraký, protože vezme v úvahu pouze aktuální odměny, zatímco faktor blízký 1 by také přinesl vzdálenější odměny. Pokud je diskontní faktor blízký nebo rovný 1, hodnota se může lišit.

Rozšíření a varianty

Dvojité Q- učení

Jelikož Q- learning využívá maximální odhad, Q- učení nadhodnocuje hodnotu akcí, a proto je v hlučných prostředích učení pomalé. Tento problém je řešen ve variantě zvané dvojité Q- učení, která využívá dvě hodnotící funkce a učí se na dvou různých souborech zkušeností. Aktualizace se provádí příčně:

, a

Vzhledem k tomu, že odhadovaná hodnota je hodnocena pomocí jiné politiky, je problém nadhodnocení vyřešen. Učení nastaveného algoritmu lze provést pomocí technik hlubokého učení, jejichž výsledkem jsou DQN ( hluboké sítě Q ). Pak můžeme mít Double DQN, abychom získali lepší výkon než s původním algoritmem DQN.

Poznámky a odkazy

  1. Tambet Matiisen , „  Demystifikující učení hluboké výztuže | Computational Neuroscience Lab  “ , na neuro.cs.ut.ee ,19. prosince 2015(zpřístupněno 6. dubna 2018 )
  2. CJ Watkins, Poučení ze zpožděných odměn , Kings College, Cambridge, květen 1989
  3. (in) George F Luger, Umělá inteligence: Struktury a strategie pro komplexní řešení problémů. 5. vydání. Addison Wesley,2005, 903  s. ( ISBN  0-321-26318-9 , číst online ) , s. 448
  4. Watkins a Dayan, Q-learning. Machine Learning , 1992
  5. (in) David L. Poole a Alan K. Mackworth , Artificial Intelligence , Cambridge University Press ,2009( ISBN  978-0-511-79479-7 , DOI  10.1017 / CBO9780511794797 , číst online ) , s. 469
  6. Reinforcement Learning: An Introduction , Richard Sutton a Andrew Barto, MIT Press, 1998.
  7. (in) Stuart J. Russell a Peter Norvig , Umělá inteligence: moderní přístup , Prentice Hall ,2010, Třetí  vydání. , 1132  s. ( ISBN  978-0-13-604259-4 ) , str.  649
  8. Hado van Hasselt , „  Double Q-learning  “, Advances in Neural Information Processing Systems , sv.  23,2011, str.  2613–2622 ( číst online [PDF] )
  9. Hado van Hasselt , Arthur Guez a David Silver , „  Hluboké posílení učení s dvojitým Q-učením  “, AAAI konference o umělé inteligenci ,2015, str.  2094–2100 ( číst online [PDF] )
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">