Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Bellman-ligninger | Dynamisk Programmering
Introduksjon til Forsterkende Læring
course content

Kursinnhold

Introduksjon til Forsterkende Læring

Introduksjon til Forsterkende Læring

1. Kjerneprinsipper i RL
2. Multi-Armet Bandittproblem
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporal Difference-læring

book
Bellman-ligninger

Note
Definisjon

En Bellman-ligning er en funksjonell ligning som definerer en verdifunksjon i rekursiv form.

For å tydeliggjøre definisjonen:

  • En funksjonell ligning er en ligning der løsningen er en funksjon. For Bellman-ligningen er denne løsningen verdifunksjonen som ligningen er formulert for;
  • En rekursiv form betyr at verdien i nåværende tilstand uttrykkes ved hjelp av verdier i fremtidige tilstander.

Kort sagt, å løse Bellman-ligningen gir den ønskede verdifunksjonen, og å utlede denne ligningen krever å identifisere et rekursivt forhold mellom nåværende og fremtidige tilstander.

Tilstandsverdifunksjon

Som en påminnelse, her er en tilstandsverdifunksjon i kompakt form:

vπ(s)=Eπ[GtSt=s]\def\E{\operatorname{\mathbb{E}}} v_\pi(s) = \E_\pi[G_t | S_t = s]

For å utlede Bellman-likningen for denne verdifunksjonen, utvider vi høyresiden av likningen og etablerer et rekursivt forhold:

