Apprendimento per rinforzo senza il codice boilerplate

Creato dall’autore con Leonardo Ai.

Nei miei precedenti articoli sull’apprendimento per rinforzo, ti ho mostrato come implementare il Q-learning (profondo) utilizzando nient’altro che un po’ di Numpy e TensorFlow. Anche se questo è stato un passo importante verso la comprensione di come funzionano questi algoritmi, il codice tendeva a diventare lungo e ho semplicemente implementato una delle versioni più basilari del Q-learning profondo.

Date le spiegazioni contenute in questo articolo, comprendere il codice dovrebbe essere abbastanza semplice. Tuttavia, se noi Veramente vogliamo portare a termine le cose, dovremmo fare affidamento su librerie ben documentate, mantenute e ottimizzate. Proprio come non vogliamo implementare la regressione lineare più e più volte, non vogliamo fare lo stesso per l’apprendimento per rinforzo.

In questo articolo ti mostrerò la libreria dei rinforzi Linee di base stabili3 che è facile da usare come scikit-learn. Invece di addestrare modelli per prevedere le etichette, però, otteniamo agenti addestrati che possono muoversi bene nel loro ambiente.

Se non sei sicuro di cosa significhi il (profondo) Q-learning, ti suggerisco di leggere i miei articoli precedenti. Ad alto livello, vogliamo addestrare un agente che interagisce con il suo ambiente con l’obiettivo di massimizzare la sua ricompensa totale. La parte più importante dell’apprendimento per rinforzo è trovare una buona funzione di ricompensa per l’agente.

Di solito immagino un personaggio in un gioco che cerca di ottenere il punteggio più alto, ad esempio Mario che corre dall’inizio alla fine senza morire e, nel migliore dei casi, il più velocemente possibile.

Immagine dell’autore.

Per fare ciò, nel Q-learning, impariamo valori di qualità per ogni coppia (S, UN) Dove S è uno stato e UN è un’azione che l’agente può intraprendere. Q(S, UN) è il…

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *