Usa il Reinforcement Learning con Amazon SageMaker - Amazon SageMaker

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à.

Usa il Reinforcement Learning con Amazon SageMaker

L'apprendimento per rinforzo (RL) coniuga campi quali l'informatica, le neuroscienze e la psicologia per stabilire come mappare le situazioni per le azioni al fine di massimizzare un segnale di ricompensa numerica. Questa nozione di segnale di ricompensa in RL deriva dalle ricerche nel campo delle neuroscienze riguardo al modo in cui il cervello umano prende decisioni su quali azioni massimizzano la ricompensa e minimizzano la punizione. Nella maggior parte delle situazioni, agli esseri umani non vengono fornite istruzioni esplicite su quali azioni intraprendere, ma devono invece imparare sia quali azioni producono la ricompensa più immediata, sia il modo in cui tali azioni influenzano le situazioni e le conseguenze future.

Il problema dell'RL viene formalizzato utilizzando i processi decisionali di Markov (MDP) che derivano dalla teoria dei sistemi dinamici. Gli MDP puntano a rilevare dati di alto livello su un problema reale che un agente di apprendimento incontra nel corso di un certo periodo di tempo nel tentativo di raggiungere un obiettivo finale. L'agente di apprendimento dovrebbe essere in grado di determinare lo stato attuale del proprio ambiente e identificare le possibili azioni che influiscono sul proprio stato attuale. Inoltre, gli obiettivi dell'agente di apprendimento dovrebbero essere fortemente correlati allo stato dell'ambiente. Una soluzione a un problema formulato in questo modo è nota come metodo di apprendimento per rinforzo.

Quali sono le differenze tra i paradigmi di apprendimento per rinforzo, supervisionato e non supervisionato?

Il machine learning può essere suddiviso in tre paradigmi di apprendimento distinti: supervisionato, non supervisionato e per rinforzo.

Nell'apprendimento supervisionato, un supervisore esterno fornisce una serie di esempi etichettati di addestramento. Ogni esempio contiene informazioni su una situazione, appartiene a una categoria e ha un'etichetta che identifica la categoria a cui appartiene. L'obiettivo dell'apprendimento supervisionato è generalizzare per prevedere correttamente le situazioni che non sono presenti nei dati di addestramento.

Al contrario, l'apprendimento per rinforzo RL si occupa di problemi interattivi, rendendo impossibile raccogliere tutti i possibili esempi di situazioni con le etichette corrette che un agente potrebbe incontrare. Questo tipo di apprendimento è più promettente quando un agente è in grado di apprendere con precisione in base alla propria esperienza e adattarsi di conseguenza.

Nell'apprendimento non supervisionato, un agente impara scoprendo la struttura all'interno di dati non etichettati. Sebbene un agente di apprendimento rinforzato possa trarre vantaggio dall'individuazione di una struttura basata sulle proprie esperienze, l'unico scopo dell'RL è massimizzare un segnale di ricompensa.

Perché il consolidamento dell'apprendimento è importante?

L‘RL è ideale per risolvere problemi di ampia portata e complessi, come la gestione di filiere, i sistemi HVAC, la robotica industriale, l'intelligenza artificiale nei giochi, i sistemi di dialogo e i veicoli autonomi. Poiché i modelli RL apprendono mediante un processo continuo di ricezione di ricompense e punizioni per ogni operazione eseguita dall'agente, è possibile addestrare i sistemi per prendere decisioni in condizioni di incertezza e in ambienti dinamici.

Markov Decision Process (MDP)

RL si basa su modelli denominati Markov Decision Process (MDP). Un MDP è costituito da una serie di fasi temporali. Ogni fase temporale è costituita dagli elementi seguenti:

Ambiente

Definisce lo spazio in cui opera il modello RL. Questo può essere un ambiente reale o un simulatore. Ad esempio, se si addestra un veicolo a guida autonoma su una strada fisica, si parla di ambiente reale. Se si addestra un programma di computer che modella un veicolo a guida autonoma che percorre una strada, si parla di simulatore.

Stato

Specifica tutte le informazioni relative all'ambiente e alle fasi precedenti che sono rilevanti per il futuro. Ad esempio, in un modello RL in cui un robot è in grado di spostarsi in qualsiasi direzione in qualsiasi fase temporale, la posizione del robot nella fase temporale corrente è lo stato, perché se si conosce la posizione del robot non è necessario conoscere le fasi eseguite per arrivarci.

Azione

Indica cosa fa l'agente. Ad esempio, il robot fa un passo avanti.

Ricompensa

Un numero che rappresenta il valore dello stato risultante dall'ultima azione effettuata dall'agente. Ad esempio, se l'obiettivo di un robot è trovare un tesoro, la ricompensa per l'individuazione del tesoro potrebbe essere 5 e quella per la mancata individuazione del tesoro potrebbe essere 0. Il modello RL tenta di individuare una strategia che ottimizza la ricompensa cumulativa nel lungo periodo. Questa strategia è denominata policy.

Osservazione

Le informazioni sullo stato dell'ambiente che è disponibile per l'agente in ogni fase. Potrebbe trattarsi dell'intero stato o di una sola parte. Ad esempio, l'agente in un modello di gioco di scacchi potrebbe essere in grado di osservare l'intero stato della scacchiera in qualsiasi fase, ma un robot in un labirinto potrebbe essere in grado di osservare solo una piccola parte del labirinto che attualmente occupa.

Di solito, l’addestramento in RL è costituito da molti episodi. Un episodio è costituito da tutte le fasi temporali in un MDP, dallo stato iniziale fino a quando l'ambiente raggiunge lo stato finale.

Caratteristiche principali di Amazon SageMaker RL

Per addestrare i modelli SageMaker RL in RL, utilizza i seguenti componenti:

  • Un framework di deep learning (DL). Attualmente, SageMaker supporta RL in TensorFlow e Apache MXNet.

  • Un kit di strumenti RL. Un kit di strumenti RL gestisce l'interazione tra l'agente e l'ambiente e fornisce un'ampia selezione di algoritmi RL all'avanguardia. SageMaker supporta i toolkit Intel Coach e Ray RLLib. Per informazioni su Intel Coach, consulta https://nervanasystems.github.io/coach/. Per ulteriori informazioni su Ray RLlib, consulta https://ray.readthedocs.io/en/latest/rllib.html.

  • Un ambiente RL. Puoi utilizzare ambienti personalizzati, ambienti open source o ambienti commerciali. Per informazioni, consulta Ambienti RL in Amazon SageMaker.

Il diagramma seguente mostra i componenti RL supportati in RL. SageMaker

Notebook di esempio per l'apprendimento per rinforzo

Per esempi di codice completi, consultate i taccuini di esempio per il reinforcement learning nel repository Examples. SageMaker