Okrepitveno učenje

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje

Po analogiji iz behaviorizma, je okrepljeno 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[uredi | uredi kodo]

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 diskterno 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).

Interakcije agenta z okoljem so nagrajene ali kaznovane. Agent temu primerno v prihodnosti poveča ali zmanjša pogostost nekega vedenjskega vzorca.

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[uredi | uredi kodo]

Okolje[uredi | uredi kodo]

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 (S, A(s), P(s'|s,a), R(s,s',a)), pri čemur je:

  • S: množica vseh možnih stanj
  • A(s): množica vseh možnih dejanj v vsakem stanju s \in S
  • P(s'|s,a): verjetnost prehoda v stanje s', ob predpostavki, da se nahajamo v stanju s in, da je izvedeno dejanje a \in A(s).
  • R(s,s',a): nagrada/kazen

Strategija[uredi | uredi kodo]

Cilj RL postopka je najti vedenjsko strategijo (policy) π: s \in S \rightarrow a \in A(s), ki za vsako stanje s in dejanje a 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 - \pi (s) = \arg \max_a Q(s,a)
  • ε-greedy: večinoma bo izbradno najboljše dejanje, občasno z verjetnostjo ε pa tudi naključno

Value function[uredi | uredi kodo]

Obstajata dve v principu podobni različici vrednostnih funkcij:

  • vrednostne funkcije stanj V(s) (state value function)
  • vrednostne funkcije prehodov med stanji Q(s,a) (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 s \in S: V^\pi (s) = E \{r t+1 + \gamma rt+2 + \gamma^2 rt+3 + ... | st=s, \pi\}
    • upoštevajoč prehode med stanji s \in S, a \in A(s): Q^\pi (s,a) = E\{rt+1 + \gamma rt+2 + \gamma 2 r t+3 + ... | st=s, at=a, \pi\}

Mehanizmi[uredi | uredi kodo]

TD-learning[uredi | uredi kodo]

Q-learning[uredi | uredi kodo]

Programske implementacije[uredi | uredi kodo]

Literatura[uredi | uredi kodo]