UNIVERZITET U NOVOM SADU
TEHNIČKI FAKULTET “MIHAJLO PUPIN” ZRENJANIN
MEKO RAČUNARSTVO RAČUNARSTVO SEMINARSKI RAD
“Reinforcement” učenje – primeri primene
Predmetni nastavnik:
Autor:
Doc. Dr Vladimir Brtka
Dejan Sretenović , IT 113/12
ZRENJANIN, 2013
„Reinforcement“ učenje-primeri primene
2013.
Uvod Učenje jačanjem/osnaživanjem (Reinforcement Learning - RL) je, kako definišu Florentin Woergoetter i Bernd Porr , učenje putem interakcije sa okruženjem. RL agent uči od posledica svojih akcija, pre nego da ga eksplicitno uče i vrše odabir njegovih akcija na bazi prošlog iskustva (eksploatacije) i putem novih izbora (istraživanja), što u suštini predstavlja učenje na pokušajima i greškama (trial and error, eng.). Signal pojačanja koji RL agent dobija je numerička nagrada (reward ), koji kodira uspeh ishoda akcije, pa agent traži da nauči da bira akcije koje maksimiziraju akumuliranu nagradu u vremenu. [1] Dakle, možemo reći da je RL agent kao dete, koje dok upoznaje svet oko sebe, puzi, maše rukama, dodiruje predmete iz okruženja, bez da mu neko pokazuje šta treba da radi. Samim tim što proba na različite, često slučajne načine, da izvodi razne akcije, ono dobija povratne informacije iz okruženja i ustanovljava koje akcije daju najveću nagradu. Grafički, interakcija agenta sa okruženjem može da se predstavi ovako:
Slika 1. Interakcija RL-agenta i okruženja
RL je učenje šta da se uradi – kako da se stanja mapiraju u akcije, tako da se maksimizira numerički signal nagrade. Agentu koji uči nije rečeno unapred koje akcije da preduzme, kao u većini oblika mašinskog učenja, već on mora da otkrije koje akcije donose najveću nagradu isprobavajući ih. U nekim slučajevima, akcije mogu da utiču ne samo na trenutnu nagradu, već i na naredna stanja, kao i naredne nagrade. Ove dve karakteristike – pokušaj i greška, pretraga i odložena nagrada – su dve najznačajnije odlike RL. Stoga možemo reći da se RL ne definiše određivanjem algoritama učenja, već određivanjem problema učenja. U osnovi, problem RL agenta u okruženju se posmatra sa 3 aspekta: senzacije (osećaja), akcije i cilja, i to u najopštijoj formi bez trivijalizacije ma kog od navedenih. [2] U ovom radu biće predstavljeno nekoliko primena praktične primene RL, odnosno njegovih aplikacija.
Dejan Sretenović, IT 113/12
1
„Reinforcement“ učenje-primeri primene
2013.
1. Primena RL RL je popularno iz razloga što služi kao teoretski alat za proučavanje principa učenja agenta da se ponaša. Takođe, mnogi istraživači ga koriste kao praktični računarski alat za konstruisanje autonomnih sistema koji sebe unapređuju sa iskustvom. Ove aplikacije se pojavljuju u oblastima od robotike, preko industrijske proizvodnje sve do kombinatornih problema pretrage koji se javljaju kod igranja igara. [4, str. 34]
1.1 Primena RL za kontrolu robota Robotika je važno polje primene neuronskih mreža. Obično su ove mreže dizajnirane da budu direktni manipulatori što je najvažnija forma industrijskog robota – da hvata objekte na osnovu podataka sa senzora. Druga primena uključuje upravljanje i planiranje kretanja autnonomnih robota-vozila. Glavni zadatak u robotici predstavlja izvođenje pokreta u zavisnosti od podataka sa senzora. Postoji četiri problema za razmatranje: 1. Prednja kinematika Kinematika je nauka koja tretira kretanje bez osvrta na sile koje ga izazivaju. Izučavaju se pozicija, brzina, ubrzanje i svi viši derivati niza promenljivih pozicije. Osnovni problem u proučavanju mehaničke manipulaciji je prednja kinematika. Ovo je statički geometri jski problem izračunavanja pozicije i orijentacije krajnjeg efektora (ruke) manipulatora. Posebno, kada su dati setovi uglova na zglobovima, problem prednje kinematike je da izračuna poziciju i orijentaciju osnove alata u odnosu na postolje manipulatora tj. Robota.
Slika 2. Primer manipulatora robota [3, str. 85]
2. Inverzna kinematika Ovaj problem se postavlja ovako: za datu poziciju i orijentaciju krajnjeg efektora manipulatora, izračunati sve moguće setove uglova na zglobovima koji bi mogli da se koriste da se dobije ta data pozicija. Ovo je osnovni problem u praktičnoj upotrebi manipulatora.
Dejan Sretenović, IT 113/12
2
„Reinforcement“ učenje-primeri primene
2013.
3. Dinamika Dinamika je proučavanje sila koje uzrokuju kretanje. Da bi se manipulator pokrenuo iz stanja mirovanja, krajnji efektor kretao konstantnom brzinom, usporio do zaustavljanja, potrebno je da se primeni kompleksni set funkcija obrtnog momenta na pokretače zglobova robota manipulatora. 4. Generisanje putanje kretanja (trajektorije) Da bi se manipulator glatko i kontrolisano kretao sa jednog mesta na drugo, mora da se kreće preko glatke funkcije vremena. Problem generisanja trajektorije je kako tačno da se izračunaju ove funkcije kretanja. 1.1.1 Praktični primeri primene RL za kontrolu robota Navešćemo neke od poznatih primena RL: 1. Primene koje koriste algoritme politike gradijentnih metoda1 a) Kretanje (eng. Locomotion) četvoronošca 2 Najpoznatiji eksperiment je Sony-AIBO robot, njegovo kretanje na četiri noge, a kasnije i pokušaji da timovi takvih robota igraju fudbal. Aibo se proizvodio do 2006. na komercijalnom tržištu kao robot kućni ljubimac jer je mogao da se igra i autonomno uči.
a)
b)
Slika 3. a) AIBO ERS-7 sa prikazanim unutrašnjim kolima [5, ../wiki/AIBO],
b) Prikaz AIBO noge u xyz koordinatnom sistemu 3
b) Algoritam PEGASUS Ovaj algoritam se primenjivao za autonomni let bespilotnog helikoptera i eksperiment izbegavanja prepreka daljinski kontrolisanog modela automobila u nestruktuiranom okruženju. U slučaju helikoptera, PEGAUS je korišćen da helikopter nauči da leti, da nauči kompleksne letačke manevre i da leti inverzno (propelerom okrenutim ka zemlji). Let autonomnog bespilotnog helikoptera je projekat Stanford Univerziteta, a kao primena „reinforcement“ učenja se objašnjava na kursu „Mašinsko učenje“ [7]. 4 Okvir za rešavanje problema su Markovljevi procesi odlučivanja (MDPs) , gde su verovatnoće nagrada nepoznate, pa je uvedena funkcija koja označava kvalitet 1
Policy-gradient methods - spadaju u alternativne metode pretrage politike agenata i kreću od mapiranja iz konačnog okruženja (prostora) u prostor politika agenata. 2 AIBO (Artificial Intelligence roBOt) – robot sa veštačkom inteligencijom 3 PEGASUS – kriptografski algoritam koji se, pored ostalog koristi i za GPS (Global Positioning System) 4 Markov decision processes (MDPs) – matematički okvir za modeliranje procesa odlučivanja gde su izlazi delimično slučajni, a delimično pod kontrolom donosioca odluke.
Dejan Sretenović, IT 113/12
3
„Reinforcement“ učenje-primeri primene
2013.
uparenih stanja i akcija, što znači da se agent izvodi prvo akciju a, pa nastavlja optimalno ili u skladu sa politikom koja mu je zadana.
∑ ( )
Formula 1. Q-kvalitet para stanje-akcija, s’ -slučajno stanje koje se desilo prilikom pokušaja izvođenja akcije a, Pa – verovatnoća akcije u funkciji stanja i slučajnog stanja, Ra – vrednost nagrade za određenu akciju, 0≤γ<1 – diskontni faktor, V -funkcija vrednosti slučajnog stanja
“Reinforcement” učenje može da reši MDPs i bez eksplicitnog navođenja tranzicionih verovatnoća, jer se do njih dolazi korišćenjem simulatora, koji se restartuje mnogo puta iz inicijano slučajnog početn og stanja. Kod automobila su korišćeni laserski senzori za određivane daljine, kao i monokularni signali za procenjivanje dubine, dok je slika deljena na 16 horizontalnih traka. [3, str. 94-95]
a)
b)
Slika 4. a) Autonomni helikopter, b) Simulacija inverznog leta autonomnog helikoptera
2. RL za kretanje dvonošca Kao naslednik AIBO robota, Sony je razvio dvonožnog humanoidnog robota 5 QURIO . Ovaj robot je mogao da prepoznaje glasove i lica, kao i da zapamti ljude, kao i da li im se dopada ili ne. Robot je ušao i u Ginisovu knjigu rekorda kao prvi dvonožni robot koji je mogao da trči (obe noge prilikom kretanja u istom trenutku odvojene od podloge).
Slika 5. Dvonožni robot
5
QRIO (Quest for cuRIOsity) – potraga za radoznalošću
Dejan Sretenović, IT 113/12
4
„Reinforcement“ učenje-primeri primene
2013.
3. Hijererhijski pristup Primenio se za RL planarnog robota sa 3 spone koji sam uči da ustane.
Slika 6. Faze pokreta robota pri učenju ustajanja
1.2 Aplikacija RL kod kompjuterskih igara Igranje igara je dominiralo kao problem u svetu Veštačke inteligencije ( Artificial Intelligence - AI, eng.) još od vremena stvaranja vatre. Igre za dva igrača se ne uklapaju u uspostavljeni okvir za RL jer optimalni kriterijum za te igre nije onaj koji maksimizira nagradu o odnosu na postojeće okruženje, već maksimizacija nagr ade protiv optimalnog protivnika (minimaks). RL algoritmi se mogu adaptirati da rade na izvesnoj generalnoj klasi igara pa su mnogi istraživači primenjivali RL u ovim okruženjima. Jedna od aplikacija bila je i Samuelov sistem za igru „dame“ (Samuel’s check ers playing system, 1959.). Ovo je učilo funkciju vrednosti predstavljenu linearnim funkcijskim aproksimatorom i upotrebilo šemu treninga sličnu ažuriranjima korišćenim kod iteracije vrednosti, privremenih razlika i Q učenja. Skorije, u 90-tim godinama XX veka, Tesauro 6 je primenio temporal difference algoritam na Backgammon igru koja ima 1020 stanja, što ju je činilo nemogućom za RL. Umesto tog algoritma, Tesauro je primenio troslojnu 7 neuronsku mrežu baziranu na backpropagation kao funkcijski aproksimator za funkciju vredosti: Pozicija na tabli Verovatnoća pobede igrača koji je na potezu Tabela 1. TD Gammon rezultati u igrama protiv najboljih ljudskih profesionalnih igrača. Turnir u igri backgammon se sastoji od odigravanja serij a igara za poene dok jedan od igrača ne postigne postavljeni cilj. TD Gammon nije dobijo ni jedan od ovih turnira ali je stigao dovoljno blizu da se smatra da je sada jedan od najboljih igrača na svetu.
Br oj igar a Osnova TD 1.0 TD 2.0 TD 3.0
300.000 800.000 1.500.000
Skr ivene jedini ce
Rezul tat
80 40 80
Loš Izgubio sa 13 poena u 51 igri Izgubio sa 7 poena u 38 igara Izgubio sa 1 poenom u 40 igara
Korišćene su dve verzije algoritama za učenje:
6
Temporal difference (TD) learning je prediktivni metod. Najviše se koristi za rešavanje RL problema i kombinacija je Monte Carlo ideja i ideja dinamičkog programiranja (DP). 7 Backpropagation, skraćenica za „prostiranje grešaka unazad“, opšti metod za trening veštačkih neuronskih mreža. Od željenih izlaza, mreža uči od više ulaza, na sličan način kao što dete uči da prepozna psa iz primera više pasa. [5 search: Backpropagation]
Dejan Sretenović, IT 113/12
5
„Reinforcement“ učenje-primeri primene
2013.
Osnovni ( Basic) TD-Gammon – koristio je veoma malo predefinisanog znanja o igri, a pozicije na tabli su virtualno bile samo grubo kodirane, dovoljno moćne samo da dozvole neuronskoj mreži da razlikuje konceptualno raličite pozicije TD-Gammon – bio je isto grubo kodiran, s tim da su mu ručno ubačena pojedina svojstva koja se tiču pozicija na tabli u igri backgammon
Trening oba algoritma za učenje je zahtevao nekoliko meseci kompjuterskog vremena i ostvaren je konstantnom samostalnom igrom. Nije korišćena strategija istraživanja, a sistem je uvek pohlepno bir ao potez sa najvećom mogućom verovatnoćom za pobedu. Ova naivna strategija istraživanja se pokazala potpuno adekvatnom za ovo okruženje, što je iznenadilo jer u literaturi o RL ima puno kontra primera koji pokazuju da pohlepno istraživanje može da vodi do loših rezultata učenja.
Slika 7. Neuronska mreža korišćena u TD-Gammon [2, str. 486]
Rezultati TD-Gammon-a su impresivni jer se takmičio na najvišem nivou sa najboljim ljudskim igračima. Pokušavalo se i sa drugim igrama za dva igrača, ali bez uspeha kakav je imao TDGammon. Proučavali su se Go (Schraudolph, Dayan, & Sejnowski, 1994) i šah (Thrun, 1995). Još uvek je otvoreno pitanje da li će i kako uspeh TD-Gammon-a biti ponovljen u drugim domenima. [2, str. 485-489; 4, str. 34-36]
Dejan Sretenović, IT 113/12
6
„Reinforcement“ učenje-primeri primene
2013.
Zaključak Osnovne ideje „reinforcement“ učenja su: dobijanje povratne sprege u obliku nagrada; korisnost agenta je definisana funkcijom nagrade; agent mora da se nauči kako da se ponaša da bi maksimizirao očekivane nagrade; svo učenje je bazirano na proučenim primerima izlaza.
Sam ”Reinforcement” je kod agenata je predstavljen pozitivnim funkcijama nagrade, na osnovu kojih agent „uči“ kako da se ponaša, težeći da postigne maksimalnu nagradu. „Reinforcement“ učenje je posebno pogodno za rešavanje problema koji uključuju dugotrajne naspram kratkotrajnih izmena nagrada. Uspešno je primenjeno kod različitih problema, posebno kod kontrole robota, telekomunikacija, šema kretanja liftova, igara 8 9 bekgemon i „dame“ itd. Dve komponente čine RL moćnim: 1. Korišćenje primera da bi se optimizovao učinak 2. Korišćenje aproksimacija funkcija da bi se bavili velikim okruž enjima Zahvaljujući ovim dvema karakteristikama, RL može da se koristi u okruženjima sa ma kojom od sledećih situacija: - model okruženaj je poznat, ali ne postoji analitičko rešenje; - dat je samo simulacioni model okruženja; - jedini način da se prikupe informacije o okruženju je da se interaguje sa njim. Prva dve situacije mogu da se smatraju problemima planiranja, jer su neki oblici modela dostupni i/ili poznati, a treća može da se smatra pravim problemom učenja. U RL metodologiji, oba problema planiranja mogu da se prevedu u probleme mašinskog učenja.
8 9
Backgammon Checkers
Dejan Sretenović, IT 113/12
7
„Reinforcement“ učenje-primeri primene
2013.
Literatura [1] Florentin Woergoetter and Bernd Porr (2008): Scholarpedia, 3(3):1448. link: http://dx.doi.org/10.4249/scholarpedia.1448 [2] Richard S. Sutton , Andrew G. Barto: Reinforcement Learning An Introduction, MIT Press, Cambridge, MA, 1998 Bradford Book [3] Ben Kröse, Patrick van der Smagt: An Introduction to Neural Networks, 8th Edition, The University of Amsterdam, 1996, pp. 85 – 105. [4] Leslie Pack Kaelbling, Michael L. Littman, Andrew W. Moore, Reinforcement Learning: A Survey, Journal of Artifcial Intelligence Research 4 (1996) 237 -285 [5] Wikipedia, The Free Encyclopedia, link: http://en.wikipedia.org [6] Andrew Y. Ng, H. Jin Kim, Michael I. Jordan, and Shankar Sastry: Autonomous helicopter flight via Reinforcement Learning , Stanford University, 2001. [7] Andrew Y. Ng, Lecture 16 – Machine Learning: Applications of Reinforcement Learning, Stanford University, 2008., link: http://preview.tinyurl.com/n6xl4oz
Dejan Sretenović, IT 113/12
8
Sadržaj Uvod ................................................... ................................................................................. 1 1. Primena RL ..................................................................................................................... 2 1.1 Primena RL za kontrolu robota ................................................................................. 2 1.1.1
Praktični primeri primene RL za kontrolu robota......................................... 3
1.2 Aplikacija RL kod kompjuterskih igara .................................................. .................. 5 Zaključak ............................................................................................................................. 7 Literatura ............................................................................................................................. 8