31
Učenje pojačavanjem Reinforcement Learning Igor Gorečan Daniel Zrno

Učenje pojačavanjem Reinforcement Learning

  • Upload
    tarala

  • View
    54

  • Download
    0

Embed Size (px)

DESCRIPTION

Učenje pojačavanjem Reinforcement Learning. Igor Gorečan Daniel Zrno. O čemu ćemo govoriti?. Problemi kod klasičnog pristupa strojnom učenju Svojstva agenta kod RL učenja / učenje strategije Q-učenje Proširenje modela za Q učenje TD učenje Metode generalizacije Primjeri realnih. - PowerPoint PPT Presentation

Citation preview

Page 1: Učenje pojačavanjem Reinforcement Learning

Učenje pojačavanjem

Reinforcement Learning

Igor Gorečan

Daniel Zrno

Page 2: Učenje pojačavanjem Reinforcement Learning

O čemu ćemo govoriti?

•Problemi kod klasičnog pristupa strojnom učenju

•Svojstva agenta kod RL učenja / učenje strategije

•Q-učenje

•Proširenje modela za Q učenje

•TD učenje

•Metode generalizacije

•Primjeri realnih

Page 3: Učenje pojačavanjem Reinforcement Learning

Reinforcement Learning, in general

Po autoru T. Dietterich, 1997. razvoj u strojnom učenju se dijeli na 4 glavna smjera:

•Ensambles of classifiers

•Methods of scaling up supervised learning algorithms

•Learning of complex stochastic models

•Reinforcement learning

Page 4: Učenje pojačavanjem Reinforcement Learning

Česti problemi kod klasičnog pristupa strojnog učenja

Problem odgođene nagrade (DELAYED REWARD)

Problem djelomično vidljivog okoliša (PARTIALLY OBSERVABLE STATES)

Problem istraživanja (EXPLORATION)

Problem učenja "za cijeli život" (LIFE-LONG LEARNING)

Page 5: Učenje pojačavanjem Reinforcement Learning

Problem odgođene nagrade (DELAYED REWARD)

Ne postoji kvalificirani učitelj koji određuje ispravnost svake akcije (kao kod supervised learning), nego se ocjenjuje samo uspješnost CIJELOG niza akcija (npr. pobjeda ili poraz u šahu)

Kako će stroj odrediti važnost svakog pojedinog koraka u nizu

akcija za postizanje krajnjeg rezultata?

Stroj ne zna posljedicu vlastitih akcija tj. način na koje one transformiraju stanje okoliša

Kako učiti s nepostojećim početnim znanjem?

Page 6: Učenje pojačavanjem Reinforcement Learning

Problem djelomično vidljivog okoliša(PARTIALLY OBSERVABLE STATES)

Stroj ne može u svakom trenutku percipirati cijelo stanje okoliša

Kako iskoristiti prošla opažanja i koje je akcije potrebno izvršiti da se poboljša percepcija/znanje o okolišu?

Page 7: Učenje pojačavanjem Reinforcement Learning

Problem istraživanja (EXPLORATION)

Kako suprostaviti istraživanje nepoznatog prema iskorištavanju poznatog i naučenog

Kada smatramo da je stroj zadovoljavajuće naučio rješavati problem?

Page 8: Učenje pojačavanjem Reinforcement Learning

Problem učenja "za cijeli život"(LIFE-LONG LEARNING)

Kod učenja novih spoznaja/načina rješavanja problema, mora iskoristiti i nadograditi se na već naučeno

Kako prepoznati rješenje problema u okviru postojećeg znanja?

Page 9: Učenje pojačavanjem Reinforcement Learning

Konkretna svojstva agenta u RL primjeni

percipira konačan skup stanja okoliša, i za svako od njih može odabrati akciju iz konačnog skupa akcija

ishod akcija je deterministički ili nedeterministički može (ili ne može) unaprijed odrediti novo stanje okoliša

uzrokovano poduzetom akcijom postoji (ili ne postoji) učitelj koji pokazuje optimalne nizove

akcija Jel vam jasno (ili ne?)

Page 10: Učenje pojačavanjem Reinforcement Learning

Kako stvar radi?

u svakom diskretnom vremenskom koraku, agent percipira stanje okoliša st, odabire i obavlja akciju at

feedback iz okoliša je: trenutna nagrada/kazna rt = r(st,at) (+ nagrada, - kazna)

sljedeće stanje st+1 = (st,at)

Page 11: Učenje pojačavanjem Reinforcement Learning

O okolišu

