Policyvurdering
Policy evaluation er en prosess for å bestemme verdifunksjonen til en gitt policy.
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∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvπ(s′))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∣ lineære ligninger med ∣S∣ ukjente.
For eksempel, hvis en MDP har 2 tilstander (s1, s2) og 2 handlinger (flytt til s1, flytt til s2), kan tilstandsverdifunksjonen defineres slik:
{V(s1)=0.5⋅(5+0.9⋅V(s1))+0.5⋅(10+0.9⋅V(s2))V(s2)=0.7⋅(2+0.9⋅V(s1))+0.3⋅(0+0.9⋅V(s2))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;
- Politikken π, når den følges fra en hvilken som helst tilstand s, 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∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvk(s′))Den estimerte tilstandsverdifunksjonen vk konvergerer til slutt mot en sann tilstandsverdifunksjon vπ når k→∞ dersom vπ 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)∣, og sammenligne dette med en liten terskel θ. Hvis det etter en full oppdateringssyklus (hvor verdiene for alle tilstander er oppdatert) ikke er noen endringer som overstiger θ, kan prosessen trygt avsluttes.
Pseudokode
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Policyvurdering
Sveip for å vise menyen
Policy evaluation er en prosess for å bestemme verdifunksjonen til en gitt policy.
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∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvπ(s′))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∣ lineære ligninger med ∣S∣ ukjente.
For eksempel, hvis en MDP har 2 tilstander (s1, s2) og 2 handlinger (flytt til s1, flytt til s2), kan tilstandsverdifunksjonen defineres slik:
{V(s1)=0.5⋅(5+0.9⋅V(s1))+0.5⋅(10+0.9⋅V(s2))V(s2)=0.7⋅(2+0.9⋅V(s1))+0.3⋅(0+0.9⋅V(s2))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;
- Politikken π, når den følges fra en hvilken som helst tilstand s, 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∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvk(s′))Den estimerte tilstandsverdifunksjonen vk konvergerer til slutt mot en sann tilstandsverdifunksjon vπ når k→∞ dersom vπ 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)∣, og sammenligne dette med en liten terskel θ. Hvis det etter en full oppdateringssyklus (hvor verdiene for alle tilstander er oppdatert) ikke er noen endringer som overstiger θ, kan prosessen trygt avsluttes.
Pseudokode
Takk for tilbakemeldingene dine!