Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Monte Carlo-Kontrol | Monte Carlo-metoder
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
Monte Carlo-Kontrol

Ved at erstatte policy evaluation-trinnet i den standard policy iteration-algoritme med Monte Carlo-estimationsteknikkerne beskrevet i det forrige kapitel, kan vi allerede udlede en ny variation af policy iteration—en, der er baseret på sampled experience i stedet for dynamisk programmering.

Der er dog en væsentlig begrænsning. I traditionel policy iteration afhænger policy improvement-trinnet af at have adgang til en komplet model af miljøet. Specifikt bruger vi følgende udtryk til at opdatere politikken:

π(s)arg maxas,rp(s,rs,a)(r+γv(s))\pi(s) \gets \argmax_a \sum_{s', r} \textcolor{red}{p(s', r | s, a)} \Bigl(r + \gamma v(s')\Bigr)

Denne ligning antager, at vi kender overgangssandsynlighederne p(s,rs,a)p(s', r | s, a). Men det er netop problemet: Monte Carlo-metoder er designet til model-fri indstillinger, hvor miljøets overgangsdynamik er ukendt. Hvis en komplet model er tilgængelig, kan vi lige så godt bruge dynamisk programmering overalt, også til policy evaluation, da det ville være mere effektivt og præcist.

Derfor, selvom det at erstatte Monte Carlo-metoder til værdiberegning er et skridt mod model-fri reinforcement learning, skal vi også finde en måde at udføre policy improvement uden at være afhængig af kendskab til modellen. Dette kræver et skift fra tilstands-værdifunktion til aktions-værdifunktion.

Hvorfor aktionsværdier?

Ved at bruge aktionsværdier er det muligt at udføre policy improvement uden at have en model af miljøet. I stedet for at være afhængig af overgangssandsynligheder for at beregne forventede afkast, kan vi direkte vælge de handlinger, der ser ud til at give den højeste værdi. Policy improvement-trinnet bliver da:

π(s)arg maxaq(s,a)sS\pi(s) \gets \argmax_a q(s, a) \qquad \forall s \in S

Og det er ikke svært at bevise, at den nye politik ikke er dårligere end den gamle, da policy improvement-sætningen stadig kan anvendes:

qπk(s,πk+1(s))=qπk(s,arg maxaqπk(s,a))=maxaqπk(s,a)qπk(s,πk(s))=vπk(s)\begin{aligned} q_{\pi_{k}}(s, \pi_{k+1}(s)) &= q_{\pi_k}(s, \argmax_a q_{\pi_k}(s, a))\\ &= \max_a q_{\pi_k}(s, a)\\ &\ge q_{\pi_k}(s, \pi_k(s))\\ &= v_{\pi_k}(s) \end{aligned}

Og ligesom med DP garanterer denne sætning, at enten er πk+1\pi_{k+1} bedre end πk\pi_k, eller også er de begge ens og optimale.

Estimering af handlingsværdifunktion

Estimeringsprocessen er næsten identisk med tilstandsværdifunktionen. Alle idéer, der anvendes til at estimere tilstandsværdier, kan bruges til at estimere handlingsværdier.

Pseudokode

På denne måde, med tilstrækkeligt mange iterationer, bør de estimerede handlingsværdier nærme sig de sande handlingsværdier.

Med dette kan du allerede konstruere en metode svarende til politik-iteration, som ikke er afhængig af en model. For at gøre dette erstattes trinnene politikevaluering og politikforbedring med de ovenfor beskrevne processer.

Optimering

Selvom evaluerings-trinnet kan udføres ved hjælp af Monte Carlo-estimering som beskrevet, har det en tendens til at være beregningsmæssigt ineffektivt. Som du allerede har set, kræver Monte Carlo-metoder typisk et stort antal prøver for at give rimeligt nøjagtige estimater. Hvis vi følger en struktur svarende til politik-iteration, forstærkes denne ineffektivitet: efter hver politikforbedring skal vi genkøre Monte Carlo-estimering for at genvurdere den nye politik — hvilket resulterer i betydelig overhead og langsom indlæring.

Et mere naturligt alternativ er at opdatere politikken umiddelbart efter behandling af hver episode. I stedet for at vente på at gennemføre en fuld omgang politikevaluering, tillader vi agenten at forfine sin adfærd episode for episode ved at bruge de nyeste estimater af handlingsværdier.

Dette resulterer i en metode, der minder mere om værdi-iteration: kombinerer aspekter af evaluering og forbedring i ét trin. Det øger prøveeffektiviteten og øger beregningshastigheden.

Pseudokode

Denne algoritme følger en GPI-ramme, da den har trin for policyevaluering og policyforbedring, og den kaldes Monte Carlo-kontrol. Den største ulempe ved denne specifikke implementering er antagelsen om exploring starts. I de næste kapitler vil du se, hvorfor dette er et problem, og hvordan det kan håndteres.

question mark

Hvad er den største fordel ved at bruge handlingsværdier i stedet for tilstandsværdier i Monte Carlo-kontrol?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 3

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
Monte Carlo-Kontrol

Ved at erstatte policy evaluation-trinnet i den standard policy iteration-algoritme med Monte Carlo-estimationsteknikkerne beskrevet i det forrige kapitel, kan vi allerede udlede en ny variation af policy iteration—en, der er baseret på sampled experience i stedet for dynamisk programmering.

Der er dog en væsentlig begrænsning. I traditionel policy iteration afhænger policy improvement-trinnet af at have adgang til en komplet model af miljøet. Specifikt bruger vi følgende udtryk til at opdatere politikken:

π(s)arg maxas,rp(s,rs,a)(r+γv(s))\pi(s) \gets \argmax_a \sum_{s', r} \textcolor{red}{p(s', r | s, a)} \Bigl(r + \gamma v(s')\Bigr)

Denne ligning antager, at vi kender overgangssandsynlighederne p(s,rs,a)p(s', r | s, a). Men det er netop problemet: Monte Carlo-metoder er designet til model-fri indstillinger, hvor miljøets overgangsdynamik er ukendt. Hvis en komplet model er tilgængelig, kan vi lige så godt bruge dynamisk programmering overalt, også til policy evaluation, da det ville være mere effektivt og præcist.

Derfor, selvom det at erstatte Monte Carlo-metoder til værdiberegning er et skridt mod model-fri reinforcement learning, skal vi også finde en måde at udføre policy improvement uden at være afhængig af kendskab til modellen. Dette kræver et skift fra tilstands-værdifunktion til aktions-værdifunktion.

Hvorfor aktionsværdier?

Ved at bruge aktionsværdier er det muligt at udføre policy improvement uden at have en model af miljøet. I stedet for at være afhængig af overgangssandsynligheder for at beregne forventede afkast, kan vi direkte vælge de handlinger, der ser ud til at give den højeste værdi. Policy improvement-trinnet bliver da:

π(s)arg maxaq(s,a)sS\pi(s) \gets \argmax_a q(s, a) \qquad \forall s \in S

Og det er ikke svært at bevise, at den nye politik ikke er dårligere end den gamle, da policy improvement-sætningen stadig kan anvendes:

qπk(s,πk+1(s))=qπk(s,arg maxaqπk(s,a))=maxaqπk(s,a)qπk(s,πk(s))=vπk(s)\begin{aligned} q_{\pi_{k}}(s, \pi_{k+1}(s)) &= q_{\pi_k}(s, \argmax_a q_{\pi_k}(s, a))\\ &= \max_a q_{\pi_k}(s, a)\\ &\ge q_{\pi_k}(s, \pi_k(s))\\ &= v_{\pi_k}(s) \end{aligned}

Og ligesom med DP garanterer denne sætning, at enten er πk+1\pi_{k+1} bedre end πk\pi_k, eller også er de begge ens og optimale.

Estimering af handlingsværdifunktion

Estimeringsprocessen er næsten identisk med tilstandsværdifunktionen. Alle idéer, der anvendes til at estimere tilstandsværdier, kan bruges til at estimere handlingsværdier.

Pseudokode

På denne måde, med tilstrækkeligt mange iterationer, bør de estimerede handlingsværdier nærme sig de sande handlingsværdier.

Med dette kan du allerede konstruere en metode svarende til politik-iteration, som ikke er afhængig af en model. For at gøre dette erstattes trinnene politikevaluering og politikforbedring med de ovenfor beskrevne processer.

Optimering

Selvom evaluerings-trinnet kan udføres ved hjælp af Monte Carlo-estimering som beskrevet, har det en tendens til at være beregningsmæssigt ineffektivt. Som du allerede har set, kræver Monte Carlo-metoder typisk et stort antal prøver for at give rimeligt nøjagtige estimater. Hvis vi følger en struktur svarende til politik-iteration, forstærkes denne ineffektivitet: efter hver politikforbedring skal vi genkøre Monte Carlo-estimering for at genvurdere den nye politik — hvilket resulterer i betydelig overhead og langsom indlæring.

Et mere naturligt alternativ er at opdatere politikken umiddelbart efter behandling af hver episode. I stedet for at vente på at gennemføre en fuld omgang politikevaluering, tillader vi agenten at forfine sin adfærd episode for episode ved at bruge de nyeste estimater af handlingsværdier.

Dette resulterer i en metode, der minder mere om værdi-iteration: kombinerer aspekter af evaluering og forbedring i ét trin. Det øger prøveeffektiviteten og øger beregningshastigheden.

Pseudokode

Denne algoritme følger en GPI-ramme, da den har trin for policyevaluering og policyforbedring, og den kaldes Monte Carlo-kontrol. Den største ulempe ved denne specifikke implementering er antagelsen om exploring starts. I de næste kapitler vil du se, hvorfor dette er et problem, og hvordan det kan håndteres.

question mark

Hvad er den største fordel ved at bruge handlingsværdier i stedet for tilstandsværdier i Monte Carlo-kontrol?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 3
some-alt