funkcije r i ne trebaju biti unaprijed poznate agentu ne ovise o prijašnjim stanjima/akcijama

ovako zadani okoliš zove se i Markov Decision Process (MDP)

(zove se “Markovljev” zbog sličnog značenja kao kod Markovljevog lanca)

Postoje Deterministički i Nedeterministički MDP Partially Observable MDP (POMDP) nastaje kada stanje okoliša

nije vidljivo sve dok agent ne poduzme posebnu vrste akcije - promatranje kojom otkriva stanje svijeta

Page 12: Učenje pojačavanjem Reinforcement Learning

Cilj učenja

Cilj agenta je naučiti strategiju odabira akcije

: S A

tako da je

(st)=at

U skladu sa idejom nagrađivanja, želimo onu strategiju koja će rezultirati najvećom ukupnom nagradom. Tako počevši od početnog stanja st i koristeći strategiju za odabir akcija, dobivamo ukupnu vrijednost V(st):

V(st) rt + rt+1 + 2rt+2 + ...

0iit

i r

Page 13: Učenje pojačavanjem Reinforcement Learning

Cilj učenja(2)

Niz nagrada rt+i se generira počevši od stanja st, ali uz to da se smanjuje značaj odgođenih nagrada u odnosu na one dodijeljene odmah. Ovaku definiciju opravdavamo činjenicom da u većini slučajeva preferiramo nagradu prije nago kasnije. To se obavlja faktorom Za blizu 1, odgođene nagrade su jako bitne, dok za =0, strategija se obazire samo na trenutni dobitak.

Cilj učenja je pronaći optimalnu strategiju tako da je

argmax V(st),(s)

Page 14: Učenje pojačavanjem Reinforcement Learning

Da li radi (ili ne)?

Funkciju vrijednosti za označavamo V*(s).

Agent preferira stanje s1 od stanja s2 ako je V*(s1) > V*(s2), no on odabire akcije, ne stanja. Tako je optimalna akcija a ona koja maksimizira zbroj trenutne nagrade i vrijednosti V* sljedećeg stanja s obzirom na faktor

(s) argmax[r(s,a) +V*((s,a))] a

Međutim, ova formula se ne može koristiti zbog nepoznavanja funkcija r i/ili ...

Page 15: Učenje pojačavanjem Reinforcement Learning

Temporal Difference metode u RL

TD metode su klasa metoda koje su uvele revoluciju u RL po načinu na koji ujedinjavaju princip Monte Carlo metoda i Dynamic Programming metoda

Dynamic Programming - klasa metoda za rješavanje sekvencijalnih problema odlučivanja a kompozicijskom strukturom cijene (kazne) akcije. Najpoznatije su Bellmanove jednadžbe.

Monte Carlo - klasa metoda za učenje vrijednosnih funkcija, koje procjenjuju vrijednosti stanja tako da izvrše veći broj akcija počevši iz tog stanja a zatim izračunaju srednju vrijednost svih nagrada po pokušaju

Page 16: Učenje pojačavanjem Reinforcement Learning

Rješenje problema Q-učenje

Definirajmo novu funkciju Q(s,a):

Q(s,a) r(s,a) + V*((s,a))Onda je:

(s) argmax Q(s,a)a

Time cilj učenja više nije doznati funkciju vrijednosti V* nego Q.

Page 17: Učenje pojačavanjem Reinforcement Learning

Q-učenje (2)

No pošto učenje funkcije Q odgovara učenju idealne strategije, time odgovara i učenju njene vrijednosne funkcije V*:

V*(s) = max Q(s,a’)a’

Sada smo dobili rekurzivnu definiciju Q funkcije:Q(s,a) = r(s,a) + max Q(s,a’)

a’

Ovakva definicija je baza algoritma koji iterativno traži aproksimaciju funkcije .),( asQ

),( asQ

Page 18: Učenje pojačavanjem Reinforcement Learning

Algoritam Q-učenja

Za svako stanje s,a inicijaliziraj polje u tablici na 0.

Promatraj trenutno stanje s Zauvijek radi:

odaberi akciju a i izvrši ju primi trenutnu nagradu r promotri novo stanje s promijeni polje u tablici na sljedeći način:

ss’

)','(max),('

asQrasQa

),( asQ

Page 19: Učenje pojačavanjem Reinforcement Learning

Konvergencija algoritma / Odabir akcije

Može se pokazati da ako vrijedi:1) sistem je deterministički MDP

2) vrijednosti r funkcije su ograničene konačnom vrijednosti

3) agent odabire akcije tako da beskonačno puta obiđe par stanje-akcija

