CMD + K

Introduksjon til maskinlæringIntroduksjon til forsterkningslæringBegreper & formler13
6 min lesing

Introduksjon til forsterkningslæring

La en agent lære av handlinger og belønning gjennom policyer, Bellman-sammenhenger, utforskning og Q-learning.

Læringsmål
  • 01Modellere et enkelt problem med agent, miljø, tilstander, handlinger og belønninger
  • 02Beregne diskontert retur og skille umiddelbar belønning fra langsiktig verdi
  • 03Tolke tilstands- og handlingsverdier og bruke Bellman-prinsippet
  • 04Utføre én Q-learning-oppdatering med korrekt håndtering av terminal tilstand
  • 05Forklare exploration–exploitation og beregne handlingssannsynligheter under epsilon-greedy
  • 06Evaluere en lært policy separat fra den utforskende treningspolicyen

Læring gjennom konsekvenser

En robot står ved inngangen til et lite lager og skal finne en ladestasjon. Den får ingen fasit for riktig handling i hvert rutefelt. I stedet prøver den å gå, ser hvor den havner og mottar et signal: liten kostnad per steg, større straff for kollisjon og positiv belønning ved målet. Dette er kjernen i forsterkningslæring.

I samspillet mellom agent og miljø velger agenten, mens miljøet bestemmer neste situasjon og belønning. Agenten kan være et program, miljøet kan være et spill eller en simulator, og ett tidssteg består av observasjon, handling og respons. I motsetning til veiledet læring finnes det vanligvis ikke en label som sier hva agenten burde ha gjort i hvert steg.

oppnedhøyre, −1høyre, −1høyre, +10opp, +10venstrevenstreStartS₁S₂S₃S₄Mål +10Kantene representerer handlinger og belønninger; nodene er tilstander, ikke bare posisjoner.
FIGAgenten påvirker miljøet gjennom handlinger

En tilstand skal inneholde informasjonen agenten trenger for å vurdere framtiden. I et rutenett kan posisjonen være nok dersom verden ellers er fast. Dersom dører åpner og lukker seg, må dørstatus kanskje inngå. Hvis samme observerte tilstand skjuler ulike relevante situasjoner, blir problemet delvis observerbart og vanlige tabellmetoder kan lære en blandet strategi.

En handling er et tilgjengelig valg, som opp, ned, venstre eller høyre. Overgangene kan være deterministiske eller stokastiske. Roboten kan for eksempel gli sideveis med liten sannsynlighet. Læringen må da handle om forventede konsekvenser, ikke én garantert rute.

Belønning nå og retur senere

En belønning vurderer den siste overgangen. Den er ikke nødvendigvis hele målet. En liten negativ stegbelønning kan oppmuntre korte ruter, mens en stor sluttbelønning gjør ladestasjonen attraktiv. Dårlig belønningsdesign kan gi uventet oppførsel: agenten optimaliserer signalet den får, ikke intensjonen vi hadde i hodet.

For å vurdere en beslutning summerer vi framtidige belønninger i en retur. ƒdiskontert retur bruker faktoren . Når , teller bare neste belønning. Når den ligger nær 1, får fjerne konsekvenser stor vekt. I en endelig episode kan fungere dersom returen forblir endelig, men diskontering gjør også matematikken og prioriteringen av tid enklere.

Anta belønninger 2, 0 og 5 i de neste tre stegene og . Returen er . Den er ikke lik gjennomsnittet og ikke bare sluttbelønningen. Riktig eksamensregning starter ved riktig tidspunkt og øker eksponenten ett steg om gangen.

Belønningen kan være sparsom. Roboten får kanskje bare positivt signal ved målet. Da kan det ta mange episoder før nyttig informasjon sprer seg tilbake til start. Reward shaping kan hjelpe, men kan også endre hvilken oppførsel som er optimal hvis det gjøres uforsiktig.

Policy og verdi

En policy beskriver hvordan agenten velger handling i hver tilstand. Den kan være deterministisk, som «gå alltid høyre i S1», eller stokastisk, som en sannsynlighetsfordeling over handlingene. Policyen er agentens oppførsel; verdi beskriver de forventede konsekvensene av oppførselen.

