Kursinnehåll
Introduktion till Förstärkningsinlärning
Introduktion till Förstärkningsinlärning
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()
.
Om du vill veta mer om funktioner som tillhandahålls av Gymnasium-biblioteket, bör du besöka their website.
Tack för dina kommentarer!