Kuidas rakendada tugevdusõpet reaalse elu planeerimise probleemidele

Hiljuti olen avaldanud mõned näited, kus olen loonud tugevdusõppe mudelid mõne reaalse elu probleemide jaoks. Näiteks tugevdusõppe kasutamine toidukorra planeerimisel, mis põhineb seatud eelarvel ja isiklikel eelistustel.

Tugevdusõpet saab sel viisil kasutada mitmesuguste planeerimisprobleemide jaoks, sealhulgas reisiplaanid, eelarve planeerimine ja äristrateegia. RL kasutamise kaks eelist on see, et see võtab arvesse tulemuste tõenäosust ja võimaldab meil kontrollida keskkonna osi. Seetõttu otsustasin kirjutada lihtsa näite, et teised võiksid kaaluda, kuidas nad saaksid seda kasutada mõne oma igapäevase või tööprobleemi lahendamiseks.

Mis on tugevdusõpe?

Tugevdusõpe (RL) on testimisprotsess, millised toimingud on keskkonnaseisundi jaoks kõige paremad katse-eksituse meetodil. Mudel tutvustab juhuslikku käivituspõhimõtet ja iga kord, kui mõni toiming võetakse, kantakse mudelile algsumma (nn tasu). See jätkub kuni eesmärgi saavutamiseni, nt. võidate või kaotate mängu, kus see jooks (või osa) lõpeb ja mäng lähtestatakse.

Kui mudel läbib üha rohkem episoode, hakatakse õppima, millised toimingud viivad meid tõenäolisemalt positiivse tulemuseni. Seetõttu leiab ta parimad toimingud igas riigis, mida nimetatakse optimaalseks poliitikaks.

Tugevdamise õppimise üldprotsess

Paljud RL-i rakenduste veebirongimudelid mängivad mängu või virtuaalset keskkonda, kus mudel suudab keskkonnaga korduvalt suhelda. Näiteks lasite mudelil mängida ikka ja jälle tic-tac-toe simulatsiooni, et see jälgiks erinevate käikude proovimise õnnestumist ja ebaõnnestumist.

Tõelises elus ei ole meil tõenäoliselt võimalust oma mudelit sel moel koolitada. Näiteks vajab veebipoodide ostmise soovitussüsteem inimese tagasisidet, et öelda meile, kas see on õnnestunud või mitte, ning selle kättesaadavus on piiratud, kuna kasutajate arv suhtleb ostude saidiga.

Selle asemel võivad meil olla valimi andmed, mis näitavad ostutrende aja jooksul, mida saame kasutada hinnanguliste tõenäosuste loomiseks. Neid kasutades saame luua aluseks oleva tõenäosusjaotuse üldistamiseks nn osaliselt jälgitava Markovi otsustusprotsessi (POMDP).

Markovi otsustusprotsessid (POMDP)

Markovi otsustusprotsessid (MDP) pakuvad raamistikku otsuste tegemise modelleerimiseks olukordades, kus tulemused on osaliselt juhuslikud ja osaliselt otsustaja kontrolli all. MDPde peamine omadus on see, et nad järgivad Markovi omandit; kõik tulevased riigid on olevikust sõltumata minevikust. Teisisõnu, järgmisse olekusse kolimise tõenäosus sõltub ainult hetkeseisust.

POMDP-d toimivad sarnaselt, välja arvatud see, et tegemist on MDP-de üldistusega. Lühidalt tähendab see seda, et mudel ei saa lihtsalt keskkonnaga suhelda, vaid sellele antakse selle asemel tõenäoline jaotus vastavalt meie tähelepanekutele. Lisateavet leiate siit. Võime oma POMDP-s kasutada väärtuse iteratsiooni meetodeid, kuid selle asemel otsustasin selle näite puhul kasutada Monte Carlo Learningit.

Näidiskeskkond

Kujutage ette, et olete tagasi koolis (või võib-olla ikka veel) ja olete klassiruumis, õpetajal on range poliitika paberijäätmete kohta ja ta nõuab, et kõik vanapaberi tükid tuleb talle klassiruumi ette anda ja ta paigutab jäätmed prügikasti (prügikast).

Kuid mõned klassi õpilased hoolivad õpetaja reeglitest vähe ja pigem säästavad nad paberist klassiruumis ringi toimetamisega seotud probleeme. Selle asemel võivad need häirivad isikud visata vanapaberi eemalt eemalt. Nüüd vihastab see õpetajat ja neid, kes seda teevad, karistatakse.

