Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære TD(0): Verdifunksjonsestimering | Temporal Difference-læring
Introduksjon til Reinforcement Learning med Python

TD(0): Verdifunksjonsestimering

Sveip for å vise menyen

Den enkleste versjonen av TD-læring kalles TD(0). Den oppdaterer verdien til en tilstand basert på umiddelbar belønning og estimert verdi for neste tilstand. Dette er en ett-trinns TD-metode.

Oppdateringsregel

Gitt en tilstand StS_t, belønning Rt+1R_{t+1} og neste tilstand St+1S_{t+1}, ser oppdateringsregelen slik ut:

V(St)V(St)+α(Rt+1+γV(St+1)V(St))V(S_t) \gets V(S_t) + \alpha\Bigl(R_{t+1}+\gamma V(S_{t+1}) - V(S_t)\Bigr)

hvor

  • α\alpha er læringsrate, eller steglengde;
  • δt=Rt+1+γV(St+1)V(St)\delta_t = R_{t+1}+\gamma V(S_{t+1}) - V(S_t) er TD-feil.

Intuisjon

Tilstandsverdifunksjonen vπv_\pi kan defineres og utvides som følger:

vπ(s)=Eπ[GtSt=s]=Eπ[Rt+γGt+1St=s]=Eπ[Rt+γvπ(St+1)St=s]\def\E{\operatorname{\mathbb{E}}} \begin{aligned} v_\pi(s) &= \E_\pi[G_t | S_t = s] \\ &= \E_\pi[R_t + \gamma G_{t+1} | S_t = s] \\ &= \E_\pi[R_t + \gamma v_\pi(S_{t+1}) | S_t = s] \end{aligned}

Dette gir den første delen av δt\delta_t — den erfarte avkastningen Rt+1+γV(St+1)R_{t+1} + \gamma V(S_{t+1}). Og den andre delen av δt\delta_t er den forventede avkastningen V(St)V(S_t). TD-feilen δt\delta_t​ er derfor det observerbare avviket mellom det som faktisk skjedde og det vi tidligere trodde ville skje. Oppdateringsregelen justerer derfor den tidligere antakelsen litt for hvert steg, slik at den kommer nærmere sannheten.

TD(0) vs Monte Carlo-estimering

Både TD(0) og Monte Carlo-estimering bruker samplede erfaringer for å estimere tilstandsverdifunksjonen vπ(s)v_\pi(s) for en politikk π\pi. Under standard konvergensbetingelser konvergerer begge til den sanne vπ(s)v_\pi(s) når antall besøk til hver tilstand går mot uendelig. I praksis har vi imidlertid kun en begrenset mengde data, og de to metodene skiller seg betydelig i hvordan de bruker disse dataene og hvor raskt de lærer.

Bias-varians-avveining

Kombinasjoner av skjevhet og varians

Fra et skjevhet–varians-avveining-perspektiv:

Monte Carlo-estimering venter til en episode er ferdig og bruker deretter hele avkastningen for å oppdatere verdiene. Dette gir uskjevde estimater — avkastningen reflekterer virkelig den underliggende fordelingen — men de kan variere kraftig, spesielt i lange eller svært stokastiske oppgaver. Høy varians betyr at mange episoder kreves for å jevne ut støyen og oppnå stabile verdiestimater.

TD(0) benytter bootstrap ved å kombinere hver ett-trinns belønning med dagens estimat av neste tilstands verdi. Dette introduserer skjevhet — tidlige oppdateringer er basert på ufullstendige estimater — men holder variansen lav, siden hver oppdatering er basert på en liten, inkrementell feil. Lavere varians gjør at TD(0) kan spre belønningsinformasjon gjennom tilstandsrommet raskere, selv om innledende skjevhet kan gjøre at konvergensen går tregere.

Lære data vs lære modell

Ulike tilnærminger for å estimere verdi

En annen måte å se på disse to metodene er å analysere hva hver av dem faktisk lærer:

Monte Carlo-estimering lærer direkte fra de observerte avkastningene, og tilpasser verdiestimatene sine til de spesifikke episodene den har sett. Dette betyr at den minimerer feil på disse treningsforløpene, men fordi den aldri bygger en eksplisitt forståelse av hvordan tilstander fører til hverandre, kan den ha utfordringer med å generalisere til nye eller litt forskjellige situasjoner.

TD(0), derimot, benytter seg av hver overgang med ett steg, og kombinerer den umiddelbare belønningen med sitt estimat av neste tilstands verdi. På denne måten fanger den effektivt opp relasjonene mellom tilstander — en implisitt modell av miljøets dynamikk. Denne modell-lignende forståelsen gjør at TD(0) kan generalisere bedre til ukjente overganger, og gir ofte mer presise verdiestimater på nye data.

Pseudokode

TD(0) for tilstandsverdiestimering pseudokode
question mark