tada konvergira prema . Ovaj algoritam pokazuje kako agent uči, no nismo odgovorili na

pitanje: KAKO ODABRATI AKCIJU? Rješenje bi bilo za stanje s odabrati akciju a tako da vrijedi:

a = max a’

No, na ovaj način brzo ćemo upasti u lokalno optimalno rješenje dobiveno početnim vrijednostima.

),( asQ

),( asQ

)',( asQ

Page 20: Učenje pojačavanjem Reinforcement Learning

Uvođenje vjerojatnosti

Da bi se izbjeglo upadanje u lokalne optimume u vrijednosnoj funkciji, uvodi se vjerojatnost odabira akcije:

Konstanta k utječe na odnos istraživanja i iskorištavanja okoliša koje agent izvodi. Za male k, agent će odabrati akcije koje imaju manju vrijednost, stavljajući naglasak na istraživanje okoliša. Za veće k, agent će odabrati akcije koje imaju veću vrijednost, te pritom maksimalno iskorištavati dosad naučeno. U tu svrhu, agent bi na početku djelovanja trebao koristiti male k i postepeno preći na veće.

j

asQ

asQ

i j

i

k

ksaP

),(ˆ

),(ˆ

)|(

Q

Q

Page 21: Učenje pojačavanjem Reinforcement Learning

Načini poboljšavanja učenja

Pošto algoritam za učenje agenta ne zahtjeva treniranje na optimalnim nizovima akcija, učenje se može izvesti nasumičnim odabirom stanja i akcije te promaranja rezultirajuće nagrade i sljedećeg stanja (sve dok se svaki par ne obiđe beskonačan broj puta!)

Poboljšanje se može postići tako da tijekom izvođenja određenog broja akcija bilježimo pripadne nagrade i promjene stanja, a algoritam učenja upotrebimo na niz akcija u suprotnom smjeru od izvedenog.

Također druga ideja je da zapamtimo niz stanja-akcija i njihove nagrade, te da treniranje na tom nizu preriodički ponavljamo. Ovo je pogotovo efikasno ako je interna simulacija izvođenja puno brža od realizacije u stvarnom svijetu (npr. kod robotike).

Page 22: Učenje pojačavanjem Reinforcement Learning

Nedeterminizam kod Q-učenja Kad razdiobe funkcija i r ovise samo o trenutnom stanju s i akciji a,

onda ovakav model sustava nazivamo nedeterministički MDP. Ovakav pristup je potreban kod čestog problema šumova u senzorima i

efektorima robotskih sustava. Q funkcija se zato redefinira kao:

što daje promijenjeni algoritam Q-učenja:

gdje je n faktor koji pada s brojem iteracija, tako da su promjene funkcije sve manje (ovo je nužno kako bi se osigurala konvergencija procesa učenja).

'

')','(max),|'(),(),(

sa

asQassPasrEasQ

),(1

1

)','(ˆmax),(ˆ)1(),(ˆ1

'1

asvisits

asQrasQasQ

nn

na

nnnn

Page 23: Učenje pojačavanjem Reinforcement Learning

Primjer - Elevator Dispatching Crites i Barto primijenili su RL-učenje na ovaj problem, na

primjeru 4 dizala u zgradi sa 10 katova.

Metode dinamičkog programiranja nisu se pokazale dobrima jer sustav ima oko 1022 stanja (svako dizalo ima svoju poziciju, smjer kretanja, brzinu i skup stanja koji određuje na kojem katu ljudi koji su trenutno unutra žele izaći)

Page 24: Učenje pojačavanjem Reinforcement Learning

Elevator Dispatching (2) Uspješnost sustava se mjeri sljedećim faktorima:

prosječno vrijeme čekanja (koliko osoba čeka da lift stigne) prosječno sistemsko vrijeme (koliko se osoba vozi u liftu) postotak putnika koji čekaju više od 60 sekundi

Crites i Barto koristili su one-step Q-learning uz neke dodatne početne uvjete (o smjeru kretanja, prolasku katova...)

Kao nagrada agentu koristi se negativna suma kvadrata vremena čekanja svih putnika zajedno problem: ne zna se koliko putnika čeka na nekom katu, zna se samo

da netko čeka rješeno neuronskom mrežom koja predviđa koliko je ljudi na

pojedinom katu Složena su 2 sustava: RL1 (svako dizalo ima svoju neuronsku mrežu)

i RL2 (sva dizala imaju jednu zajedničku neuronsku mrežu)

Page 25: Učenje pojačavanjem Reinforcement Learning

Elevator Dispatching (3) Nakon 4 dana učenja na procesoru od 100 mips-a postignuti su

sljedeći rezultati:

SECTOR - trenutno najkorištenija metoda RL1 i RL2 - one-step Q-learning

Page 26: Učenje pojačavanjem Reinforcement Learning

TD( learning

U prethodnom algoritmu pratili smo razliku u procjeni samo dva susjedna vremenska trenutka

Cilj je izgraditi algoritam koji će razmatrati duže vremenske intervale (više parova stanje-akcija odjednom):

),(max),( 1)1( asQrasQ t

attt

),(max...),( 1)1(

1)( asQrrrasQ nt

a

nnt

ntttt

n

),(max),( 22

1)2( asQrrasQ t

atttt

Page 27: Učenje pojačavanjem Reinforcement Learning

TD( learning (2)

1988 Sutton je uveo metodu kombiniranja ovakvih procjena različitih vremenskih pomaka.

Ako isto zapišemo rekurzivno, dobivamo potrebni algoritam:

Za =0 dobivamo originalno Q-učenje (koje razmatra samo jedan korak razlike u procjeni funkcije). Povećanjem algoritam pridaje sve veći značaj budućim aproksimacijama Q vrijednosti.

...),(),(),()1(),( )3(2)2()1( tttttttt asQasQasQasQ

),(),(ˆmax)1(),( 111 ttta

ttt asQasQrasQ

Page 28: Učenje pojačavanjem Reinforcement Learning

TD learning u praksi - Dynamic Channel Allocation

Problem: Kako učinkovito iskoristiti širinu frekvencijskog pojasa tako da se na mrežu može priključiti što veći broj mobilnih uređaja? Isti uređaji smiju koristiti istu frekvenciju ako su dovoljno udaljeni da ne

smetaju jedan drugome Svaka bazna stanica (ćelija) dobije neke od kanala na korištenje (dio

bandwidtha) npr.

Ako se želimo spojiti na baznu stanicu koja nema slobodni kanal, poziv je blokiran

Cilj: minimizirati broj blokiranih poziva

Page 29: Učenje pojačavanjem Reinforcement Learning

Dynamic Channel Allocation (2)

Poznata rješenja: Fixed Assingment Method (FA) Dynamic Assingment Method (BDCL)

tipična mreža ima npr. 49 ćelija sa 70 kanala, što daje 7049 konfiguracija sustava!

uzeta je najbolja dinamička metoda "Borrowing with Directional Channel Locking" (BDCL)

Reinforced Learning (RL) - TD(0) "nagrada" agentu je broj poziva koji je u nekom trenutku na danoj baznoj

stanici

Rezultat:

Page 30: Učenje pojačavanjem Reinforcement Learning

Generaliziranje iz primjera

Do sada se pretpostavilo da je ciljna funkcija Q predstavljena dvodimenzionalnim poljem stanje-akcija. To je bilo potrebno za dokaz konvergencije algoritma zbog pretpostavke da će se svaki par stanje-akcija obići beskonačno puta.

Problemi ovog pristupa su: agent nije pokušavao induktivno procijeniti Q vrijednosti do tog trenutka

neviđenog para stanje-akcija Kartezijev produkt prostora stanja i akcija je vrlo velik u realnim

primjenama (npr. samo za šah 101) nemoguće je prikazati kontinuirane ulazne podatke

Moguće rješenje je Q funkciju prikazati: neuronskom mrežom s Backpropagation algoritmom stablom odlučivanja LMS algoritmom

Page 31: Učenje pojačavanjem Reinforcement Learning

Literatura

Dr. A. Gosavi - A Master's Thesis in Reinforcement Learning (http://faculty.uscolo.edu/gosavi/rl.html)

S. Singh, P. Norvig, D. Cohn - How to Make Software Agents Do the Right Thing: An Introduction to Reinforcement Learning (http://envy.cs.umass.edu/People/singh/RLMasses/RL.html)

Reinforcement Learning Repository, University of Massachusetts, Amherst (http://www-anw.cs.umass.edu/rlr/)

R. Sutton, A. Barto - Reinforcement Learning: An Introduction (http://www-anw.cs.umass.edu/~rich/book/the-book.html)

S. Russell and P. Norvig - Artificial Intelligence : A Modern Approach T. Mitchell - Machine Learning T. Dietterich - Machine-Learning Research (Four Current Directions) G. Tesauro - Temporal Difference Learning and TD-Gammon R. Williams – Practical Issues in Temporal Difference Learning