Hva er tidsdifferanselæring?
Både dynamisk programmering og Monte Carlo-metoder har noen gode ideer og noen betydelige ulemper.
Dynamisk programmering
Dynamisk programmering gir en effektiv måte å beregne tilstandsverdifunksjonen og utlede en optimal policy fra denne. Den benytter bootstrapping — beregning av nåværende tilstandsverdi basert på fremtidige tilstandsverdier — for å oppnå dette.
Selv om ideen om bootstrapping er kraftfull, har selve den dynamiske programmeringen to store ulemper:
- Den krever en fullstendig og eksplisitt modell av miljøet;
- Tilstandsverdier beregnes for hver tilstand, selv om tilstanden ikke er i nærheten av den optimale banen.
Monte Carlo-metoder
Monte Carlo-metoder løser de to ulempene ved dynamisk programmering:
- De krever ikke en modell, da de lærer av erfaring;
- Måten de lærer av erfaring på gjør at utforskningen blir mer begrenset, slik at ikke-viktige tilstander sjelden besøkes.
Men de introduserer en ny ulempe — læringsprosessen skjer kun etter at episoden er avsluttet. Dette begrenser anvendeligheten til Monte Carlo-metoder til små episodiske oppgaver, siden større oppgaver vil kreve et urimelig stort antall handlinger før episoden avsluttes.
Temporal Difference-læring
Temporal difference (TD) læring er et resultat av å kombinere ideene fra både dynamisk programmering og Monte Carlo-metoder. Det tar læring fra erfaring-tilnærmingen fra Monte Carlo-metoder og kombinerer det med bootstrapping fra dynamisk programmering.
Som et resultat løser TD-læring de største utfordringene de to metodene har:
- Læring fra erfaring adresserer behovet for en modell og utfordringen med store tilstandsrom;
- Bootstrapping adresserer utfordringen med episodisk læring.
Hvordan fungerer det?
TD-læring fungerer gjennom en enkel sløyfe:
- Estimer verdien: agenten starter med et innledende anslag på hvor god den nåværende tilstanden er;
- Utfør en handling: den utfører en handling, mottar en belønning og havner i en ny tilstand;
- Oppdater anslaget: ved å bruke belønningen og verdien av den nye tilstanden, justerer agenten sitt opprinnelige anslag litt for å gjøre det mer nøyaktig;
- Gjenta: over tid, ved å gjenta denne sløyfen, bygger agenten gradvis opp bedre og mer nøyaktige verdianslag for ulike tilstander.
Sammenligningstabell
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain what bootstrapping means in this context?
What are some real-world examples where TD learning is used?
How does TD learning combine the strengths of dynamic programming and Monte Carlo methods?
Awesome!
Completion rate improved to 2.7
Hva er tidsdifferanselæring?
Sveip for å vise menyen
Både dynamisk programmering og Monte Carlo-metoder har noen gode ideer og noen betydelige ulemper.
Dynamisk programmering
Dynamisk programmering gir en effektiv måte å beregne tilstandsverdifunksjonen og utlede en optimal policy fra denne. Den benytter bootstrapping — beregning av nåværende tilstandsverdi basert på fremtidige tilstandsverdier — for å oppnå dette.
Selv om ideen om bootstrapping er kraftfull, har selve den dynamiske programmeringen to store ulemper:
- Den krever en fullstendig og eksplisitt modell av miljøet;
- Tilstandsverdier beregnes for hver tilstand, selv om tilstanden ikke er i nærheten av den optimale banen.
Monte Carlo-metoder
Monte Carlo-metoder løser de to ulempene ved dynamisk programmering:
- De krever ikke en modell, da de lærer av erfaring;
- Måten de lærer av erfaring på gjør at utforskningen blir mer begrenset, slik at ikke-viktige tilstander sjelden besøkes.
Men de introduserer en ny ulempe — læringsprosessen skjer kun etter at episoden er avsluttet. Dette begrenser anvendeligheten til Monte Carlo-metoder til små episodiske oppgaver, siden større oppgaver vil kreve et urimelig stort antall handlinger før episoden avsluttes.
Temporal Difference-læring
Temporal difference (TD) læring er et resultat av å kombinere ideene fra både dynamisk programmering og Monte Carlo-metoder. Det tar læring fra erfaring-tilnærmingen fra Monte Carlo-metoder og kombinerer det med bootstrapping fra dynamisk programmering.
Som et resultat løser TD-læring de største utfordringene de to metodene har:
- Læring fra erfaring adresserer behovet for en modell og utfordringen med store tilstandsrom;
- Bootstrapping adresserer utfordringen med episodisk læring.
Hvordan fungerer det?
TD-læring fungerer gjennom en enkel sløyfe:
- Estimer verdien: agenten starter med et innledende anslag på hvor god den nåværende tilstanden er;
- Utfør en handling: den utfører en handling, mottar en belønning og havner i en ny tilstand;
- Oppdater anslaget: ved å bruke belønningen og verdien av den nye tilstanden, justerer agenten sitt opprinnelige anslag litt for å gjøre det mer nøyaktig;
- Gjenta: over tid, ved å gjenta denne sløyfen, bygger agenten gradvis opp bedre og mer nøyaktige verdianslag for ulike tilstander.
Sammenligningstabell
Takk for tilbakemeldingene dine!