En verdifunksjon kan gjelde en tilstand eller et tilstand–handling-par. ƒtilstandsverdi er forventet retur når agenten starter i og fortsetter med policy . Handlingsverdien betinger også første handling. Etter den følger policyen videre.

Verdier er forventninger over all tilfeldighet i overgangene og policyen. Ett heldig utfall beviser derfor ikke at en handling er god. Agenten trenger flere erfaringer eller en kjent overgangsmodell for å anslå forventningen.

Handlingsverdier Q(s,a)opphøyrenedvenstreS₁S₂S₃S₄0,101,80−0,200,000,250,90−0,100,050,407,600,201,108,100,30−0,400,80Uthevet celle er den grådige handlingen i hver tilstand; epsilon-greedy velger likevel av og til andre.
FIGQ-tabell etter noen erfaringer

En grådig policy velger handlingen med høyest Q-verdi i hver rad. Tabellen viser hva agenten hittil forventer, ikke sikre sannheter. Tidlige tilfeldige erfaringer kan gjøre en dårlig handling midlertidig størst.

Bellman kobler nåtid til fortsettelsen

Bellman-prinsippet deler en lang retur i umiddelbar belønning og verdien av det som kommer etterpå. ƒbellmans optimalitetsligning sier at optimal Q-verdi bruker den beste mulige fortsettelsen i neste tilstand. Dette er en rekursiv konsistensbetingelse, ikke en regel om at den umiddelbart største belønningen alltid er best.

En handling med belønning 2 kan være dårligere enn en handling med belønning 0 hvis den andre leder til en tilstand med stor framtidig verdi. Diskonteringen bestemmer hvor mye denne fortsettelsen teller. For terminal tilstand finnes ingen senere verdi, så målet er bare den siste belønningen.

Dynamic programming kan bruke Bellman-ligninger når overgangssannsynligheter og belønninger er kjent. Modellfri læring estimerer i stedet verdier fra observerte overganger. Q-learning er et eksempel på det siste.

Q-learning fra én overgang

q-learning lagrer eller approksimerer én verdi per tilstand–handling-par. Etter overgangen lager algoritmen et mål av belønningen og den største Q-verdien i neste tilstand. ƒq-learning-oppdatering flytter den gamle verdien en andel mot dette målet.

Uttrykket inne i hakeparentesen er temporal-difference-feilen: mål minus gammel prediksjon. Positiv feil øker Q-verdien; negativ feil senker den. Læringsraten erstatter verdien med siste mål, mens liten glatter over mange erfaringer. I stokastiske miljøer trenger vi vanligvis mange oppdateringer.

kap10-ett-q-steg

Én Q-learning-oppdatering

python
import numpy as np rng = np.random.default_rng(4172)Q = rng.normal(0, 0.05, size=(4, 3))s, a, neste_s = 1, 2, 3r = 1.0alpha = 0.25gamma = 0.90 gammel = Q[s, a]maal = r + gamma * np.max(Q[neste_s])td_feil = maal - gammelQ[s, a] = gammel + alpha * td_feil print(f"gammel={gammel:.3f}")print(f"mål={maal:.3f}, TD-feil={td_feil:.3f}")print(f"ny={Q[s, a]:.3f}")

Oppdateringen flytter bare det besøkte tilstand–handling-paret en andel α mot Bellman-målet. De andre Q-verdiene står uendret i dette steget.

Q-learning kalles off-policy fordi oppdateringsmålet bruker den grådige fortsettelsen , selv om agenten faktisk velger utforskende handlinger. SARSA bruker derimot verdien til handlingen policyen faktisk valgte i neste tilstand. Forskjellen kan gi ulik risikoadferd.

neijaObserver tilstand sVelg a med ε-greedyUtfør aMotta r og s′Oppdater Q(s,a)Terminal?Episode ferdigQ-learning lærer fra observerte overganger, mens policyen bestemmer hvilke overganger som samles inn.
FIGÉn episode med Q-learning

Ved terminal overgang settes framtidsleddet til null. Dette er en vanlig detalj å glemme i håndregning og kode. Vi skal heller ikke oppdatere hele Q-tabellen etter én erfaring; bare cellen for det besøkte paret endres.

Utforskning mot utnyttelse