vπ(s)=Eπ[GtSt=s]=Eπ[Rt+1+γRt+2+γ2Rt+3+...St=s]=Eπ[Rt+1+γk=0γkRt+k+2St=s]=Eπ[Rt+1+γGt+1St=s]=aπ(as)s,rp(s,rs,a)(r+γEπ[Gt+1St+1=s])=aπ(as)s,rp(s,rs,a)(r+γvπ(s))\def\E{\operatorname{\mathbb{E}}} \begin{aligned} v_\pi(s) &= \E_\pi[G_t | S_t = s]\\ &= \E_\pi[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... | S_t = s]\\ &= \E_\pi[R_{t+1} + \gamma \sum_{k=0}^\infty \gamma^k R_{t+k+2} | S_t = s]\\ &= \E_\pi[R_{t+1} + \gamma G_{t+1} | S_t = s]\\ &= \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma \E_\pi\Bigl[G_{t+1} | S_{t+1} = s'\Bigr]\Bigr)\\ &= \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr) \end{aligned}

Den siste likningen i denne kjeden er en Bellman-likning for tilstandsverdifunksjonen.

Intuisjon

For å finne verdien til en tilstand ss:

  1. Vurder alle mulige handlinger aa du kan ta fra denne tilstanden, hver vektet etter hvor sannsynlig det er at du velger denne handlingen under din nåværende policy π(as)\pi(a | s);
  2. For hver handling aa vurderer du alle mulige neste tilstander ss' og belønninger rr, vektet etter sannsynligheten p(s,rs,a)p(s', r | s, a);
  3. For hvert av disse utfallene tar du den umiddelbare belønningen rr du får pluss den diskonterte verdien av neste tilstand γvπ(s)\gamma v_\pi(s').

Ved å summere alle disse mulighetene får du den totale forventede verdien av tilstanden ss under din nåværende policy.

Handlingsverdifunksjon

Her er en handlingsverdifunksjon i kompakt form:

qπ(s,a)=Eπ[GtSt=s,At=a]\def\E{\operatorname{\mathbb{E}}} q_\pi(s, a) = \E_\pi[G_t | S_t = s, A_t = a]

Utledningen av Bellman-likningen for denne funksjonen ligner mye på den forrige:

qπ(s,a)=Eπ[GtSt=s,At=a]=Eπ[Rt+1+γRt+2+γ2Rt+3+...St=s,At=a]=Eπ[Rt+1+γk=0γkRt+k+2St=s,At=a]=Eπ[Rt+1+γGt+1St=s,At=a]=s,rp(s,rs,a)(r+γEπ[Gt+1St+1=s])=s,rp(s,rs,a)(r+γaπ(as)(Eπ[Gt+1St+1=s,At+1=a]))=s,rp(s,rs,a)(r+γaπ(as)q(s,a))\def\E{\operatorname{\mathbb{E}}} \begin{aligned} q_\pi(s, a) &= \E_\pi[G_t | S_t = s, A_t = a]\\ &= \E_\pi[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... | S_t = s, A_t = a]\\ &= \E_\pi[R_{t+1} + \gamma \sum_{k=0}^\infty \gamma^k R_{t+k+2} | S_t = s, A_t = a]\\ &= \E_\pi[R_{t+1} + \gamma G_{t+1} | S_t = s, A_t = a]\\ &= \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma \E_\pi\Bigl[G_{t+1} | S_{t+1} = s'\Bigr]\Bigr)\\ &= \sum_{s', r} p(s', r | s, a)\Biggl(r + \gamma \sum_{a'} \pi(a' | s') \Bigl(\E_\pi\Bigl[G_{t+1} | S_{t+1} = s', A_{t+1} = a'\Bigr]\Bigr)\Biggr)\\ &= \sum_{s', r} p(s', r | s, a)\Biggl(r + \gamma \sum_{a'} \pi(a' | s') q(s', a')\Biggr) \end{aligned}

Den siste likningen i denne kjeden er en Bellman-likning for handlingsverdifunksjonen.

Intuisjon

For å finne verdien til et tilstands-handlingspar (s,a)(s, a), gjør du følgende:

  1. Vurder alle mulige neste tilstander ss' og belønninger rr, vektet etter sannsynligheten p(s,rs,a)p(s', r | s, a);
  2. For hvert av disse utfallene tar du den umiddelbare belønningen rr du får, pluss den diskonterte verdien av neste tilstand;
  3. For å beregne verdien av neste tilstand ss', for alle handlinger aa' som er mulige fra tilstand ss', multipliserer du handlingsverdien q(s,a)q(s', a') med sannsynligheten for å velge aa' i tilstand ss' under gjeldende policy π(as)\pi(a' | s'). Deretter summerer du alt for å få den endelige verdien.

Ved å summere alle disse mulighetene sammen, får du den totale forventede verdien av tilstands-handlingsparet (s,a)(s, a) under din nåværende policy.

question mark

Hvilket av følgende beskriver best funksjonen til Bellman-likningen?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. 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

course content

Kursinnhold

Introduksjon til Forsterkende Læring

Introduksjon til Forsterkende Læring

1. Kjerneprinsipper i RL
2. Multi-Armet Bandittproblem
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporal Difference-læring

book
Bellman-ligninger

Note
Definisjon

En Bellman-ligning er en funksjonell ligning som definerer en verdifunksjon i rekursiv form.

For å tydeliggjøre definisjonen:

  • En funksjonell ligning er en ligning der løsningen er en funksjon. For Bellman-ligningen er denne løsningen verdifunksjonen som ligningen er formulert for;
  • En rekursiv form betyr at verdien i nåværende tilstand uttrykkes ved hjelp av verdier i fremtidige tilstander.

Kort sagt, å løse Bellman-ligningen gir den ønskede verdifunksjonen, og å utlede denne ligningen krever å identifisere et rekursivt forhold mellom nåværende og fremtidige tilstander.

Tilstandsverdifunksjon

Som en påminnelse, her er en tilstandsverdifunksjon i kompakt form:

vπ(s)=Eπ[GtSt=s]\def\E{\operatorname{\mathbb{E}}} v_\pi(s) = \E_\pi[G_t | S_t = s]

For å utlede Bellman-likningen for denne verdifunksjonen, utvider vi høyresiden av likningen og etablerer et rekursivt forhold:

vπ(s)=Eπ[GtSt=s]=Eπ[Rt+1+γRt+2+γ2Rt+3+...St=s]=Eπ[Rt+1+γk=0γkRt+k+2St=s]=Eπ[Rt+1+γGt+1St=s]=aπ(as)s,rp(s,rs,a)(r+γEπ[Gt+1St+1=s])=aπ(as)s,rp(s,rs,a)(r+γvπ(s))\def\E{\operatorname{\mathbb{E}}} \begin{aligned} v_\pi(s) &= \E_\pi[G_t | S_t = s]\\ &= \E_\pi[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... | S_t = s]\\ &= \E_\pi[R_{t+1} + \gamma \sum_{k=0}^\infty \gamma^k R_{t+k+2} | S_t = s]\\ &= \E_\pi[R_{t+1} + \gamma G_{t+1} | S_t = s]\\ &= \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma \E_\pi\Bigl[G_{t+1} | S_{t+1} = s'\Bigr]\Bigr)\\ &= \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr) \end{aligned}

Den siste likningen i denne kjeden er en Bellman-likning for tilstandsverdifunksjonen.

Intuisjon

For å finne verdien til en tilstand ss:

  1. Vurder alle mulige handlinger aa du kan ta fra denne tilstanden, hver vektet etter hvor sannsynlig det er at du velger denne handlingen under din nåværende policy π(as)\pi(a | s);
  2. For hver handling aa vurderer du alle mulige neste tilstander ss' og belønninger rr, vektet etter sannsynligheten p(s,rs,a)p(s', r | s, a);
  3. For hvert av disse utfallene tar du den umiddelbare belønningen rr du får pluss den diskonterte verdien av neste tilstand γvπ(s)\gamma v_\pi(s').

Ved å summere alle disse mulighetene får du den totale forventede verdien av tilstanden ss under din nåværende policy.

Handlingsverdifunksjon

Her er en handlingsverdifunksjon i kompakt form:

qπ(s,a)=Eπ[GtSt=s,At=a]\def\E{\operatorname{\mathbb{E}}} q_\pi(s, a) = \E_\pi[G_t | S_t = s, A_t = a]

Utledningen av Bellman-likningen for denne funksjonen ligner mye på den forrige:

qπ(s,a)=Eπ[GtSt=s,At=a]=Eπ[Rt+1+γRt+2+γ2Rt+3+...St=s,At=a]=Eπ[Rt+1+γk=0γkRt+k+2St=s,At=a]=Eπ[Rt+1+γGt+1St=s,At=a]=s,rp(s,rs,a)(r+γEπ[Gt+1St+1=s])=s,rp(s,rs,a)(r+γaπ(as)(Eπ[Gt+1St+1=s,At+1=a]))=s,rp(s,rs,a)(r+γaπ(as)q(s,a))\def\E{\operatorname{\mathbb{E}}} \begin{aligned} q_\pi(s, a) &= \E_\pi[G_t | S_t = s, A_t = a]\\ &= \E_\pi[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... | S_t = s, A_t = a]\\ &= \E_\pi[R_{t+1} + \gamma \sum_{k=0}^\infty \gamma^k R_{t+k+2} | S_t = s, A_t = a]\\ &= \E_\pi[R_{t+1} + \gamma G_{t+1} | S_t = s, A_t = a]\\ &= \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma \E_\pi\Bigl[G_{t+1} | S_{t+1} = s'\Bigr]\Bigr)\\ &= \sum_{s', r} p(s', r | s, a)\Biggl(r + \gamma \sum_{a'} \pi(a' | s') \Bigl(\E_\pi\Bigl[G_{t+1} | S_{t+1} = s', A_{t+1} = a'\Bigr]\Bigr)\Biggr)\\ &= \sum_{s', r} p(s', r | s, a)\Biggl(r + \gamma \sum_{a'} \pi(a' | s') q(s', a')\Biggr) \end{aligned}

Den siste likningen i denne kjeden er en Bellman-likning for handlingsverdifunksjonen.

Intuisjon

For å finne verdien til et tilstands-handlingspar (s,a)(s, a), gjør du følgende:

  1. Vurder alle mulige neste tilstander ss' og belønninger rr, vektet etter sannsynligheten p(s,rs,a)p(s', r | s, a);
  2. For hvert av disse utfallene tar du den umiddelbare belønningen rr du får, pluss den diskonterte verdien av neste tilstand;
  3. For å beregne verdien av neste tilstand ss', for alle handlinger aa' som er mulige fra tilstand ss', multipliserer du handlingsverdien q(s,a)q(s', a') med sannsynligheten for å velge aa' i tilstand ss' under gjeldende policy π(as)\pi(a' | s'). Deretter summerer du alt for å få den endelige verdien.

Ved å summere alle disse mulighetene sammen, får du den totale forventede verdien av tilstands-handlingsparet (s,a)(s, a) under din nåværende policy.

question mark

Hvilket av følgende beskriver best funksjonen til Bellman-likningen?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 2
some-alt