Hvordan kan du beskrive TD(0) med hensyn til bias og varians?

Velg alle riktige svar

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

TD(0): Verdifunksjonsestimering

Den enkleste versjonen av TD-læring kalles TD(0). Den oppdaterer verdien til en tilstand basert på umiddelbar belønning og estimert verdi for neste tilstand. Dette er en ett-trinns TD-metode.

Oppdateringsregel

Gitt en tilstand StS_t, belønning Rt+1R_{t+1} og neste tilstand St+1S_{t+1}, ser oppdateringsregelen slik ut:

V(St)V(St)+α(Rt+1+γV(St+1)V(St))V(S_t) \gets V(S_t) + \alpha\Bigl(R_{t+1}+\gamma V(S_{t+1}) - V(S_t)\Bigr)

hvor

  • α\alpha er læringsrate, eller steglengde;
  • δt=Rt+1+γV(St+1)V(St)\delta_t = R_{t+1}+\gamma V(S_{t+1}) - V(S_t) er TD-feil.

Intuisjon

Tilstandsverdifunksjonen vπv_\pi kan defineres og utvides som følger:

vπ(s)=Eπ[GtSt=s]=Eπ[Rt+γGt+1St=s]=Eπ[Rt+γvπ(St+1)St=s]\def\E{\operatorname{\mathbb{E}}} \begin{aligned} v_\pi(s) &= \E_\pi[G_t | S_t = s] \\ &= \E_\pi[R_t + \gamma G_{t+1} | S_t = s] \\ &= \E_\pi[R_t + \gamma v_\pi(S_{t+1}) | S_t = s] \end{aligned}

Dette gir den første delen av δt\delta_t — den erfarte avkastningen Rt+1+γV(St+1)R_{t+1} + \gamma V(S_{t+1}). Og den andre delen av δt\delta_t er den forventede avkastningen V(St)V(S_t). TD-feilen δt\delta_t​ er derfor det observerbare avviket mellom det som faktisk skjedde og det vi tidligere trodde ville skje. Oppdateringsregelen justerer derfor den tidligere antakelsen litt for hvert steg, slik at den kommer nærmere sannheten.

TD(0) vs Monte Carlo-estimering

Både TD(0) og Monte Carlo-estimering bruker samplede erfaringer for å estimere tilstandsverdifunksjonen vπ(s)v_\pi(s) for en politikk π\pi. Under standard konvergensbetingelser konvergerer begge til den sanne vπ(s)v_\pi(s) når antall besøk til hver tilstand går mot uendelig. I praksis har vi imidlertid kun en begrenset mengde data, og de to metodene skiller seg betydelig i hvordan de bruker disse dataene og hvor raskt de lærer.

Bias-varians-avveining

Kombinasjoner av skjevhet og varians

Fra et skjevhet–varians-avveining-perspektiv:

Monte Carlo-estimering venter til en episode er ferdig og bruker deretter hele avkastningen for å oppdatere verdiene. Dette gir uskjevde estimater — avkastningen reflekterer virkelig den underliggende fordelingen — men de kan variere kraftig, spesielt i lange eller svært stokastiske oppgaver. Høy varians betyr at mange episoder kreves for å jevne ut støyen og oppnå stabile verdiestimater.

TD(0) benytter bootstrap ved å kombinere hver ett-trinns belønning med dagens estimat av neste tilstands verdi. Dette introduserer skjevhet — tidlige oppdateringer er basert på ufullstendige estimater — men holder variansen lav, siden hver oppdatering er basert på en liten, inkrementell feil. Lavere varians gjør at TD(0) kan spre belønningsinformasjon gjennom tilstandsrommet raskere, selv om innledende skjevhet kan gjøre at konvergensen går tregere.

Lære data vs lære modell

Ulike tilnærminger for å estimere verdi

En annen måte å se på disse to metodene er å analysere hva hver av dem faktisk lærer:

Monte Carlo-estimering lærer direkte fra de observerte avkastningene, og tilpasser verdiestimatene sine til de spesifikke episodene den har sett. Dette betyr at den minimerer feil på disse treningsforløpene, men fordi den aldri bygger en eksplisitt forståelse av hvordan tilstander fører til hverandre, kan den ha utfordringer med å generalisere til nye eller litt forskjellige situasjoner.

TD(0), derimot, benytter seg av hver overgang med ett steg, og kombinerer den umiddelbare belønningen med sitt estimat av neste tilstands verdi. På denne måten fanger den effektivt opp relasjonene mellom tilstander — en implisitt modell av miljøets dynamikk. Denne modell-lignende forståelsen gjør at TD(0) kan generalisere bedre til ukjente overganger, og gir ofte mer presise verdiestimater på nye data.

Pseudokode

TD(0) for tilstandsverdiestimering pseudokode
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 2
some-alt