Hvis agenten alltid velger den største nåværende Q-verdien, kan den låse seg til en tilfeldig tidlig erfaring. utforskning–utnyttelse er avveiingen mellom å samle ny kunnskap og bruke det som hittil ser best ut. Uten utforskning oppdages kanskje aldri en bedre rute. Med for mye utforskning oppfører agenten seg unødvendig tilfeldig.

ƒepsilon-greedy policy beskriver en enkel strategi. Med sannsynlighet velges en tilfeldig handling; ellers velges en grådig handling. Den grådige handlingen kan også trekkes i den tilfeldige delen, derfor får den total sannsynlighet når maksimumet er entydig.

Ved like Q-verdier bør tie-breaking være tilfeldig. Hvis argmax alltid velger første kolonne, innfører kodeimplementasjonen en skjult preferanse. Ofte starter treningen med høy og reduserer den gradvis. Den må ikke falle så raskt at deler av miljøet aldri besøkes.

kap10-seedet-grid

Seedet epsilon-greedy Q-learning i et linjemiljø

python
import numpy as np rng = np.random.default_rng(4172)Q = np.zeros((5, 2))  # handling 0=venstre, 1=høyrealpha, gamma, epsilon = 0.25, 0.95, 0.20 for episode in range(300):    s = 0    while s != 4:        if rng.random() < epsilon:            a = rng.integers(2)        else:            beste = np.flatnonzero(Q[s] == Q[s].max())            a = rng.choice(beste)        neste = max(0, s - 1) if a == 0 else min(4, s + 1)        reward = 1.0 if neste == 4 else -0.02        maal = reward if neste == 4 else reward + gamma * Q[neste].max()        Q[s, a] += alpha * (maal - Q[s, a])        s = neste print(np.round(Q, 3))print("grådig policy:", Q.argmax(axis=1))

Det lille miljøet viser hele samspillet mellom exploration, overgang, reward, bootstrappet mål og gradvis forbedring av policyen.

Et fast seed gjør forsøket reproduserbart, men én seed er ikke tilstrekkelig evaluering. Sammenlign læringskurver over flere seeds, særlig når både miljø og policy er stokastiske.

Fra tabell til større problemer

En Q-tabell fungerer når tilstands- og handlingsrommet er lite og diskret. Med kameraobservasjoner eller kontinuerlige posisjoner blir tabellen umulig stor. Da kan en funksjonsapproksimator, ofte et nevralt nettverk, anslå Q-verdier fra features. Det gir generalisering mellom lignende tilstander, men gjør treningen mindre stabil.

Tilstandsdesign er fortsatt avgjørende. Dersom agenten ikke observerer noe som påvirker overgangen, kan den ikke lære en perfekt regel fra den oppgitte tilstanden. Markov-antakelsen sier at tilstanden skal være tilstrekkelig til å beskrive fordelingen over neste tilstand og belønning gitt handlingen.

Evaluering bør skille treningspolicy fra sluttpolicy. Under trening tar epsilon-greedy bevisst tilfeldige valg. Ved evaluering bruker vi ofte grådig policy uten utforskning og rapporterer retur over mange episoder. Sammenlign med en tilfeldig eller enkel håndlaget baseline, og kontroller også sikkerhetsbegrensninger som total retur alene kan skjule.

Eksamensstrategi for RL

Marker først , , og i oppgaven. Finn maksimal Q-verdi i neste tilstand, med mindre overgangen er terminal. Bygg målet , trekk fra gammel verdi, multipliser med og legg resultatet tilbake i akkurat én tabellcelle. En fortegnssjekk sier om verdien bør gå opp eller ned.

Skill belønning fra retur, policy fra verdi og læringsrate fra diskonteringsfaktor . Epsilon styrer handlingene som prøves, mens alfa styrer hvor kraftig erfaringen endrer estimatet. Bellman-ligningen beskriver optimal konsistens; Q-learning er den trinnvise algoritmen som forsøker å lære den fra data.

Til slutt bør du kunne forklare hvorfor agenten må utforske og hvorfor høy observert belønning i én episode ikke er nok. Forsterkningslæring handler om sekvensielle valg under usikkerhet, der dagens handling både gir en konsekvens og bestemmer hvilke erfaringer som blir tilgjengelige senere.

Mine notater

Skriv egne notater for dette kapittelet. De lagres automatisk og dukker opp i «Mine notater»-oversikten paa fag-siden.

Laster…