Spodbujevano učenje: Razlika med redakcijama
m dodal Kategorija:Učenje s pomočjo HotCat |
m odstranil Kategorija:Učenje; dodal Kategorija:Strojno učenje s pomočjo HotCat |
||
Vrstica 77: | Vrstica 77: | ||
{{škrbina}} |
{{škrbina}} |
||
[[Kategorija: |
[[Kategorija:Strojno učenje]] |
Redakcija: 16:31, 26. februar 2019
Po analogiji iz behaviorizma, je spodbujevano učenje (angleško reinforcment learning, okrajšava RL) področje strojnega učenja, katerega cilj je priučitev vedenja oziroma optimizacija vedenja na podlagi povratne informacije prek nagrajevanja oz. kaznovanja. Problem v računalniških sistemih omogoča optimizacijo enostavnih vzorcev vedenja in postopno priučitev kompleksnejših potekov obnašanja. Zaradi svoje splošnosti je kot aproksimacijsko dinamično programiranje obravnavan v številnih drugih disciplinah (teorija iger, teorija nadzora, teorija informacij, stimulacijsko podprta optimizacija, statistika in evolucijski algoritmi).
Pri RL gre najpogosteje za priučitev kompleksnejših potekov vedenja, ki jih je mogoče izraziti skozi načrtovanje posledic vedenja. V nasprotju s tem se za neposredno optimizacijo vedenja pogosto uporablja postopke policy gradientov, ki vedenjske vzorce optimizirajo neposredno (brez ocenjevanja končnega vzorca vedenja) s spreminjanjem parametrov nekega vedenjskega vzorca.
Vsem RL postopkom je skupno, da se agent mora odločati na podlagi interakcije z okoljem (problemskim prostorom), tako da zaporedje njegovih odločitev doseže ciljno stanje, kljub temu da morda razpolaga tudi z drugimi informacijami, ki bi lahko vodile do drugačnih zaključkov. Cilj RL postopka je maksimizacija kumulativne vsote nagrad in s tem optimalni vedenjski vzorec v danih pogojih.
Osnovni princip
Za opredelitev RL principa je potrebno razdeliti okolje v različna stanja. V vsakem izmed stanj je možnih eno ali več dejanj, ki imajo za posledico prehod v naslednje stanje. Prehodi med stanji so lahko tudi probabilistični (zgodijo se z določeno verjetnostjo) in so praviloma agentom spočetka neznani. Glede na to ali je bilo dejanje nagrajeno ali kaznovano, to vodi v kasnejše povečanje oz. zmanjšanje pogostosti pojavljanja tega vzorca. Pri tem se privzame, da čas teče diskretno in da vsako dejanje potrebuje natanko eno časovno enoto.
Ker agent okolje zaznava avtonomno (kaznovanje oz. nagrajevanje je zaznano indirektno), se RL razlikuje tako od nenadzorovanega učenja, kjer se vzpostavijo zgolj asociativne povezave med dejanjem in posledico, kot tudi od nadzorovanega učenja, kjer agent za vsako dejanje dobi eksplicitni odziv (izgradi kavzalni odnos: dejanje → posledica).
Cilj agenta je najti strategijo, kako v vsakem stanju izbrati najboljšo možno dejanje. Pri tem so pomembni naslednji pojmi:
Strojno učenje | Psihologija | |
---|---|---|
policy (strategija) | odločitev, katero dejanje naj bo izvedeno v določenem stanju | dražljaj-reakcija, asociacije |
reward function (nagrada) | akraktivnost prehoda med stanjema | prijetnost/odvratnost posledice dolocenega dajanja |
value function (ocena dejanja) | pričakovana vsota vseh nagrad z upoštevanjem še prihajajočih stanj | daljnoročno gledano zadovoljstvo z rezultatom |
Princip lepo ponazori primer tekača, ki se pripravlja na maratonsko tekmovanje. Na voljo ima dve možnosti - bodisi lahko vsak dan sproti trenira zmerno (konstantna, a ne prevelika utrujenost) bodisi pa lahko odlaša (zelo atraktivno, utrujenost nizka), a gre zato tik pred tekmo raje na zelo zahtevne aerobične treninge (prav nič atraktivno, utrujenost visoka). V obeh primerih je tekač v končni fazi zmožen preteči maraton, vendar bi RL s pomočjo value functiona glede na preotali čas do naslednjega tekmovanja izbral pripravo, ki v končni fazi vodi do višnje vsote nagrajevanj (boljši čas na maratonu).
Formalizacija problema
Okolje
RL je večinoma opredeljen kot markovski proces odločanja (tudi MDP, po angl. Markov decission process), poimenovanih po ruskem matematiku Markovu. Model je koncipiran kot skupek stanj, ki posedujejo vse informacije o sistemu oz. okolju, ki ga modelirajo. Vsako izmed stanj omogoča karseda natančno predvidevanje posledic slehernega izvedenega dejanja. MDP se formalno zapiše kot četverček , pri čemur je:
- : množica vseh možnih stanj
- : množica vseh možnih dejanj v vsakem stanju
- : verjetnost prehoda v stanje , ob predpostavki, da se nahajamo v stanju in, da je izvedeno dejanje .
- : nagrada/kazen
Strategija
Cilj RL postopka je najti vedenjsko strategijo (policy) π: , ki za vsako stanje in dejanje maksimizira pričakovano prihodnjo nagrado. Strategija se lahko tekom učenja spreminja glede na količino prejetih nagrad.
Obstaja več možnosti za izbiro dejanja, na primer:
- greedy: vedno bo izbrano najboljše dejanje -
- ε-greedy: večinoma bo izbradno najboljše dejanje, občasno z verjetnostjo ε pa tudi naključno
Vrednostna funkcija
Obstajata dve v principu podobni različici vrednostnih funkcij:
- vrednostne funkcije stanj (state value function)
- vrednostne funkcije prehodov med stanji (state-action value function)
Vrednostne funkcije so definirane kot orodje za iskanje maksimalne vsote vseh pričakovanih nagrad s pomočjo sledečega algoritma:
- pričakuj prihodnjo nagrado s slabšalnim faktorjem γ:
- upoštevajoč stanja :
- upoštevajoč prehode med stanji :
Mehanizmi
TD-learning
Q-learning
Programske implementacije
- RL-Glue provides a standard interface that allows you to connect agents, environments, and experiment programs together, even if they are written in different languages.
- Maja Machine Learning Framework The Maja Machine Learning Framework (MMLF) is a general framework for problems in the domain of Reinforcement Learning (RL) written in python.
- Software Tools for Reinforcement Learning (Matlab and Python)
- PyBrain(Python)
- TeachingBox is a Java reinforcement learning framework supporting many features like RBF networks, gradient descent learning methods, ...
- C++ implementation for some well known reinforcement learning algorithms with source.
- Orange, a free data mining software suite, module orngReinforcement
- Policy Gradient Toolbox provides a package for learning about policy gradient approaches.