See tutvustab väga elementaarset tasu ja kontseptsiooni ning meil on klassikeskkonna näide, nagu on näidatud järgmisel diagrammil.

Meie eesmärk on leida iga inimese jaoks parimad juhised, et paber jõuaks õpetajani ja asetaks prügikasti ning väldiks prügikasti viskamist.

Riigid ja meetmed

Meie keskkonnas võib iga inimest pidada riigiks ja neil on mitmesuguseid toiminguid, mida nad saavad vanapaberiga teha. Nad võivad anda selle üle kõrvalolevale klassikaaslasele, hoiab seda kinni või mõni võib visata selle prügikasti. Seetõttu saame oma keskkonna kaardistada standardsema võrgu paigutusega, nagu allpool näidatud.

See on sihipäraselt kujundatud nii, et igal inimesel või osariigil on neli toimingut: üles, alla, vasakule või paremale ning mõlemal on erinev tegelik elu vastavalt sellele, kes selle tegid. Toiming, mis paneb inimese seina (sh keskel olev must plokk) näitab, et inimene hoiab paberit. Mõnel juhul on see toiming dubleeritud, kuid meie näites pole see probleem.

Näiteks põhjustab inimese A tegevus:

  • Üles = visake prügikasti
  • Alla = hoidke paberil
  • Vasakul = möödub inimesele B
  • Paremale = hoidke paberil

Tõenäoline keskkond

Praegu oleme keskkonda osaliselt kontrolliv otsustaja meie. Me ütleme igale inimesele, milliseid toiminguid nad peaksid võtma. Seda nimetatakse poliitikaks.

Esimene väljakutse, millega ma oma õppimisel silmitsi seisan, on mõistmine, et keskkond on tõenäoliselt tõenäoline ja mida see tähendab. Tõenäoline keskkond on see, kui me kästame riigil oma poliitika kohaselt midagi ette võtta, on tõenäoline, kas seda järgitakse edukalt. Teisisõnu, kui ütleme inimesele A, et ta edastaks paberi inimesele B, võib ta otsustada mitte järgida meie poliitika juhiseid ja võib visata vanapaberi prügikasti.

Teine näide on see, kui soovitame veebipoes tooteid, pole mingit garantiid, et inimene neid kõiki näeb.

Täheldatud üleminekutõenäosused

Vaatletud üleminekutõenäosuste leidmiseks peame koguma mõned näidisandmed keskkonna toimimise kohta. Enne teabe kogumist tutvustame kõigepealt esialgset poliitikat. Protsessi alustamiseks valisin juhuslikult ühe, mis näib nii, nagu see tooks kaasa positiivse tulemuse.

Nüüd jälgime toiminguid, mida iga inimene selle poliitika alusel võtab. Teisisõnu, ütleme, et istusime klassiruumi taga ja lihtsalt vaatasime klassi ning täheldasime inimese A puhul järgmisi tulemusi:

Isiku A täheldatud toimingud

Me näeme, et paber läbis selle inimese 20 korda; 6 korda hoidsid nad sellest kinni, 8 korda andsid selle inimesele B ja veel 6 korda viskasid prügikasti. See tähendab, et meie esialgse poliitika kohaselt on selle inimese käes hoidmise või prügikasti viskamise tõenäosus 6/20 = 0,3 ja samamoodi 8/20 = 0,4 inimesele B edastamiseks. Ülejäänud klassi võime jälgida koguge järgmised näidisandmed:

Vaadeldav tegeliku elu tulemus

Samamoodi arvutame siis tõenäosused järgmise maatriksina ja saaksime seda kogemuse simuleerimiseks kasutada. Selle mudeli täpsus sõltub suuresti sellest, kas tõenäosused on kogu keskkonna tõesed kujutised. Teisisõnu, peame tagama, et meil oleks valim, mis on suur ja piisavalt rikkalik.

Täheldatud üleminekutõenäosuse funktsioon

Mitme relvaga bandiidid, episoodid, preemiad, tagastamine ja diskontomäär

Niisiis on meie üleminekutõenäosused hinnatud POMDP valimi andmete põhjal. Enne mis tahes mudelite tutvustamist on järgmine samm hüvede tutvustamine. Siiani oleme arutanud ainult viimase sammu tulemusi; kas paber pannakse õpetaja poolt prügikasti ja võrk annab positiivse preemia, või visatakse A või M poolt ja võrk negatiivse preemia. Seda lõplikku preemiat, mis episoodi lõpetab, nimetatakse terminali preemiaks.

