140 likes | 341 Views
Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva Zavod za elektroniku, mikroelektroniku, računalne i inteligentne sustave. Upravljanje liftova. Rješavanje problema upravljanja liftova korištenjem postupka reinforcement learning. Imamagić Emir Kovač Krešimir Živković Ivan.
E N D
Sveučilište u Zagrebu Fakultetelektrotehnikeiračunarstva Zavod za elektroniku, mikroelektroniku, računalne i inteligentne sustave Upravljanje liftova Rješavanje problema upravljanja liftova korištenjem postupka reinforcement learning Imamagić Emir Kovač Krešimir Živković Ivan Kolegij: Strojno učenje Nastavnik: Doc. dr. sc. Bojana Dalbelo Bašić 2002./2003.
Pregled prezentacije • Reinforcement learning • Q učenje • Upravljanje liftovima • Implementacija
Reinforcement learning (RL) • Vrsta strojnog učenja • Postupak učenja se zasniva na interakciji učenika sa okolinom – princip pokušaja i pogreške • 3 osnovne komponente • Agent – samostalni entitet, može perciprati okolinu i izvršavati akcije kojima mijenja stanje okoline i za koje dobiva nagradu • Okolina – svijet oko agenta, definiran skupom stanja i pravila o izmjeni stanja i dodjeli nagrade agentu • Zadatak – znanje koje agent mora usvojiti
RL karakteristike • Odgođena nagrada(engl. Delayed reward) • Izbor između istraživanja i iskorištavanja (engl. exploration vs. exploatation) • Djelomično osmotriv okoliš • Cjeloživotno (engl. life-long) učenje
RL formalni model • Markovljev proces odlučivanja (engl. Markov decision process MDP) • Okolina – skup stanja S, funkcije δ i r • Agent – može percipirati stanje okoline i izvesti akciju iz skup A • Strategija π : S → A – odabir akcije za svako stanje • Vrijednost nagrade za određenu strategiju i stanje: Vπ(si) = ∑j=0∞γjri+j • Optimalna strategija π*: S → A= ona strategija koja maksimizira Vπ za svako stanje iz skupa S
Q učenje • Definira se funkcija Q : Q(s, a) = r(s, a) + γV*(δ(s, a)) • Ili na drugi način : V*(s’) = maxa (Q(s’, a)) Q(s, a) = r(s, a) + γ maxb (Q(s’, b))
Postupak Q učenja • Predstavi Q fukciju sa aproksimacijom O • Vrijednosti O funkcije predstavi tablicom stanje/akcija • Sve vrijednosti aproksimacije O postavi na 0 • Ponavljaj sljedeće korake : • osmotri stanje s i izvedi akciju a • primljena nagrada je r • osmotri novo stanje s’ • obnovi vrijednost O(s, a) = r + γ maxbO(s’, b) • s ← s’
Problemi Q učenja • Kako odabrati akciju a ? • Akciju sa maksimalnom vrijednosti O • Vodi u lokalni minimum • Vjerojatnosni pristup – uvesti funkciju : P(a/s) = kQ(s, a) / ∑bkQ(s, b) • Za veće k stanja sa većim O - iskorištavanje • Za manje k stanja sa manjim O - istraživanje • Kako primjeniti naučeno na širi skup primjera ? • moguće rješenje : neuronska mreža
Upravljanje liftovima • Crites i Barto (1996) – naučiti liftove da poslužuju putnike u minimalnom vremenu • Model : 4 lifta u zgradi sa 10 katova :
Definicija problema • Liftovi imaju sljedeća ograničenja : • Lift mora stati na katu ukoliko to putnik u liftu zahtjeva • Lift može promjeniti smjer tek kada izađe posljednji putnik u trenutnom smjeru • Lift ne staje na katu ako je neki lift već stao na tom katu • Ukoliko u isto vrijeme dolazi više zahtjeva lift odabire smjer gore • Lift može stati na katu samo ukoliko to putnik (u hodniku ili liftu) zahtjeva • Jedina odluka : da li će na nekom katu na kojem je putnik u hodniku stisnuo poziv stati ili će nastaviti vožnju
Oblik nagrade • U praksi se koristi više oblika : • Prosječno vrijeme čekanja svih putnika u hodniku • Prosječno vrijeme čekanja svih putnika do dolaska do željenog kata • Postotak putnika koji čeka lift dulje od 1 minute • Prosjek kvadrata vremena čekanja svih putnika u hodniku • najpravednije je prema svim putnicima
Postupak učenja • Modificirano Q učenje • Odluke se donose u diskretnim trenutcima • Nagrada je kontinuirana funkcija vremena • Okolina kontinuirano mijenja stanje • Obnavljanje aproksimacije Q funkcije: ∆O(s, a) = α( R(t ) + e-β(t2 - t1) minb{O(s', b)} - O(s, a) ) (u originalu : O(s, a) =r + γ maxbO(s’, b))
Učenje funkcije Q • Funkcija Q je učena neuronskom mrežom • Neuronska mreža ima : • 69 ulaznih neurona • 20 skrivenih neurona • 2 izlazna neurona – po jedan za svaku akciju (stati i nastaviti)