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
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
Bellman-Ligninger

Note
Definition

En Bellman-ligning er en funktionel ligning, der definerer en værdifunktion i rekursiv form.

For at præcisere definitionen:

  • En funktionel ligning er en ligning, hvis løsning er en funktion. For Bellman-ligningen er denne løsning værdifunktionen, som ligningen er formuleret for;
  • En rekursiv form betyder, at værdien i den nuværende tilstand udtrykkes ved hjælp af værdier i fremtidige tilstande.

Kort sagt, løsning af Bellman-ligningen giver den ønskede værdifunktion, og udledning af denne ligning kræver identifikation af et rekursivt forhold mellem nuværende og fremtidige tilstande.

Tilstands-værdifunktion

Som en påmindelse er her en tilstandsværdi-funktion i kompakt form:

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

For at opnå Bellman-ligningen for denne værdifunktion, udvider vi højresiden af ligningen og etablerer en rekursiv relation:

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 sidste ligning i denne kæde er en Bellman-ligning for tilstandsværdi-funktionen.

Intuition

For at finde værdien af en tilstand ss:

  1. Overvej alle mulige handlinger aa, du kan udføre fra denne tilstand, hver vægtet efter sandsynligheden for at vælge denne handling under din nuværende politik π(as)\pi(a | s);
  2. For hver handling aa overvejes alle mulige næste tilstande ss' og belønninger rr, vægtet efter deres sandsynlighed p(s,rs,a)p(s', r | s, a);
  3. For hvert af disse udfald tages den umiddelbare belønning rr plus den diskonterede værdi af næste tilstand γvπ(s)\gamma v_\pi(s').

Ved at summere alle disse muligheder opnås den samlede forventede værdi af tilstanden ss under din nuværende politik.

Aktionsværdifunktion

Her er en aktionsværdifunktion 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]

Udledningen af Bellman-ligningen for denne funktion ligner meget den foregående:

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 sidste ligning i denne kæde er en Bellman-ligning for aktionsværdifunktionen.

Intuition

For at finde værdien af et tilstands-handlingspar (s,a)(s, a):

  1. Overvej alle mulige næste tilstande ss' og belønninger rr, vægtet efter deres sandsynlighed p(s,rs,a)p(s', r | s, a);
  2. For hvert af disse udfald tages den umiddelbare belønning rr plus den diskonterede værdi af den næste tilstand;
  3. For at beregne værdien af den næste tilstand ss', for alle handlinger aa' mulige fra tilstand ss', multipliceres handlingsværdien q(s,a)q(s', a') med sandsynligheden for at vælge aa' i tilstand ss' under den nuværende politik π(as)\pi(a' | s'). Til sidst summeres alt for at opnå den endelige værdi.

Ved at summere alle disse muligheder sammen opnås den samlede forventede værdi af tilstands-handlingsparret (s,a)(s, a) under den nuværende politik.

question mark

Hvilket af følgende beskriver bedst funktionen af Bellman-ligningen?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 2

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
Bellman-Ligninger

Note
Definition

En Bellman-ligning er en funktionel ligning, der definerer en værdifunktion i rekursiv form.

For at præcisere definitionen:

  • En funktionel ligning er en ligning, hvis løsning er en funktion. For Bellman-ligningen er denne løsning værdifunktionen, som ligningen er formuleret for;
  • En rekursiv form betyder, at værdien i den nuværende tilstand udtrykkes ved hjælp af værdier i fremtidige tilstande.

Kort sagt, løsning af Bellman-ligningen giver den ønskede værdifunktion, og udledning af denne ligning kræver identifikation af et rekursivt forhold mellem nuværende og fremtidige tilstande.

Tilstands-værdifunktion

Som en påmindelse er her en tilstandsværdi-funktion i kompakt form:

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

For at opnå Bellman-ligningen for denne værdifunktion, udvider vi højresiden af ligningen og etablerer en rekursiv relation:

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 sidste ligning i denne kæde er en Bellman-ligning for tilstandsværdi-funktionen.

Intuition

For at finde værdien af en tilstand ss:

  1. Overvej alle mulige handlinger aa, du kan udføre fra denne tilstand, hver vægtet efter sandsynligheden for at vælge denne handling under din nuværende politik π(as)\pi(a | s);
  2. For hver handling aa overvejes alle mulige næste tilstande ss' og belønninger rr, vægtet efter deres sandsynlighed p(s,rs,a)p(s', r | s, a);
  3. For hvert af disse udfald tages den umiddelbare belønning rr plus den diskonterede værdi af næste tilstand γvπ(s)\gamma v_\pi(s').

Ved at summere alle disse muligheder opnås den samlede forventede værdi af tilstanden ss under din nuværende politik.

Aktionsværdifunktion

Her er en aktionsværdifunktion 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]

Udledningen af Bellman-ligningen for denne funktion ligner meget den foregående:

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 sidste ligning i denne kæde er en Bellman-ligning for aktionsværdifunktionen.

Intuition

For at finde værdien af et tilstands-handlingspar (s,a)(s, a):

  1. Overvej alle mulige næste tilstande ss' og belønninger rr, vægtet efter deres sandsynlighed p(s,rs,a)p(s', r | s, a);
  2. For hvert af disse udfald tages den umiddelbare belønning rr plus den diskonterede værdi af den næste tilstand;
  3. For at beregne værdien af den næste tilstand ss', for alle handlinger aa' mulige fra tilstand ss', multipliceres handlingsværdien q(s,a)q(s', a') med sandsynligheden for at vælge aa' i tilstand ss' under den nuværende politik π(as)\pi(a' | s'). Til sidst summeres alt for at opnå den endelige værdi.

Ved at summere alle disse muligheder sammen opnås den samlede forventede værdi af tilstands-handlingsparret (s,a)(s, a) under den nuværende politik.

question mark

Hvilket af følgende beskriver bedst funktionen af Bellman-ligningen?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 2
some-alt