Kuid on ka kolmandat tulemust, mis on samuti ideaalsest väiksem; paber läheb pidevalt ümber ega jõua prügikasti kunagi (või võtab palju kauem kui tahaksime). Seetõttu on kokkuvõtlikult kolm lõpptulemust

  • Paber pannakse õpetaja poolt prügikasti ja võrk annab talle positiivse preemia
  • Paber visatakse õpilase poolt prügikasti ja võrk annab negatiivse preemia
  • Paberit antakse pidevalt mööda tuba ringi või takerdub õpilastesse pikemaks ajaks, kui me tahaksime

Paberi prügikasti viskamise vältimiseks pakume sellele suurt negatiivset tasu, ütleme -1, ja kuna õpetaja on selle prügikasti paigutamisega rahul, võrdub see suure positiivse preemiaga +1. Selle tulemuse vältimiseks, kus see pidevalt ruumi ümber kulgeb, määrasime kõigi teiste toimingute eest väikese negatiivse väärtuse, näiteks -0,04.

Kui valime selle positiivse või nullnumbrina, võib mudel lasta paberil ringi käia, kuna parem oleks saada väike positiivne kui risk läheneda negatiivse tulemuse lähedale. See arv on ka väga väike, kuna see kogub ainult ühe terminali preemia, kuid episoodi lõpetamiseks võib kuluda palju samme ja peame tagama, et kui paber on prügikastis, positiivset tulemust ei tühistata.

Pange tähele: hüved on alati üksteise suhtes ja olen valinud suvalised arvud, kuid neid saab muuta, kui tulemused pole soovitud.

Kuigi oleme näites tahtmatult arutanud episoode, peame selle veel ametlikult määratlema. Episood on lihtsalt toimingud, mille iga paber võtab klassiruumis läbi prügikasti, mis on terminali olek ja millega episood lõpeb. Teistes näidetes, näiteks mängides tic-tac-toe, tähendaks see mängu lõppu, kus võidad või kaotad.

Raamat võiks teoreetiliselt alata ükskõik millises seisus ja see tutvustab, miks vajame piisavalt episoode, et tagada kõigi olekute ja toimingute piisav testimine, nii et meie tulemust ei juhiks valed tulemused. Kusjuures, mida rohkem episoode tutvustame, seda pikem on arvutusaeg ja sõltuvalt keskkonna ulatusest ei pruugi meil selleks olla piiramatul hulgal ressursse.

Seda nimetatakse mitme relvastatud bandiidi probleemiks; piiratud aja (või muude ressursside) korral peame tagama, et kontrollime iga olekut-toimingupaari piisavalt, et meie poliitikas valitud toimingud oleksid tegelikult optimaalsed. Teisisõnu, peame valideerima, et toimingud, mis on meid minevikus heade tulemusteni viinud, ei ole just õnne tõttu, vaid on tegelikult õiges valikus ja samamoodi toimingute puhul, mis tunduvad olevat kehvad. Meie näites võib see tunduda lihtne, kui väheseid riike meil on, kuid mõelge, kui suurendaksime ulatust ja kuidas see muutub üha enam probleemiks.

Meie RL-mudeli üldeesmärk on valida toimingud, mis maksimeerivad eeldatavat kumulatiivset kasu, mida nimetatakse tootluseks. Teisisõnu: tagasitulek on lihtsalt kogu episoodi eest saadud tasu. Selle arvutamiseks oleks lihtne moodus liita igas episoodis kõik hüved, sealhulgas terminali preemia.

Rangem lähenemisviis on pidada esimesi samme tähtsamaks kui hilisemaid episoode, kohaldades diskonteerimistegurit gamma järgmise valemi abil:

Teisisõnu, me summeerime kõik hüved, kuid kaalume hilisemaid samme gammafaktori alusel, kui palju võidakse neid saavutada.

Kui mõtleme oma näitele, saab diskonteeritud tagastamise kasutamist veelgi selgemini ette kujutada, kuna õpetaja premeerib (või karistab vastavalt) kõiki, kes episoodis osalesid, kuid mõõtkavasid vastavalt sellele, kui kaugel nad lõpptulemusest on.

