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

Kursusindhold

Introduktion til Reinforcement Learning

Introduktion til Reinforcement Learning

1. RL Kerneprincipper
2. Multi-Armet Bandit-Problem
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporal Difference-Læring

book
Politikevaluering

Note
Definition

Politikevaluering er en proces, hvor man bestemmer værdifunktionen for en given politik.

Note
Bemærk

Politikevaluering kan bruges til at estimere både tilstandsværdifunktion og aktionsværdifunktion. For DP-metoder anvendes dog tilstandsværdifunktionen.

Som du ved, kan en tilstandsværdifunktion for en given politik bestemmes ved at 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 fuldstændig model af miljøet (dvs. kendte overgangssandsynligheder og forventede belønninger for alle tilstands-handlingspar), er de eneste ukendte variabler i ligningen tilstandsværdierne. Derfor kan ovenstående ligning omformuleres som et system af S|S| lineære ligninger med S|S| ubekendte.

For eksempel, hvis en MDP har 2 tilstande (s1s_1, s2s_2) og 2 handlinger (flyt til s1s_1, flyt til s2s_2), kan tilstandsværdifunktionen defineres således:

{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 hjælp af standard lineær algebra.

En entydig løsning til et sådant lineært system er garanteret, hvis mindst én af følgende betingelser er opfyldt:

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

Iterativ policy-evaluering

Løsningen kan beregnes direkte, men en iterativ tilgang anvendes oftere på grund af dens nemme implementering. Denne metode starter med at tildele vilkårlige startværdier til alle tilstande, undtagen terminale tilstande, som sættes til 0. Værdierne opdateres derefter iterativt ved hjælp af Bellman-ligningen som opdateringsregel:

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 estimerede tilstandsværdi-funktion vkv_k konvergerer til sidst til den sande tilstandsværdi-funktion vπv_\pi, når kk \to \infty, hvis vπv_\pi eksisterer.

Strategier for værdi-backup

Ved opdatering af værdiestimater beregnes nye estimater baseret på tidligere værdier. Processen med at bevare tidligere estimater kaldes en backup. Der findes to almindelige strategier til at udføre backups:

  • Fuld backup: denne metode indebærer lagring af de nye estimater i et separat array, adskilt fra det, der indeholder de tidligere (backede) værdier. Derfor kræves to arrays — et til at opretholde de tidligere estimater og et andet til at lagre de nyberegnede værdier;
  • In-place backup: denne tilgang opretholder alle værdier i et enkelt array. Hvert nyt estimat erstatter straks den tidligere værdi. Denne metode reducerer hukommelsesforbruget, da kun ét array er nødvendigt.

Typisk foretrækkes in-place backup-metoden, fordi den kræver mindre hukommelse og konvergerer hurtigere, da de nyeste estimater straks anvendes.

Hvornår skal opdateringen stoppes?

Ved iterativ policy-evaluering findes der ikke et præcist tidspunkt, hvor algoritmen bør stoppe. Selvom konvergens er garanteret i grænsen, er det i praksis unødvendigt at fortsætte beregningerne ud over et vist punkt. Et simpelt og effektivt stopkriterium er at overvåge den absolutte forskel mellem på hinanden følgende værdiestimater, vk+1(s)vk(s)|v_{k+1}(s) - v_k(s)|, og sammenligne den med en lille tærskelværdi θ\theta. Hvis der efter en fuld opdateringscyklus (hvor værdierne for alle tilstande opdateres) ikke er nogen ændringer, der overstiger θ\theta, kan processen afsluttes sikkert.

Pseudokode

question mark

Hvilket af følgende udsagn er sandt vedrørende den iterative policy-evalueringsmetode?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

course content

Kursusindhold

Introduktion til Reinforcement Learning

Introduktion til Reinforcement Learning

1. RL Kerneprincipper
2. Multi-Armet Bandit-Problem
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporal Difference-Læring

book
Politikevaluering

Note
Definition

Politikevaluering er en proces, hvor man bestemmer værdifunktionen for en given politik.

Note
Bemærk

Politikevaluering kan bruges til at estimere både tilstandsværdifunktion og aktionsværdifunktion. For DP-metoder anvendes dog tilstandsværdifunktionen.

Som du ved, kan en tilstandsværdifunktion for en given politik bestemmes ved at 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 fuldstændig model af miljøet (dvs. kendte overgangssandsynligheder og forventede belønninger for alle tilstands-handlingspar), er de eneste ukendte variabler i ligningen tilstandsværdierne. Derfor kan ovenstående ligning omformuleres som et system af S|S| lineære ligninger med S|S| ubekendte.

For eksempel, hvis en MDP har 2 tilstande (s1s_1, s2s_2) og 2 handlinger (flyt til s1s_1, flyt til s2s_2), kan tilstandsværdifunktionen defineres således:

{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 hjælp af standard lineær algebra.

En entydig løsning til et sådant lineært system er garanteret, hvis mindst én af følgende betingelser er opfyldt:

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

Iterativ policy-evaluering

Løsningen kan beregnes direkte, men en iterativ tilgang anvendes oftere på grund af dens nemme implementering. Denne metode starter med at tildele vilkårlige startværdier til alle tilstande, undtagen terminale tilstande, som sættes til 0. Værdierne opdateres derefter iterativt ved hjælp af Bellman-ligningen som opdateringsregel:

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 estimerede tilstandsværdi-funktion vkv_k konvergerer til sidst til den sande tilstandsværdi-funktion vπv_\pi, når kk \to \infty, hvis vπv_\pi eksisterer.

Strategier for værdi-backup

Ved opdatering af værdiestimater beregnes nye estimater baseret på tidligere værdier. Processen med at bevare tidligere estimater kaldes en backup. Der findes to almindelige strategier til at udføre backups:

  • Fuld backup: denne metode indebærer lagring af de nye estimater i et separat array, adskilt fra det, der indeholder de tidligere (backede) værdier. Derfor kræves to arrays — et til at opretholde de tidligere estimater og et andet til at lagre de nyberegnede værdier;
  • In-place backup: denne tilgang opretholder alle værdier i et enkelt array. Hvert nyt estimat erstatter straks den tidligere værdi. Denne metode reducerer hukommelsesforbruget, da kun ét array er nødvendigt.

Typisk foretrækkes in-place backup-metoden, fordi den kræver mindre hukommelse og konvergerer hurtigere, da de nyeste estimater straks anvendes.

Hvornår skal opdateringen stoppes?

Ved iterativ policy-evaluering findes der ikke et præcist tidspunkt, hvor algoritmen bør stoppe. Selvom konvergens er garanteret i grænsen, er det i praksis unødvendigt at fortsætte beregningerne ud over et vist punkt. Et simpelt og effektivt stopkriterium er at overvåge den absolutte forskel mellem på hinanden følgende værdiestimater, vk+1(s)vk(s)|v_{k+1}(s) - v_k(s)|, og sammenligne den med en lille tærskelværdi θ\theta. Hvis der efter en fuld opdateringscyklus (hvor værdierne for alle tilstande opdateres) ikke er nogen ændringer, der overstiger θ\theta, kan processen afsluttes sikkert.

Pseudokode

question mark

Hvilket af følgende udsagn er sandt vedrørende den iterative policy-evalueringsmetode?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 4
some-alt