Ambienti di apprendimento per rinforzo in Amazon SageMaker AI - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ambienti di apprendimento per rinforzo in Amazon SageMaker AI

L’apprendimento per rinforzo di Amazon SageMaker AI utilizza ambienti per simulare scenari reali. Dato lo stato corrente dell'ambiente e un'azione eseguita dall'agente o dagli agenti, il simulatore elabora l'impatto dell'operazione e restituisce lo stato successivo e una ricompensa. I simulatori sono utili nei casi in cui non è sicuro eseguire l’addestramento di un agente in un contesto reale (ad esempio, far volare un drone) o se l'algoritmo RL richiede molto tempo per convergere (per esempio, quando si gioca a scacchi).

Il seguente diagramma mostra un esempio delle interazioni con un simulatore per un gioco di corse automobilistiche.

Un esempio delle interazioni con un simulatore per un gioco di corse automobilistiche.

L'ambiente di simulazione è costituito da un agente e da un simulatore. Qui, una rete neurale convoluzionale (CNN) utilizza immagini del simulatore e genera azioni per controllare il controller di gioco. Con più simulazioni, questo ambiente genera dati di addestramento nel formato state_t, action, state_t+1 e reward_t+1. La definizione della ricompensa non è banale e influenza la qualità del modello RL. Vogliamo fornire alcuni esempi di funzioni ricompensa, rendendole però configurabili dall'utente.

Utilizzare l’interfaccia OpenAI Gym per ambienti RL in SageMaker AI

Per utilizzare ambienti OpenAI Gym nell’apprendimento per rinforzo di SageMaker AI, utilizza i seguenti elementi dell’API. Per ulteriori informazioni su OpenAI Gym, consulta la documentazione di Gym.

  • env.action_space: definisce le azioni che l'agente può effettuare, specifica se ogni azione è continua o discreta e specifica il minimo e il massimo se l'azione è continua.

  • env.observation_space: definisce le osservazioni che l'agente riceve dall'ambiente, nonché il minimo e il massimo per le osservazioni continue.

  • env.reset(): inizializza un episodio di addestramento. La funzione reset() restituisce lo stato iniziale dell'ambiente e l'agente utilizza lo stato iniziale per effettuare la prima azione. L'azione viene quindi inviata a step() ripetutamente finché l'episodio non raggiunge uno stato terminale. Quando step() restituisce done = True, l'episodio termina. Il kit di strumenti RL re-inizializza l'ambiente chiamando reset().

  • step(): prende l'operazione dell'agente come input e restituisce lo stato successivo dell'ambiente, la ricompensa, se l'episodio è terminato e un dizionario info per comunicare le informazioni di debug. La convalida degli input è responsabilità dell'ambiente.

  • env.render(): utilizzato per ambienti che dispongono di visualizzazione. Il kit di strumenti RL chiama questa funzione per acquisire visualizzazioni dell'ambiente dopo ogni chiamata alla funzione step().

Utilizzo di ambienti open source

Puoi utilizzare gli ambienti open-source, ad esempio EnergyPlus e RoboSchool, nell’apprendimento per rinforzo SageMaker AI creando il tuo container. Per ulteriori informazioni su EnergyPlus, consulta https://energyplus.net/. Per ulteriori informazioni su RoboSchool, consulta https://github.com/openai/roboschool. Gli esempi HVAC e RoboSchool nel repository di esempi di SageMaker AI mostrano come creare un container personalizzato da utilizzare con l’apprendimento per rinforzo di SageMaker AI:

Utilizzo di ambienti commerciali

Puoi utilizzare ambienti commerciali, ad esempio MATLAB e Simulink, nell’apprendimento per rinforzo di SageMaker AI creando il tuo container. Devi gestire le tue licenze.