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

Å lagre hver avkastning for hvert tilstand-handlingspar kan raskt tømme minnet og betydelig øke beregningstiden — spesielt i store miljøer. Denne begrensningen påvirker både on-policy og off-policy Monte Carlo-kontrollalgoritmer. For å håndtere dette, benytter vi inkrementelle beregningsstrategier, lik de som brukes i multi-armede bandittalgoritmer. Disse metodene gjør det mulig å oppdatere verdiestimatene fortløpende, uten å måtte lagre hele historikken av avkastninger.

On-policy Monte Carlo-kontroll

For on-policy-metoden ligner oppdateringsstrategien på strategien som brukes i MAB-algoritmer:

Q(s,a)Q(s,a)+α(GQ(s,a))Q(s, a) \gets Q(s, a) + \alpha (G - Q(s, a))

hvor α=1N(s,a)\displaystyle \alpha = \frac{1}{N(s, a)} for middelverdiestimat. De eneste verdiene som må lagres er de nåværende estimatene for handlingsverdiene Q(s,a)Q(s, a) og antall ganger tilstand-handlingsparet (s,a)(s, a) har blitt besøkt N(s,a)N(s, a).

Pseudokode

Off-policy Monte Carlo-kontroll

For off-policy-metoden med ordinær importance sampling er alt det samme som for on-policy-metoden.

En mer interessant situasjon oppstår med vektet importance sampling. Ligningen ser lik ut:

Q(s,a)Q(s,a)+α(GQ(s,a))Q(s, a) \gets Q(s, a) + \alpha (G - Q(s, a))

men α=1N(s,a)\displaystyle \alpha = \frac{1}{N(s, a)} kan ikke brukes fordi:

  1. Hver retur vektes med ρ\rho;
  2. Den endelige summen deles ikke på N(s,a)N(s, a), men på ρ(s,a)\sum \rho(s, a).

Verdien av α\alpha som faktisk kan brukes i dette tilfellet er lik WC(s,a)\displaystyle \frac{W}{C(s,a)} hvor:

  • WW er en ρ\rho for nåværende trajektorie;
  • C(s,a)C(s, a) er lik ρ(s,a)\sum \rho(s, a).

Og hver gang tilstands-handlingsparet (s,a)(s, a) oppstår, legges ρ\rho for nåværende trajektorie til C(s,a)C(s, a):

C(s,a)C(s,a)+WC(s, a) \gets C(s, a) + W

Pseudokode

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 7

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
Inkrementelle Implementasjoner

Å lagre hver avkastning for hvert tilstand-handlingspar kan raskt tømme minnet og betydelig øke beregningstiden — spesielt i store miljøer. Denne begrensningen påvirker både on-policy og off-policy Monte Carlo-kontrollalgoritmer. For å håndtere dette, benytter vi inkrementelle beregningsstrategier, lik de som brukes i multi-armede bandittalgoritmer. Disse metodene gjør det mulig å oppdatere verdiestimatene fortløpende, uten å måtte lagre hele historikken av avkastninger.

On-policy Monte Carlo-kontroll

For on-policy-metoden ligner oppdateringsstrategien på strategien som brukes i MAB-algoritmer:

Q(s,a)Q(s,a)+α(GQ(s,a))Q(s, a) \gets Q(s, a) + \alpha (G - Q(s, a))

hvor α=1N(s,a)\displaystyle \alpha = \frac{1}{N(s, a)} for middelverdiestimat. De eneste verdiene som må lagres er de nåværende estimatene for handlingsverdiene Q(s,a)Q(s, a) og antall ganger tilstand-handlingsparet (s,a)(s, a) har blitt besøkt N(s,a)N(s, a).

Pseudokode

Off-policy Monte Carlo-kontroll

For off-policy-metoden med ordinær importance sampling er alt det samme som for on-policy-metoden.

En mer interessant situasjon oppstår med vektet importance sampling. Ligningen ser lik ut:

Q(s,a)Q(s,a)+α(GQ(s,a))Q(s, a) \gets Q(s, a) + \alpha (G - Q(s, a))

men α=1N(s,a)\displaystyle \alpha = \frac{1}{N(s, a)} kan ikke brukes fordi:

  1. Hver retur vektes med ρ\rho;
  2. Den endelige summen deles ikke på N(s,a)N(s, a), men på ρ(s,a)\sum \rho(s, a).

Verdien av α\alpha som faktisk kan brukes i dette tilfellet er lik WC(s,a)\displaystyle \frac{W}{C(s,a)} hvor:

  • WW er en ρ\rho for nåværende trajektorie;
  • C(s,a)C(s, a) er lik ρ(s,a)\sum \rho(s, a).

Og hver gang tilstands-handlingsparet (s,a)(s, a) oppstår, legges ρ\rho for nåværende trajektorie til C(s,a)C(s, a):

C(s,a)C(s,a)+WC(s, a) \gets C(s, a) + W

Pseudokode

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 7
some-alt