Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Policyvurdering | Dynamisk Programmering
Introduksjon til Reinforcement Learning

bookPolicyvurdering

Note
Definisjon

Policy evaluation er en prosess for å bestemme verdifunksjonen til en gitt policy.

Note
Merk

Policy evaluation kan brukes til å estimere både state value function og action value function. For DP-metoder vil state value function benyttes.

Som du vet, kan en state value function for en gitt policy bestemmes ved å løse en Bellman-ligning:

vπ(s)=aπ(as)s,rp(s,rs,a)(r+γvπ(s))v_\pi(s) = \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)

Hvis du har en fullstendig modell av miljøet (dvs. kjente overgangssannsynligheter og forventede belønninger for alle tilstands-handlingspar), er de eneste ukjente variablene som gjenstår i ligningen tilstandsverdiene. Derfor kan ligningen ovenfor omformuleres som et system av S|S| lineære ligninger med S|S| ukjente.

For eksempel, hvis en MDP har 2 tilstander (s1s_1, s2s_2) og 2 handlinger (flytt til s1s_1, flytt til s2s_2), kan tilstandsverdifunksjonen defineres slik:

{V(s1)=0.5(5+0.9V(s1))+0.5(10+0.9V(s2))V(s2)=0.7(2+0.9V(s1))+0.3(0+0.9V(s2))\begin{cases} V(s_1) = 0.5 \cdot (5 + 0.9 \cdot V(s_1)) + 0.5 \cdot (10 + 0.9 \cdot V(s_2)) \\ V(s_2) = 0.7 \cdot (2 + 0.9 \cdot V(s_1)) + 0.3 \cdot (0 + 0.9 \cdot V(s_2)) \end{cases}

Dette kan løses ved hjelp av standard lineær algebra.

En entydig løsning for et slikt lineært system er garantert dersom minst ett av følgende vilkår er oppfylt:

  • Diskonteringsfaktoren tilfredsstiller γ<1γ < 1;
  • Politikken π\pi, når den følges fra en hvilken som helst tilstand ss, sikrer at episoden til slutt terminerer.

Iterativ policy-evaluering

Løsningen kan beregnes direkte, men en iterativ tilnærming brukes oftere på grunn av enkel implementering. Denne metoden starter med å tildele vilkårlige startverdier til alle tilstander, unntatt terminaltilstander, som settes til 0. Verdiene oppdateres deretter iterativt ved å bruke Bellman-ligningen som oppdateringsregel:

vk+1(s)aπ(as)s,rp(s,rs,a)(r+γvk(s))v_{k+1}(s) \gets \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_k(s')\Bigr)

Den estimerte tilstandsverdifunksjonen vkv_k konvergerer til slutt mot en sann tilstandsverdifunksjon vπv_\pi når kk \to \infty dersom vπv_\pi eksisterer.

Strategier for verdi-backup

Ved oppdatering av verdiestimatene beregnes nye estimater basert på tidligere verdier. Prosessen med å bevare tidligere estimater kalles en backup. Det finnes to vanlige strategier for å utføre backups:

  • Full backup: denne metoden innebærer å lagre de nye estimatene i et eget array, adskilt fra det som inneholder de tidligere (backede) verdiene. Dermed kreves to arrays — ett for å opprettholde de tidligere estimatene og ett for å lagre de nyberegnede verdiene;
  • In-place backup: denne tilnærmingen holder alle verdier i ett enkelt array. Hvert nytt estimat erstatter umiddelbart den forrige verdien. Denne metoden reduserer minnebruken, ettersom kun ett array er nødvendig.

Vanligvis foretrekkes in-place backup-metoden fordi den krever mindre minne og konvergerer raskere, på grunn av umiddelbar bruk av de siste estimatene.

Når skal man stoppe oppdateringen?

I iterativ policy-evaluering finnes det ikke et eksakt tidspunkt hvor algoritmen skal stoppe. Selv om konvergens er garantert i det uendelige, er det unødvendig å fortsette beregningene etter et visst punkt i praksis. Et enkelt og effektivt stoppkriterium er å følge med på absoluttverdien av forskjellen mellom påfølgende verdiestimat, vk+1(s)vk(s)|v_{k+1}(s) - v_k(s)|, og sammenligne dette med en liten terskel θ\theta. Hvis det etter en full oppdateringssyklus (hvor verdiene for alle tilstander er oppdatert) ikke er noen endringer som overstiger θ\theta, kan prosessen trygt avsluttes.

Pseudokode

question mark

Hvilket av følgende utsagn er sant med hensyn til den iterative policy-evalueringsmetoden?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4

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

Suggested prompts:

Can you explain the difference between full backup and in-place backup in more detail?

How does the choice of the discount factor γ affect convergence?

Can you walk me through the pseudocode for iterative policy evaluation?

Awesome!

Completion rate improved to 2.7

bookPolicyvurdering

Sveip for å vise menyen

Note
Definisjon

Policy evaluation er en prosess for å bestemme verdifunksjonen til en gitt policy.

Note
Merk

Policy evaluation kan brukes til å estimere både state value function og action value function. For DP-metoder vil state value function benyttes.

Som du vet, kan en state value function for en gitt policy bestemmes ved å løse en Bellman-ligning:

vπ(s)=aπ(as)s,rp(s,rs,a)(r+γvπ(s))v_\pi(s) = \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)

Hvis du har en fullstendig modell av miljøet (dvs. kjente overgangssannsynligheter og forventede belønninger for alle tilstands-handlingspar), er de eneste ukjente variablene som gjenstår i ligningen tilstandsverdiene. Derfor kan ligningen ovenfor omformuleres som et system av S|S| lineære ligninger med S|S| ukjente.

For eksempel, hvis en MDP har 2 tilstander (s1s_1, s2s_2) og 2 handlinger (flytt til s1s_1, flytt til s2s_2), kan tilstandsverdifunksjonen defineres slik:

{V(s1)=0.5(5+0.9V(s1))+0.5(10+0.9V(s2))V(s2)=0.7(2+0.9V(s1))+0.3(0+0.9V(s2))\begin{cases} V(s_1) = 0.5 \cdot (5 + 0.9 \cdot V(s_1)) + 0.5 \cdot (10 + 0.9 \cdot V(s_2)) \\ V(s_2) = 0.7 \cdot (2 + 0.9 \cdot V(s_1)) + 0.3 \cdot (0 + 0.9 \cdot V(s_2)) \end{cases}

Dette kan løses ved hjelp av standard lineær algebra.

En entydig løsning for et slikt lineært system er garantert dersom minst ett av følgende vilkår er oppfylt:

  • Diskonteringsfaktoren tilfredsstiller γ<1γ < 1;
  • Politikken π\pi, når den følges fra en hvilken som helst tilstand ss, sikrer at episoden til slutt terminerer.

Iterativ policy-evaluering

Løsningen kan beregnes direkte, men en iterativ tilnærming brukes oftere på grunn av enkel implementering. Denne metoden starter med å tildele vilkårlige startverdier til alle tilstander, unntatt terminaltilstander, som settes til 0. Verdiene oppdateres deretter iterativt ved å bruke Bellman-ligningen som oppdateringsregel:

vk+1(s)aπ(as)s,rp(s,rs,a)(r+γvk(s))v_{k+1}(s) \gets \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_k(s')\Bigr)

Den estimerte tilstandsverdifunksjonen vkv_k konvergerer til slutt mot en sann tilstandsverdifunksjon vπv_\pi når kk \to \infty dersom vπv_\pi eksisterer.

Strategier for verdi-backup

Ved oppdatering av verdiestimatene beregnes nye estimater basert på tidligere verdier. Prosessen med å bevare tidligere estimater kalles en backup. Det finnes to vanlige strategier for å utføre backups:

  • Full backup: denne metoden innebærer å lagre de nye estimatene i et eget array, adskilt fra det som inneholder de tidligere (backede) verdiene. Dermed kreves to arrays — ett for å opprettholde de tidligere estimatene og ett for å lagre de nyberegnede verdiene;
  • In-place backup: denne tilnærmingen holder alle verdier i ett enkelt array. Hvert nytt estimat erstatter umiddelbart den forrige verdien. Denne metoden reduserer minnebruken, ettersom kun ett array er nødvendig.

Vanligvis foretrekkes in-place backup-metoden fordi den krever mindre minne og konvergerer raskere, på grunn av umiddelbar bruk av de siste estimatene.

Når skal man stoppe oppdateringen?

I iterativ policy-evaluering finnes det ikke et eksakt tidspunkt hvor algoritmen skal stoppe. Selv om konvergens er garantert i det uendelige, er det unødvendig å fortsette beregningene etter et visst punkt i praksis. Et enkelt og effektivt stoppkriterium er å følge med på absoluttverdien av forskjellen mellom påfølgende verdiestimat, vk+1(s)vk(s)|v_{k+1}(s) - v_k(s)|, og sammenligne dette med en liten terskel θ\theta. Hvis det etter en full oppdateringssyklus (hvor verdiene for alle tilstander er oppdatert) ikke er noen endringer som overstiger θ\theta, kan prosessen trygt avsluttes.

Pseudokode

question mark

Hvilket av følgende utsagn er sant med hensyn til den iterative policy-evalueringsmetoden?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4
some-alt