Q-oppiminen

Vuonna tekoälyä , tarkemmin sanoen koneoppimisen , Q-oppiminen on vahvistusoppiminen tekniikkaa . Tämä tekniikka ei vaadi alustavaa ympäristömallia . Kirjain 'Q' tarkoittaa toimintoa, joka mittaa tietyssä järjestelmän tilassa suoritetun toiminnan laatua.

Kuvaus

Tämän oppimismenetelmän avulla voit oppia käytännön, joka kertoo suoritettavan toiminnan jokaisessa järjestelmän tilassa. Se toimii oppimalla merkittävä valtion toiminta-arvo-funktio, jonka avulla voit määrittää potentiaalisen voiton, ts. Pitkän aikavälin palkkion , joka saadaan suorittamalla tietty toiminta tietyssä tilassa noudattamalla optimaalista käytäntöä. Kun agentti tietää / oppii tämän toimintatilan arvofunktion, optimaalinen käytäntö voidaan rakentaa valitsemalla maksimiarvotoiminto kullekin tilalle, ts. Valitsemalla toiminto, joka maksimoi arvon, kun agentti on tilassa .

Yksi oppimisen vahvuuksista on, että sen avulla voidaan verrata saavutettavissa olevien toimintojen todennäköisiä hyötyjä ilman alustavaa tietoa ympäristöstä. Toisin sanoen, vaikka järjestelmä on mallinnettu Markovin päätöksentekoprosessiksi (valmis), agentti oppii tuntematon ja algoritmi - oppiminen ei käytä sitä.

Tämä palkkatason oppimisen käsite otettiin alun perin käyttöön Watkinsin opinnäytetyössä vuonna 1989. Se on muunnelma ajallisesta ero-oppimisesta. Myöhemmin osoitettiin, että - oppiminen lähentyy kohti optimaalista politiikkaa, toisin sanoen se johtaa maksimoimaan peräkkäisten vaiheiden kokonaispalkkion.

Algoritmi

Tilanne koostuu agentista, joukosta valtioita ja toimia . Suorittamalla toiminnon agentti siirtyy tilasta uuteen tilaan ja saa palkkion (se on numeerinen arvo). Agentin tavoitteena on maksimoida hänen kokonaispalkkionsa. Tämä saavutetaan oppimalla kunkin valtion optimaalinen toiminta. Kunkin valtion optimaalinen toiminta on se, jolla on suurin pitkän aikavälin palkinto. Tämä palkkio on painotettu summa jokaisen tulevan vaiheen nykyisestä tilasta tulojen matemaattisesta odotuksesta . Kunkin vaiheen paino voi olla missä nykyisen ja tulevan vaiheen välinen viive ja luku välillä 0 ja 1 (eli ) kutsutaan diskonttakertoimeksi .

Algoritmi laskee toimintotilan arvon funktion:

Ennen oppimisen aloittamista toiminto alustetaan mielivaltaisesti. Sitten agentti tarkkailee jokaisella toimintavaihtoehdolla palkintoa ja uutta tilaa (mikä riippuu edellisestä tilasta ja nykyisestä toiminnasta). Algoritmin ydin on arvofunktion päivitys . Arvofunktion määritelmä päivitetään jokaisessa vaiheessa seuraavasti:

missä on uusi tila, on edellinen tila, on valittu toiminto, on agentin saama palkkio , on luku välillä 0 ja 1, jota kutsutaan oppimistekijäksi , ja se on päivityskerroin .

Jakso algoritmista päättyy, kun se on lopullinen tila. Kuitenkin - oppimista voidaan soveltaa myös ei-episodisiin tehtäviin. Jos diskonttakerroin on pienempi kuin 1, toimintatilan arvo on rajallinen jopa äärettömyyteen.

Huom: Jokaisen lopullisen tilan arvoa ei koskaan päivitetä, ja se säilyttää alkuperäisen arvonsa. Yleensä se alustetaan nollaan.

Pseudokoodi

