Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Gymnasium-Grunder | RL Kärnteori
Introduktion till Förstärkningsinlärning
course content

Kursinnehåll

Introduktion till Förstärkningsinlärning

Introduktion till Förstärkningsinlärning

1. RL Kärnteori
2. Multi-Armed Bandit-Problemet
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporär Differensinlärning

book
Gymnasium-Grunder

Gymnasium är ett öppen källkodsverktyg utformat för att utveckla och utvärdera förstärkningsinlärningsagenter (RL-agenter). Det tillhandahåller en samling standardmiljöer för att testa algoritmer och träna agenter effektivt.

Viktiga funktioner

  • Standardiserat API: säkerställer kompatibilitet mellan olika miljöer;
  • Variation av miljöer: stöd för klassiska kontrollproblem, Atari-spel och robotsimuleringar;
  • Enkel integration: kompatibel med djupinlärningsramverk som TensorFlow och PyTorch.

Arbetsflöde

Ett typiskt arbetsflöde i Gymnasium ser ut så här:

1. Importera biblioteket

import gymnasium as gym

Efter att det ursprungliga gym-biblioteket avvecklades rekommenderas det nu att använda gymnasium — en väl underhållen och aktivt utvecklad förgrening av gym. Trots namnbytet importeras biblioteket fortfarande ofta med aliaset gym för bakåtkompatibilitet och bekvämlighet.

2. Skapa en miljö

env = gym.make("CartPole-v1")

Funktionen gym.make() instansierar en miljö med hjälp av dess unika identifierare (t.ex. "CartPole-v1"). Det går även att ange ytterligare konfigurationsparametrar beroende på miljöns krav.

3. Återställ miljön

observation, info = env.reset()

Innan interaktion med miljön måste den återställas till sitt initiala tillstånd med env.reset(). Detta returnerar:

  • observation: miljöns initiala tillstånd;
  • info: kompletterande data som kan inkludera metadata eller tillståndsspecifik konfiguration.

4. Interagera med miljön

action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)

I första raden väljs en slumpmässig åtgärd från action space med env.action_space.sample(). Action space definierar mängden av alla möjliga åtgärder agenten kan utföra i miljön. Dessutom tillhandahåller miljön observation space, som kan nås via env.observation_space och representerar mängden av alla möjliga observationer (tillstånd) agenten kan stöta på.

I andra raden skickas den valda åtgärden till env.step(action), vilket utför åtgärden och returnerar följande:

  • observation: agentens nya tillstånd efter åtgärden;
  • reward: belöningen som erhålls för utförd åtgärd;
  • terminated: en boolesk variabel som indikerar om episoden har avslutats (dvs. uppgiften är slutförd);
  • truncated: en boolesk variabel som indikerar om episoden avbröts i förtid (på grund av tid eller andra begränsningar);
  • info: ytterligare diagnostisk information, ofta använd för felsökning eller loggning.

5. Stäng miljön

env.close()

Om din miljö använder externa resurser (t.ex. renderingsfönster eller simuleringar) bör du stänga den med env.close().

Note
Studera vidare

Om du vill veta mer om funktioner som tillhandahålls av Gymnasium-biblioteket, bör du besöka their website.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 7

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

course content

Kursinnehåll

Introduktion till Förstärkningsinlärning

Introduktion till Förstärkningsinlärning

1. RL Kärnteori
2. Multi-Armed Bandit-Problemet
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporär Differensinlärning

book
Gymnasium-Grunder

Gymnasium är ett öppen källkodsverktyg utformat för att utveckla och utvärdera förstärkningsinlärningsagenter (RL-agenter). Det tillhandahåller en samling standardmiljöer för att testa algoritmer och träna agenter effektivt.

Viktiga funktioner

  • Standardiserat API: säkerställer kompatibilitet mellan olika miljöer;
  • Variation av miljöer: stöd för klassiska kontrollproblem, Atari-spel och robotsimuleringar;
  • Enkel integration: kompatibel med djupinlärningsramverk som TensorFlow och PyTorch.

Arbetsflöde

Ett typiskt arbetsflöde i Gymnasium ser ut så här:

1. Importera biblioteket

import gymnasium as gym

Efter att det ursprungliga gym-biblioteket avvecklades rekommenderas det nu att använda gymnasium — en väl underhållen och aktivt utvecklad förgrening av gym. Trots namnbytet importeras biblioteket fortfarande ofta med aliaset gym för bakåtkompatibilitet och bekvämlighet.

2. Skapa en miljö

env = gym.make("CartPole-v1")

Funktionen gym.make() instansierar en miljö med hjälp av dess unika identifierare (t.ex. "CartPole-v1"). Det går även att ange ytterligare konfigurationsparametrar beroende på miljöns krav.

3. Återställ miljön

observation, info = env.reset()

Innan interaktion med miljön måste den återställas till sitt initiala tillstånd med env.reset(). Detta returnerar:

  • observation: miljöns initiala tillstånd;
  • info: kompletterande data som kan inkludera metadata eller tillståndsspecifik konfiguration.

4. Interagera med miljön

action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)

I första raden väljs en slumpmässig åtgärd från action space med env.action_space.sample(). Action space definierar mängden av alla möjliga åtgärder agenten kan utföra i miljön. Dessutom tillhandahåller miljön observation space, som kan nås via env.observation_space och representerar mängden av alla möjliga observationer (tillstånd) agenten kan stöta på.

I andra raden skickas den valda åtgärden till env.step(action), vilket utför åtgärden och returnerar följande:

  • observation: agentens nya tillstånd efter åtgärden;
  • reward: belöningen som erhålls för utförd åtgärd;
  • terminated: en boolesk variabel som indikerar om episoden har avslutats (dvs. uppgiften är slutförd);
  • truncated: en boolesk variabel som indikerar om episoden avbröts i förtid (på grund av tid eller andra begränsningar);
  • info: ytterligare diagnostisk information, ofta använd för felsökning eller loggning.

5. Stäng miljön

env.close()

Om din miljö använder externa resurser (t.ex. renderingsfönster eller simuleringar) bör du stänga den med env.close().

Note
Studera vidare

Om du vill veta mer om funktioner som tillhandahålls av Gymnasium-biblioteket, bör du besöka their website.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 7
some-alt