Näiteks kui paber läks A-st B-ni M-le, kes viskas selle prügikasti, tuleks M-i kõige rohkem karistada, siis B-d selle eest, et ta selle talle ja viimane isik A, kes on endiselt seotud lõpptulemusega, kuid vähem kui M või B. See rõhutab ka seda, et mida kauem (olenevalt sammude arvust) olekus alustamiseks ja prügikasti jõudmiseks kulub, seda vähem autasustatakse või karistatakse, kuid koguneb negatiivsete tulemustega rohkem samme.

Mudeli rakendamine meie näitele

Kuna meie näidiskeskkond on väike, saame neid rakendada ja kuvada mõned käsitsi tehtud arvutused ning illustreerida muutuvate parameetrite mõju.

Mis tahes algoritmi jaoks peame kõigepealt lähtestama olekuväärtuse funktsiooni V (id) ja otsustama seada need väärtuseks 0, nagu allpool näidatud.

Järgmisena laseme mudelil simuleerida keskkonna kogemust, tuginedes meie täheldatud tõenäosusjaotusele. Mudel alustab paberit juhuslikes olekutes ja iga meie poliitikaga seotud tegevuse tulemused põhinevad meie täheldatud tõenäosustel. Näiteks öelgem, et meil on kolm esimest simuleeritud jagu järgmised:

Nende episoodide abil saame arvutada oma esimese väärtuse funktsiooni esimesed värskendused, kasutades kõiki kolme antud mudelit. Praegu valime suvaliste alfa- ja gammaväärtuste väärtuseks 0,5, et muuta oma käearvutused lihtsamaks. Näitame hiljem selle muutuja mõju tulemustele.

Esiteks rakendame ajalist erinevust 0, mis on meie mudelitest kõige lihtsam ja kolm esimest väärtuse värskendust on järgmised:

Kuidas neid on arvutatud? Kuna meie näide on väike, saame arvutusi käsitsi näidata.

Mida me saame selles varases staadiumis jälgida? Esiteks näib TD (0) kasutamine mõne riigi suhtes ebaõiglane, näiteks inimene D, kes pole selles etapis midagi saanud paberist, mis jõuab prügikasti kaks kolmest. Nende uuendamist on mõjutanud ainult järgmise etapi väärtus, kuid see rõhutab, kuidas positiivsed ja negatiivsed hüved levivad nurgast osariikide suunas.

Kui võtame rohkem episoode, jagunevad positiivsed ja negatiivsed hüved kõigis osariikides järjest kaugemale. See on toodud ligikaudselt alloleval diagrammil, kus näeme, et kahel jaos andis positiivne tulemus olekute Õpetaja ja G väärtust, samas kui üksik negatiivne episood karistas inimest M.

Selle näitamiseks võime proovida veel episoode. Kui me korrame samu kolme juba antud rada, anname järgmise olekuväärtuse funktsiooni:

(Pange tähele, oleme selles näites korratud neid kolme episoodi lihtsuse huvides, kuid tegelikul mudelil oleks episoode, kus tulemused põhinevad vaadeldava ülemineku tõenäosuse funktsioonil.)

Ülaltoodud diagramm näitab terminali premeerimist, mis levib parempoolsest ülanurgast väljapoole olekutesse. Sellest lähtuvalt võime otsustada oma poliitikat ajakohastada, kuna on selge, et negatiivne lõpptasu läbib inimest M ja seetõttu mõjutavad B ja C negatiivselt. Seetõttu võime V27 põhjal iga riigi jaoks oma poliitika uuendada, valides iga oleku jaoks järgmise parima olekuväärtuse, nagu on näidatud alloleval joonisel

Selles näites on kaks muret põhjustavat põhjust: esimene on see, et inimese A parim tegevus on visata see prügikasti ja saada negatiivne tasu. Selle põhjuseks on asjaolu, et ükski episoodidest pole seda isikut külastanud ja rõhutab mitme relvastatud bandiidi probleemi. Selles väikeses näites on väga vähe osariike, nii et nende kõigi külastamiseks oleks vaja palju episoode, kuid me peame tagama, et see tehakse.

Põhjus, miks see tegevus selle inimese jaoks parem on, on see, et kummalgi terminaalseisundil pole väärtust, pigem on positiivsed ja negatiivsed tulemused terminaalses hüves. Seejärel saaksime, kui meie olukord seda nõuab, lähtestada V0 tulemuste põhjal lõpp-olekute arvudega.

Teiseks libiseb inimese M olekuväärtus pärast episoode edasi-tagasi vahemikus -0,03 kuni -0,51 (umbes) ja peame uurima, miks see juhtub. Selle põhjuseks on meie õppimiskiirus alfa. Praegu oleme kasutusele võtnud ainult oma parameetrid (õppimismäära alfa ja diskontomäära gamma), kuid pole üksikasjalikult selgitanud, kuidas need tulemusi mõjutavad.