Tässä on Q-oppimisen pseudokoodi.

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

Muuttujien vaikutus algoritmiin

Oppimistekijä

Oppimistekijä määrää, kuinka paljon uusi laskettu tieto ylittää vanhan. Jos = 0, agentti ei opi mitään. Päinvastoin, jos = 1, agentti jättää aina huomioimatta kaiken oppimansa ja ottaa huomioon vain viimeisen tiedon.

Deterministisessä ympäristössä oppimisnopeus on optimaalinen. Kun ongelma on stokastinen, algoritmi lähentyy tietyissä olosuhteissa oppimisnopeudesta riippuen. Käytännössä tämä nopeus vastaa usein prosessin koko keston ajan.

Alennuskerroin

Diskonttauskerroin y määrittää tulevien palkkioiden koon. Kerroin 0 tekisi agentista myopisen, kun otetaan huomioon vain nykyiset palkkiot, kun taas tekijä lähellä 1 tuottaisi myös kauempana olevia palkkioita. Jos diskonttakerroin on lähellä tai yhtä suuri kuin 1, arvon arvo voi vaihdella.

Laajennukset ja vaihtoehdot

Kaksinkertainen Q- oppiminen

Koska Q- oppiminen käyttää maksimointiarviointia, Q- oppiminen yliarvioi toimintojen arvon ja siksi meluisissa ympäristöissä oppiminen on hidasta. Tämä ongelma ratkaistaan ​​kaksois-Q- oppimiseksi kutsutulla muunnelmalla, joka käyttää kahta arviointitoimintoa ja on oppinut kahdesta eri kokemussarjasta. Päivitys tapahtuu poikittain:

ja

Koska arvioitu arvo arvioidaan toista käytäntöä käyttäen, yliarvioinnin ongelma ratkaistaan. Asetetun algoritmin oppiminen voidaan suorittaa käyttämällä syvällisiä oppimistekniikoita, jolloin saadaan DQN: t ( syvät Q-verkot ). Silloin meillä voi olla kaksinkertainen DQN, jotta saavutamme paremman suorituskyvyn kuin alkuperäisellä DQN-algoritmilla.

Huomautuksia ja viitteitä

  1. Tambet Matiisen , "  Demystifying Deep Reinforcement Learning | Laskennallinen neurotieteen laboratorio  ” , osoitteessa neuro.cs.ut.ee ,19. joulukuuta 2015(käytetty 6. huhtikuuta 2018 )
  2. CJ Watkins, Oppiminen viivästyneistä palkinnoista , Kings College, Cambridge, toukokuu 1989
  3. (in) George F Luger, Artificial Intelligence: rakenteita ja strategioita monimutkaisten ongelmien ratkaisemiseksi. 5. painos. , Addison Wesley,2005, 903  Sivumäärä ( ISBN  0-321-26318-9 , lue verkossa ) , s. 448
  4. Watkins ja Dayan, Q-oppiminen. Koneoppiminen , 1992
  5. (in) David L. Poole ja Alan K. Mackworth , Artificial Intelligence , Cambridge University Press ,2009( ISBN  978-0-511-79479-7 , DOI  10.1017 / CBO9780511794797 , luettu verkossa ) , s. 469
  6. Vahvistusoppiminen: Johdanto , Richard Sutton ja Andrew Barto, MIT Press, 1998.
  7. (in) Stuart J. Russell ja Peter Norvig , Artificial Intelligence: Modern Approach , Prentice Hall ,2010, Kolmas  painos. , 1132  Sivumäärä ( ISBN  978-0-13-604259-4 ) , s.  649
  8. Hado van Hasselt , "  Double Q-learning  ", Advances in Neural Information Processing Systems , voi.  23,2011, s.  2613–2622 ( lue verkossa [PDF] )
  9. Hado van Hasselt , Arthur Guez ja David Silver , "  Deep reinforcement learning with double Q-learning  ", AAAI-tekoälyn konferenssi ,2015, s.  2094–2100 ( lue verkossa [PDF] )
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">