Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Basi di Gymnasium | Teoria Fondamentale dell'RL
Introduzione al Reinforcement Learning
course content

Contenuti del Corso

Introduzione al Reinforcement Learning

Introduzione al Reinforcement Learning

1. Teoria Fondamentale dell'RL
2. Problema del Multi-Armed Bandit
3. Programmazione Dinamica
4. Metodi Monte Carlo
5. Apprendimento a Differenza Temporale

book
Basi di Gymnasium

Gymnasium è un toolkit open-source progettato per lo sviluppo e la valutazione di agenti di apprendimento per rinforzo (RL). Fornisce una raccolta di ambienti standard per testare algoritmi e addestrare agenti in modo efficiente.

Caratteristiche principali

  • API standardizzata: garantisce la compatibilità tra diversi ambienti;
  • Varietà di ambienti: supporta problemi di controllo classici, giochi Atari e simulazioni di robotica;
  • Integrazione semplice: compatibile con framework di deep learning come TensorFlow e PyTorch.

Flusso di lavoro

Un tipico flusso di lavoro in Gymnasium è il seguente:

1. Importazione della libreria

import gymnasium as gym

Dopo la dismissione della libreria originale gym, è ora consigliato utilizzare gymnasium — un fork di gym ben mantenuto e attivamente sviluppato. Nonostante il cambio di nome, la libreria viene ancora comunemente importata con l'alias gym per garantire la compatibilità con versioni precedenti e per comodità.

2. Creazione di un ambiente

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

La funzione gym.make() istanzia un ambiente utilizzando il suo identificatore univoco (ad esempio, "CartPole-v1"). È anche possibile passare parametri di configurazione aggiuntivi a seconda delle esigenze dell'ambiente.

3. Reset dell'ambiente

observation, info = env.reset()

Prima di interagire con l'ambiente, è necessario riportarlo allo stato iniziale tramite env.reset(). Questo restituisce:

  • observation: lo stato iniziale dell'ambiente;
  • info: dati ausiliari che possono includere metadati o configurazioni specifiche dello stato.

4. Interazione con l'ambiente

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

Nella prima riga, viene scelta un'azione casuale dallo spazio delle azioni tramite env.action_space.sample(). Lo spazio delle azioni definisce l'insieme di tutte le possibili azioni che l'agente può compiere nell'ambiente. Inoltre, l'ambiente fornisce lo spazio delle osservazioni, accessibile tramite env.observation_space, che rappresenta l'insieme di tutte le possibili osservazioni (stati) che l'agente può incontrare.

Nella seconda riga, l'azione scelta viene passata a env.step(action), che esegue l'azione e restituisce i seguenti valori:

  • observation: il nuovo stato dell'agente dopo aver eseguito l'azione;
  • reward: la ricompensa ricevuta per l'azione eseguita;
  • terminated: booleano che indica se l'episodio è terminato (cioè se il compito è stato completato);
  • truncated: booleano che indica se l'episodio è stato interrotto prematuramente (a causa di limiti di tempo o altri vincoli);
  • info: informazioni diagnostiche aggiuntive, spesso utilizzate per il debug o la registrazione.

5. Chiusura dell'ambiente

env.close()

Se l'ambiente utilizza risorse esterne (ad esempio, finestre di rendering o simulazioni), è necessario chiuderlo tramite env.close().

Note
Approfondisci

Se desideri approfondire le funzionalità offerte dalla libreria Gymnasium, visita their website.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 7

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

course content

Contenuti del Corso

Introduzione al Reinforcement Learning

Introduzione al Reinforcement Learning

1. Teoria Fondamentale dell'RL
2. Problema del Multi-Armed Bandit
3. Programmazione Dinamica
4. Metodi Monte Carlo
5. Apprendimento a Differenza Temporale

book
Basi di Gymnasium

Gymnasium è un toolkit open-source progettato per lo sviluppo e la valutazione di agenti di apprendimento per rinforzo (RL). Fornisce una raccolta di ambienti standard per testare algoritmi e addestrare agenti in modo efficiente.

Caratteristiche principali

  • API standardizzata: garantisce la compatibilità tra diversi ambienti;
  • Varietà di ambienti: supporta problemi di controllo classici, giochi Atari e simulazioni di robotica;
  • Integrazione semplice: compatibile con framework di deep learning come TensorFlow e PyTorch.

Flusso di lavoro

Un tipico flusso di lavoro in Gymnasium è il seguente:

1. Importazione della libreria

import gymnasium as gym

Dopo la dismissione della libreria originale gym, è ora consigliato utilizzare gymnasium — un fork di gym ben mantenuto e attivamente sviluppato. Nonostante il cambio di nome, la libreria viene ancora comunemente importata con l'alias gym per garantire la compatibilità con versioni precedenti e per comodità.

2. Creazione di un ambiente

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

La funzione gym.make() istanzia un ambiente utilizzando il suo identificatore univoco (ad esempio, "CartPole-v1"). È anche possibile passare parametri di configurazione aggiuntivi a seconda delle esigenze dell'ambiente.

3. Reset dell'ambiente

observation, info = env.reset()

Prima di interagire con l'ambiente, è necessario riportarlo allo stato iniziale tramite env.reset(). Questo restituisce:

  • observation: lo stato iniziale dell'ambiente;
  • info: dati ausiliari che possono includere metadati o configurazioni specifiche dello stato.

4. Interazione con l'ambiente

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

Nella prima riga, viene scelta un'azione casuale dallo spazio delle azioni tramite env.action_space.sample(). Lo spazio delle azioni definisce l'insieme di tutte le possibili azioni che l'agente può compiere nell'ambiente. Inoltre, l'ambiente fornisce lo spazio delle osservazioni, accessibile tramite env.observation_space, che rappresenta l'insieme di tutte le possibili osservazioni (stati) che l'agente può incontrare.

Nella seconda riga, l'azione scelta viene passata a env.step(action), che esegue l'azione e restituisce i seguenti valori:

  • observation: il nuovo stato dell'agente dopo aver eseguito l'azione;
  • reward: la ricompensa ricevuta per l'azione eseguita;
  • terminated: booleano che indica se l'episodio è terminato (cioè se il compito è stato completato);
  • truncated: booleano che indica se l'episodio è stato interrotto prematuramente (a causa di limiti di tempo o altri vincoli);
  • info: informazioni diagnostiche aggiuntive, spesso utilizzate per il debug o la registrazione.

5. Chiusura dell'ambiente

env.close()

Se l'ambiente utilizza risorse esterne (ad esempio, finestre di rendering o simulazioni), è necessario chiuderlo tramite env.close().

Note
Approfondisci

Se desideri approfondire le funzionalità offerte dalla libreria Gymnasium, visita their website.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 7
some-alt