Suur õppimiskiirus võib põhjustada tulemuste võnkumist, kuid vastupidiselt ei tohiks see olla nii väike, et lähenemiseks kulub igavesti. Seda on veelgi näidatud alloleval joonisel, mis näitab kogu episoodi kogu V-d ja me näeme selgelt, kuidas üldine kasvav trend erineb episoodide vahel edasi-tagasi. Veel üks hea selgitus õppimismäära kohta on järgmine:

“Golfimängus, kui pall on august kaugel, lööb mängija seda väga tugevalt, et auku võimalikult lähedale jõuda. Hiljem lipuga piirkonda jõudes valib ta täpse lühikese kaadri saamiseks teise kepi.

Nii et pole nii, et ta ei saa palli auku panna ilma lühikese löögi keppi valimata, võib ta saata palli kaks või kolm korda sihtmärgist ette. Kuid kõige parem oleks, kui ta mängib optimaalselt ja kasutab augu saavutamiseks õiget võimsust. ”

Episood

Probleemi jaoks optimaalse õpimäära määramiseks on olemas mõned keerulised meetodid, kuid nagu iga masinõppe algoritmi puhul, siis kui keskkond on piisavalt lihtne, siis korratakse erinevate väärtuste abil, kuni saavutatakse lähenemine. Seda tuntakse ka kui stohhastilist gradienti. Hiljutises RL-i projektis demonstreerisin alfa vähendamise mõju animeeritud visuaali abil ja seda on näidatud allpool. See näitab võnkumist, kui alfa on suur, ja kuidas see alfa vähenemise korral silub.

Samuti peab meil olema ka diskontomäär, mis peaks olema arv vahemikus 0 kuni 1, sageli peetakse seda 0,9 lähedale. Allahindlustegur näitab meile, kui olulised on tulevikus hüved; suur arv näitab, et neid peetakse olulisteks, samas kui selle nihutamine 0-le annab mudelile kavas kaaluda tulevasi samme üha vähem.

Neid mõlemat silmas pidades saame muuta nii alfa väärtuseks 0,5 kuni 0,2 ja gamma väärtuseks 0,5 kui 0,9 ja saavutada järgmised tulemused:

Kuna meie õppimismäär on nüüd palju väiksem, võtab mudeli õppimine kauem aega ja väärtused on üldiselt väiksemad. Kõige silmatorkavam on õpetaja jaoks, kes on selgelt kõige parem. Kuid see suurenenud arvutusaja kompenseerimine tähendab, et meie väärtus M ei võnku enam sel määral, nagu nad olid enne. Nüüd näeme seda meie värskendatud parameetritele järgneva V (de) summa jaoks alloleval diagrammil. Ehkki see pole täiesti sujuv, suureneb kogu V (id) aeglaselt palju sujuvamal kiirusel kui varem ja näib ühtlustuvat nagu me sooviksime, kuid selleks on vaja umbes 75 jagu.

Eesmärgi tulemuse muutmine

Teine RL-i oluline eelis, mida me pole liiga detailselt maininud, on see, et meil on keskkonna üle teatav kontroll. Praegu põhinevad preemiad sellel, mille otsustasime, et oleks kõige parem saada mudel positiivse tulemuse saavutamiseks võimalikult väikeste sammudega.

Ütleme siiski, et õpetaja vahetus ja uus ei pannud õpilasi paberi prügikasti viskamisele pahaks, kui see selleni jõudis. Siis saame selle ümber oma negatiivset tasu muuta ja optimaalne poliitika muutub.

See on eriti kasulik ärilahenduste jaoks. Näiteks öelge, et plaanite strateegiat ja teate, et teatud üleminekud on vähem kui teised, siis võib seda arvestada ja soovi korral muuta.

Järeldus

Oleme vaatlusaluste andmete põhjal loonud lihtsa tugevdusõppe mudeli. On palju asju, mida saaks paremaks muuta või edasi arendada, sealhulgas ka keerukama mudeli kasutamist, kuid see peaks olema hea sissejuhatus neile, kes soovivad proovida ja rakendada omaenda reaalse elu probleeme.

Loodetavasti meeldis teile selle artikli lugemine, kui teil on küsimusi, kommenteerige allpool.

Aitäh

Sterling