Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Vad är Temporär Differensinlärning? | Temporär Differensinlärning
Introduktion till Reinforcement Learning med Python

Vad är Temporär Differensinlärning?

Svep för att visa menyn

Både dynamisk programmering och Monte Carlo-metoder har några utmärkta idéer och vissa stora nackdelar.

Dynamisk programmering

Dynamisk programmering har ett sätt att effektivt beräkna tillståndsvärdesfunktionen och härleda en optimal policy från den. Den använder bootstrapping — beräkning av nuvarande tillstånds värde baserat på framtida tillstånds värden — för att uppnå detta.

Och även om idén med bootstrapping är kraftfull, har dynamisk programmering två stora nackdelar:

  • Den kräver en fullständig och explicit modell av miljön;
  • Tillståndsvärden beräknas för varje tillstånd, även om tillståndet inte alls ligger nära den optimala vägen.

Monte Carlo-metoder

Monte Carlo-metoder åtgärdar de två nackdelarna som dynamisk programmering har:

  • De kräver ingen modell, eftersom de lär sig av erfarenhet;
  • Sättet de lär sig av erfarenhet gör att utforskningen blir mer begränsad, så oviktiga tillstånd besöks sällan.

Men de introducerar en ny nackdel — inlärningsprocessen sker först efter att episoden avslutats. Detta begränsar användbarheten av Monte Carlo-metoder till små episodiska uppgifter, eftersom större uppgifter skulle kräva ett orimligt stort antal handlingar innan episoden avslutas.

Temporär differensinlärning

Note
Definition

Temporal difference (TD) learning är resultatet av att kombinera idéer från både dynamisk programmering och Monte Carlo-metoder. Det tar lärande från erfarenhet-tillvägagångssättet från Monte Carlo-metoder och kombinerar det med bootstrapping från dynamisk programmering.

Som ett resultat åtgärdar TD-lärande de största problemen som de två metoderna har:

  • Lärande från erfarenhet hanterar problemet med att kräva en modell och problemet med stora tillståndsrymder;
  • Bootstrapping hanterar problemet med episodiskt lärande.

Hur fungerar det?

TD-inlärning fungerar genom en enkel slinga:

  1. Uppskatta värdet: agenten börjar med en initial gissning om hur bra det nuvarande tillståndet är;
  2. Utför en handling: den utför en handling, får en belöning och hamnar i ett nytt tillstånd;
  3. Uppdatera uppskattningen: med hjälp av belöningen och värdet av det nya tillståndet justerar agenten sin ursprungliga uppskattning något för att göra den mer exakt;
  4. Upprepa: över tid, genom att upprepa denna slinga, bygger agenten gradvis upp bättre och mer exakta värdeuppskattningar för olika tillstånd.

Jämförelsetabell

question mark

Hur kombinerar Temporal Difference-inlärning styrkorna hos dynamisk programmering och Monte Carlo-metoder?

Välj alla rätta svar

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 1

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 5. Kapitel 1
some-alt