Q-õppe sissejuhatus: tugevdamine

See artikkel on minu sarja „Sügav tugevdamine õppimine“ teine ​​osa. Kogu sari on saadaval nii Mediumis kui ka minu YouTube'i kanali videotes.

Sarja esimeses osas õppisime tugevdusõppe põhitõdesid .

Q-õpe on väärtustel põhinev õppimisalgoritm tugevdava õppimise käigus. Selles artiklis tutvume Q-õppe ja selle üksikasjadega:

  • Mis on Q-õpe?
  • Q-õppe taga olev matemaatika
  • Rakendamine pythoni abil

Q-õppimine - lihtsustatud ülevaade

Oletame, et robot peab ületama labürindi ja jõudma lõpp-punkti. Seal on miinid ja robot saab liikuda ainult ühte plaati korraga. Kui robot astub miinile, on robot surnud. Robot peab jõudma lõpp-punkti võimalikult lühikese aja jooksul.

Hindamis- / tasustamissüsteem on järgmine:

  1. Robot kaotab igal sammul 1 punkti. Seda tehakse nii, et robot läheks lühimat teed ja jõuaks eesmärgini võimalikult kiiresti.
  2. Kui robot astub miinile, on punktikaotus 100 ja mäng lõpeb.
  3. Kui robot saab voolu ⚡️, saab ta 1 punkti.
  4. Kui robot jõuab lõppeesmärgini, saab robot 100 punkti.

Nüüd on ilmselge küsimus: kuidas õpetada robotit jõudma lõppeesmärgini kõige lühema teega, ilma et see miinile astuks?

Niisiis, kuidas me selle lahendame?

Q-tabeli tutvustus

Q-tabel on lihtsalt väljamõeldud nimi lihtsa otsingu tabeli jaoks, kus arvutame välja maksimaalse eeldatava tulevase kasu igas riigis. Põhimõtteliselt juhatab see tabel meid igas osariigis parima tegutsemise poole.

Iga servata paani juures on neli toimingute arvu. Kui robot on olekus, võib ta liikuda üles või alla või paremale või vasakule.

Nii, modelleerime seda keskkonda oma Q-tabelis.

Q-tabeli veerud on toimingud ja read olekud.

Iga Q-tabeli skoor on maksimaalne oodatav tulevikutasu, mille robot saab, kui ta selles olekus selle toimingu teeb. See on iteratiivne protsess, kuna peame igas iteratsioonis parandama Q-tabelit.

Kuid küsimused on järgmised:

  • Kuidas arvutada Q-tabeli väärtused?
  • Kas väärtused on saadaval või eelnevalt määratletud?

Q-tabeli iga väärtuse õppimiseks kasutame Q-õppe algoritmi.

Matemaatika: Q-õppe algoritm

Q-funktsioon

Q-funktsiooni kasutab Bellman võrrandi ja võtab kaks sisendit: olekus ( s ) ja tegevus ( ).

Kasutades ülaltoodud funktsiooni, saame Q väärtused tabeli lahtritele.

Kui alustame, on kõik Q-tabeli väärtused nullid.

Väärtuste värskendamiseks on korduv protsess. Nagu me hakkame uurima keskkonda , Q-funktsioon annab meile paremaks ligikaudseid pidevalt ajakohastatakse Q-väärtused tabelis.

Mõelgem nüüd, kuidas värskendamine toimub.

Q-õppe algoritmi protsessi tutvustamine

Kõik värvilised lahtrid on üks samm. Mõistame kõiki neid samme üksikasjalikult.

1. samm: lähtestage Q-tabel

Ehitame kõigepealt Q-tabeli. Seal on n veergu, kus n = toimingute arv. On m rida, kus m = olekute arv. Initsialiseerime väärtused 0-ga.

Meie roboti näites on meil neli toimingut (a = 4) ja viis olekut (s = 5). Nii ehitame nelja veeru ja viie reaga tabeli.

2. ja 3. toiming: valige toiming ja sooritage see

Seda etappide kombinatsiooni tehakse määramata aja jooksul. See tähendab, et see samm kestab seni, kuni treeningu peatame, või peatub treeningtsükkel vastavalt koodis määratletule.

Q-tabeli põhjal valime olekus (riikides) toimingu (a). Kuid nagu varem mainitud, on episoodi algul iga Q-väärtus 0.

Nii et nüüd tuleb mängu uurimise ja ekspluateerimise kompromissi mõiste. Selles artiklis on rohkem üksikasju.

Kasutame midagi, mida nimetatakse epsiloni ahneks strateegiaks .

Alguses on epsiloni määr suurem. Robot uurib keskkonda ja valib juhuslikult tegevused. Selle taga on loogika, et robot ei tea keskkonnast midagi.

Kui robot uurib keskkonda, väheneb epsiloni kiirus ja robot hakkab keskkonda ekspluateerima.

Uurimisprotsessi käigus muutub robot Q-väärtuste hindamisel järk-järgult enesekindlamaks.

Roboti näite jaoks on valida nelja toimingu vahel : üles, alla, vasakule ja paremale.Alustame nüüd koolitust - meie robot ei tea keskkonnast midagi. Nii et robot valib juhusliku tegevuse, ütle õigesti.

Nüüd saame Bellmani võrrandi abil värskendada Q-väärtusi stardis viibimise ja paremale liikumise kohta.

4. ja 5. etapp: hindamine

Nüüd oleme võtnud meetmeid ja jälginud tulemust ja tasu. Peame värskendama funktsiooni Q (s, a).

Robotimängu puhul on skoori / preemia struktuuri kordamine järgmine:

  • võimsus = +1
  • minu = -100
  • lõpp = +100

Kordame seda ikka ja jälle, kuni õppimine lõpetatakse. Sel moel värskendatakse Q-tabelit.

Q-õppe Pythoni juurutamine

Mõiste ja koodi rakendamine on selgitatud minu videos.

Telli minu YouTube'i kanal Lisateabe saamiseks tehisintellekti videote kohta: ADL .

Lõpuks ... võtame kokku

  • Q-õpe on väärtuspõhine tugevdava õppimise algoritm, mida kasutatakse funktsiooni Q abil optimaalse tegevuse valimise poliitika leidmiseks.
  • Meie eesmärk on maksimeerida väärtusfunktsiooni Q.
  • Q-tabel aitab meil leida iga osariigi jaoks parim tegevus.
  • See aitab oodatud tasu maksimeerida, valides kõigist võimalikest toimingutest parima.
  • Q (olek, tegevus) tagastab selle tegevuse eeldatava tulevase tasu selles olekus.
  • Seda funktsiooni saab hinnata Q-õppe abil, mis kordab Q (s, a) korduvalt Bellmani võrrandi abil.
  • Esialgu uurime keskkonda ja värskendame Q-tabelit. Kui Q-tabel on valmis, hakkab agent keskkonda kasutama ja paremaid toiminguid tegema.

Järgmine kord töötame sügava Q-õppe näite kallal .

Seni nautida tehisintellekti?

Tähtis : nagu varem öeldud, on see artikkel minu sarja „Sügav tugevdamine õppimine” teine ​​osa. Kogu seeria on saadaval nii artiklites Medium kui ka videotes minu YouTube'i kanalil.

Kui teile minu artikkel meeldis, klõpsake palun? t o aidata mind peatada motiveeritud, et kirjutada artikleid. Palun jälgige mind M ediumis ja muus sotsiaalmeedias:

Kui teil on küsimusi, palun andke mulle sellest teada allpool olevas kommentaaris või Twitteris .

Telli rohkemate videote jaoks minu YouTube'i kanal.