Cos'è il Reinforcement learning
Il reinforcement learning (RL) è un algoritmo di apprendimento con rinforzo. La macchina persegue un obiettivo e costruisce un modello statistico premiando le azioni ottimali. È usato nel machine learning (ML).
Chi fissa l'obiettivo nel Reinforcement Learning
L'obiettivo da raggiungere è fissato dal progettista. Generalmente si tratta di un obiettivo di lungo periodo che può essere risolto con azioni sequenziali.
La macchina conosce cosa deve raggiungere ma non sa come raggiungerlo
Esempio. L'algoritmo RL deve costruire un modello ottimale per vincere una partita al gioco Go. L'obiettivo è la vittoria finale con una sequenza di azioni ottimali.
Come funziona il Reinforcement learning
Nell'apprendimento con rinforzo la macchina riceve in input un obiettivo (goal) da perseguire.
Nota. Nel RL non c'è un dataset di esempi etichettati da cui apprendere. La macchina deve costruirlo con le osservazioni e l'esperienza.
La macchina percepisce l'ambiente come vettore X di caratteristiche (features).
Ogni stato dell'ambiente è associato a una particolare combinazione di elementi nel vettore.
$$ X=\{ x_1,x_2,x_3,...,x_n \} $$
Esempio. Un esempio pratico di vettorializzazione dello stato dell'ambiente in xj caratteristiche.
La macchina rileva lo stato dell'ambiente prima (Xi) e dopo (X'i) qualsiasi azione Aj.
$$ X'_i = f ( X_i , A_j ) $$
Poi associa una ricompensa all'azione ( reward ).
- Nota. La ricompensa può essere positiva o negativa (penalty).
- Se l'azione avvicina la macchina al suo obiettivo, l'azione riceve una ricompensa R positiva.
- Se invece l'azione allontana la macchina dall'obiettivo, l'azione riceve una penalizzazione P negativa.
L'azione che massimizza la ricompensa R in un stato Xi è considerata l'azione ottimale di quello stato A*j.
Questo permette all'algoritmo di reinforcement learning di creare un modello statistico f() che associa ogni stato dell'ambiente (vettore Xi) a un'azione ottimale A*i.
$$ A*_j = f ( X_i ) $$
In questo modo la macchina costruisce una politica (policy).
Cos'è una politica? È una funzione che associa un'etichetta (label) al vettore di caratteristiche (features). L'etichetta indica l'azione ottimale da compiere. Queste informazioni permettono alla macchina di costruire un modello statistico mentre fa esperienza.