Grunnleggende AI

Hva er Forsterkingslæring?

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

Hva er Forsterkingslæring?

Forsterkingslæring er en maskinlæringsmetode som innebærer å trene en kunstig intelligens-agent gjennom gjentakelse av handlinger og tilhørende belønninger. En forsterkingslæringsagent eksperimenterer i en omgivelse, tar handlinger og blir belønnet når riktige handlinger blir tatt. Over tid lærer agenten å ta handlinger som vil maksimere sin belønning. Dette er en rask definisjon av forsterkingslæring, men å se nærmere på konseptene bak forsterkingslæring vil hjelpe deg å få en bedre, mer intuitiv forståelse av det.

Begrepet “forsterkingslæring” er tilpasset fra konseptet forsterkning i psykologi. Av denne grunn, la oss ta en øyeblikk til å forstå det psykologiske konseptet forsterkning. I den psykologiske betydningen, refererer forsterkning til noe som øker sannsynligheten for at en bestemt respons/handling vil skje. Dette konseptet forsterkning er en sentral idé i teorien om operant betingning, først foreslått av psykologen B.F. Skinner. I denne sammenhengen er forsterkning noe som får frekvensen av en bestemt atferd til å øke. Hvis vi tenker på mulig forsterkning for mennesker, kan disse være ting som ros, en lønnsøkning på jobben, godter og moro aktiviteter.

I den tradisjonelle, psykologiske betydningen, finnes det to typer forsterkning. Det finnes positiv forsterkning og negativ forsterkning. Positiv forsterkning er tilføyelsen av noe for å øke en atferd, som å gi hunden en godbit når den er veloppdragen. Negativ forsterkning innebærer fjerning av en stimulus for å fremkalle en atferd, som å slå av høye lyder for å lokke ut en sky kat.

Positiv og Negativ Forsterkning

Positiv forsterkning øker frekvensen av en atferd, mens negativ forsterkning reduserer frekvensen. Generelt er positiv forsterkning den vanligste typen forsterkning brukt i forsterkingslæring, da det hjelper modellene å maksimere ytelsen på en gitt oppgave. Ikke bare det, men positiv forsterkning fører modellen til å gjøre mer bærekraftige endringer, endringer som kan bli bestandige mønster og vedvare i lange perioder.

I motsetning til, selv om negativ forsterkning også gjør en atferd mer sannsynlig, brukes den for å opprettholde en minimumsytelse, snarere enn å nå modellens maksimale ytelse. Negativ forsterkning i forsterkingslæring kan hjelpe med å sikre at en modell holdes borte fra uønskede handlinger, men den kan ikke virkelig få en modell til å utforske ønskede handlinger.

Trening av en Forsterkingsagent

Når en forsterkingslæringsagent blir trent, finnes det fire forskjellige ingredienser eller stater brukt i treningen: initialstater (Tilstand 0), ny tilstand (Tilstand 1), handlinger og belønninger.

La oss si at vi trener en forsterkingsagent til å spille et plattformspill hvor AI-målet er å nå slutten av nivået ved å bevege seg til høyre over skjermen. Den initielle tilstanden til spillet trekkes fra omgivelsen, det vil si at den første rammen av spillet blir analysert og gitt til modellen. Basert på denne informasjonen, må modellen bestemme en handling.

I de initielle fasene av treningen, er disse handlingene tilfeldige, men når modellen blir forsterket, blir visse handlinger mer vanlige. Etter at handlingen blir tatt, blir omgivelsen av spillet oppdatert og en ny tilstand eller rame blir skapt. Hvis handlingen tatt av agenten produserte et ønsket resultat, la oss si i dette tilfellet at agenten fortsatt er i live og ikke har blitt truffet av en fiende, blir noen belønning gitt til agenten og det blir mer sannsynlig at den gjør det samme i fremtiden.

Dette grunnleggende systemet er konstant løkke, skjer igjen og igjen, og hver gang prøver agenten å lære litt mer og maksimere sin belønning.

Episodiske vs Kontinuerlige Oppgaver

Forsterkingslæringsoppgaver kan vanligvis plasseres i en av to forskjellige kategorier: episodiske oppgaver og kontinuerlige oppgaver.

Episodiske oppgaver vil utføre læring/trening-løkken og forbedre sin ytelse til noen sluttkriterier blir møtt og treningen blir avsluttet. I et spill, kan dette være å nå slutten av nivået eller falle i en felle som spikere. I motsetning, har kontinuerlige oppgaver ingen avslutningskriterier, og fortsetter å trene til ingen sluttkriterier er møtt.

Monte Carlo vs Temporal Difference

Det finnes to primære måter å lære, eller trene, en forsterkingslæringsagent på. I Monte Carlo-metoden, blir belønninger levert til agenten (dens score blir oppdatert) bare ved slutten av treningsepisoden. For å si det på en annen måte, bare når avslutningsvilkåret blir møtt, lærer modellen hvor godt den har prestert. Den kan så bruke denne informasjonen til å oppdatere og når neste treningssesjon starter, vil den reagere i henhold til den nye informasjonen.

Temporaldifferansen-metoden skiller seg fra Monte Carlo-metoden ved at verdianslaget, eller scoreanslaget, blir oppdatert under løpet av treningsepisoden. Når modellen går videre til neste tidssteg, blir verdiene oppdatert.

Utforskning vs Utbytte

Trening av en forsterkingslæringsagent er en balanseringsakt, som innebærer å balansere to forskjellige mål: utforskning og utbytte.

Utforskning er handlingen å samle mer informasjon om omgivelsen, mens utbytte er å bruke informasjonen som allerede er kjent om omgivelsen for å tjene belønningspoeng. Hvis en agent bare utforsker og aldri utnytter omgivelsen, vil de ønskede handlingene aldri bli utført. På den andre siden, hvis agenten bare utnytter og aldri utforsker, vil agenten bare lære å utføre en handling og ikke oppdage andre mulige strategier for å tjene belønning. Derfor er det kritisk å balansere utforskning og utbytte når man lager en forsterkingslæringsagent.

Bruksområder for Forsterkingslæring

Forsterkingslæring kan brukes i en rekke roller, og det er best egnet for applikasjoner hvor oppgaver krever automatisering.

Automatisering av oppgaver som skal utføres av industriroboter er et område hvor forsterkingslæring viser seg å være nyttig. Forsterkingslæring kan også brukes for problemer som tekstmining, hvor man lager modeller som kan sammenfatte lange tekststykker. Forskere eksperimenterer også med å bruke forsterkingslæring i helsefeltet, hvor forsterkingsagenter håndterer jobber som optimalisering av behandlingspolitikker. Forsterkingslæring kan også brukes til å tilpasse utdanningsmateriale for studenter.

Oppsummering av Forsterkingslæring

Forsterkingslæring er en kraftfull metode for å konstruere AI-agenter som kan føre til imponerende og noen ganger overraskende resultater. Trening av en agent gjennom forsterkingslæring kan være kompleks og vanskelig, da det krever mange treningssesjoner og en delikate balanse av utforskning/utbytte-dikotomien. Likevel, hvis det lykkes, kan en agent skapt med forsterkingslæring utføre komplekse oppgaver under en rekke forskjellige omgivelser.

Blogger og programmerer med spesialområder i Machine Learning og Deep Learning emner. Daniel håper å hjelpe andre med å bruke kraften av AI for sosialt godt.