Forsterkende læring

**Forsterkende læring** (engelsk: *reinforcement learning*) er en type maskinlæring, og dermed også en gren av kunstig intelligens. Forsterkende læring går ut på at maskiner eller programvare, også kalt agenter, prøver å finne løsningen til et problem ved å definere den ideelle løsningen innenfor en bestemt kontekst, og så gir belønninger eller straff for hvorvidt oppførselen fører agenten nærmere eller lengre fra løsningen. Forsterkningslæring er inspirert av psykologiens behaviorisme og appellerer til mange forskere på grunn av sin generalitet.

## Dynamisk programmering
Forsterkende læring kombinerer to fagfelt for å kunne løse problemer som fagene ikke kan løse individuelt. Dynamisk programmering er et fagfelt innen matematikk og informatikk som normalt sett har vært brukt til å løse problemer tilknyttet optimalisering og kontroll. Imidlertidlig er tradisjonell dynamisk programmering begrenset i størrelse og kompleksitet til problemene den kan løse.

## Veiledet læring
Veiledet læring (også kjent som *styrt læring*) er en generell metode for å trene en funksjon som tilordner inndata til ønsket utdata, basert på kategoriserte treningsdata. Veiledet læring krever parvise eksempler på inndata til og utdata fra funksjonen som skal læres. Med andre ord, veiledet læring krever et sett med spørsmål med de riktige svarene. For eksempel, vi kjenner ikke nødvendigvis den beste måten å programmere en datamaskin til å gjenkjenne et infrarødt bilde av en tanks. Dersom vi har en stor samling av infrarøde bilder og vi vet hvorvidt hvert bilde inneholder en tanks eller ikke, så vil veiledet læring kunne se på alle eksemplene med svar og lære å gjenkjenne tankser generelt. Dette gjøres ved at algoritmen prøver seg frem og får positiv tilbakemelding dersom den gjør noe riktig. 

I mange situasjoner kjenner en ikke de riktige svarene som veiledet læring krever. Gjennom teknikker som markovske beslutningsprosesser og andre typer ikke-styrt læring kan dette omgås. Ikke-styrt forsterkende læring er et nyere og mindre utbredt forskningstema enn tradisjonell forsterkende læring, som kombinerer dynamisk programmering og veiledet læring.

## Bruk
Forsterkende læring gir agenten et mål å oppnå. Agenten lærer så hvordan man skal oppnå dette målet ved prøving og feiling gjennom vekselvirkninger med omgivelsene. Forsterkende læring er godt egnet for logiske spill, siden de tradisjonelt er definert som en sekvens av handlinger. Spill som poker, backgammon, othello og sjakk er blitt håndtert på en mer eller mindre vellykket måte. Et problem innafor forsterkende læring er definert av tre grunnleggende deler: omgivelsene (eller miljøet), den forsterkende funksjonen og verdifunksjonen.

## Omgivelsene
Hvert forsterkende læringssystem lærer en avbilding fra tilstander til handlinger ved prøving og feiling. Omgivelsene må som et minimum være delvis observerbare av læringssystemet.

## Den forsterkende funksjonen
Avbildinga fra tilstand til handling er forbundet med belønning eller straff. Dersom agenten er i tilstand X, så kan den motta forskjellige belønninger ut ifra hvilken handling den velger. Spørsmålet er hvorvidt den skal utforske og få mer kunnskap om omgivelsene, eller være grådig, noe som i maskinlæring vil si å velge handlingen som gir størst belønning. Når agenten er ferdig utlært vil den alltid være grådig og utføre de handlinger som maksimerer summen av belønninger.

## Verdifunksjon
Verdifunksjonen avgjør spørsmålet om hvordan agenten lærer å velge "gode" handlinger, eller hvordan vi kan måle nytten av en gitt handling. Først trenger vi en plan som bestemmer hvilke  handlinger som skal utføres i hver tilstand. Verdien av en tilstand er definert som summen av belønningene som blir mottatt gjennom læringsprosessen. Dette blir omgjort til faste retningslinjer når læringen er ferdig. Den optimale planen vil derfor være at avbildinga fra tilstand til handling har den maksimale summen av belønninger når agenten begynner i en vilkårlig tilstand og utfører handlinger til den endelige tilstanden er nådd. En verdifunksjon kan for eksempel bli definert ved en enkel markovsk beslutningsprosess.

## Markovsk beslutningsprosess
En markovsk beslutningsprosess (MBP) består av en mengde tilstander X, en mengde starttilstander S, som er en delmengde av X, en mengde handlinger A, en forsterkende funksjon R, der R(X, A) er en forventet umiddelbar belønning for å utføre en handling som gir tilstand x, og en handlingsmodell P der P (x '| x, a) er sannsynligheten for at utførende handling i tilstand x vil føre til tilstand x'. Det er videre et krav at valg av handling skal være avhengig utelukkende av den nåværende observasjonen av x. Dersom kunnskap om tidligere handlinger eller tilstander påvirker dagens handlingsvalg, da er det ikke en MBP.

## Q-læring
En mye brukt algoritme innenfor forsterkende læring er Q-læring.

## Litteratur
* S. Russel & P. Norvig (2003): Artificial Intelligence – a modern approach, ISBN 0-13-080302-2, Pearson Education 
* I. Millington & J. Funge (2009). Artificial intelligence for games (2nd ed. utgave). Burlington, MA: Morgan Kaufmann/Elsevier. ISBN 978-0-12-374731-0. 
* M. Harmon (1996) Reinforcement learning: a tutorial