Reinforcement learning è un’area del Machine Learning. Si tratta di intraprendere azioni adeguate per massimizzare la ricompensa in una particolare situazione. È impiegato da vari software e macchine per trovare il miglior comportamento possibile o il percorso da seguire in una situazione specifica. L’apprendimento per rinforzo differisce dall’apprendimento supervisionato in un modo che nell’apprendimento supervisionato i dati di addestramento hanno la chiave di risposta con esso, così il modello è addestrato con la risposta corretta stessa, mentre nell’apprendimento per rinforzo, non c’è una risposta ma l’agente di rinforzo decide cosa fare per eseguire il compito dato. In assenza di un set di dati di addestramento, è tenuto ad imparare dalla sua esperienza.
Esempio: Il problema è il seguente: Abbiamo un agente e una ricompensa, con molti ostacoli in mezzo. L’agente deve trovare il miglior percorso possibile per raggiungere la ricompensa. Il seguente problema spiega il problema più facilmente.
L’immagine sopra mostra il robot, il diamante e il fuoco. L’obiettivo del robot è di ottenere la ricompensa che è il diamante ed evitare gli ostacoli che sono il fuoco. Il robot impara provando tutti i percorsi possibili e poi scegliendo il percorso che gli dà la ricompensa con meno ostacoli. Ogni passo giusto darà al robot una ricompensa e ogni passo sbagliato sottrarrà la ricompensa del robot. La ricompensa totale sarà calcolata quando raggiungerà la ricompensa finale che è il diamante.
Punti principali nell’apprendimento per rinforzo –
- Input: L’input dovrebbe essere uno stato iniziale da cui il modello partirà
- Output: Ci sono molti possibili output come ci sono varietà di soluzioni ad un particolare problema
- Allenamento: L’addestramento si basa sull’input, il modello restituirà uno stato e l’utente deciderà di premiare o punire il modello in base al suo output.
- Il modello continua ad imparare.
- La soluzione migliore viene decisa in base alla massima ricompensa.
Differenza tra apprendimento per rinforzo e apprendimento supervisionato:
Apprendimento per rinforzo | Apprendimento supervisionato |
---|---|
L’apprendimento per rinforzo consiste nel prendere decisioni in modo sequenziale. In parole semplici possiamo dire che l’output dipende dallo stato dell’input corrente e l’input successivo dipende dall’output dell’input precedente | Nell’apprendimento supervisionato la decisione viene presa sull’input iniziale o sull’input dato all’inizio |
Nell’apprendimento di rinforzo la decisione è dipendente, quindi diamo delle etichette alle sequenze di decisioni dipendenti | Nell’apprendimento supervisionato le decisioni sono indipendenti l’una dall’altra quindi vengono date delle etichette ad ogni decisione. |
Esempio: Gioco degli scacchi | Esempio: Riconoscimento di oggetti |
Tipi di rinforzo: Ci sono due tipi di rinforzo:
- Positivo –
Si definisce rinforzo positivo quando un evento, che si verifica a causa di un particolare comportamento, aumenta la forza e la frequenza del comportamento. In altre parole, ha un effetto positivo sul comportamento.Gli svantaggi dell’apprendimento di rinforzo sono:
- Massimizza le prestazioni
- Sostiene il cambiamento per un lungo periodo di tempo
Svantaggi dell’apprendimento di rinforzo:
- Troppo rinforzo può portare ad un sovraccarico di stati che può diminuire i risultati
- Negativo –
Il rinforzo negativo è definito come il rafforzamento di un comportamento perché una condizione negativa viene fermata o evitata.Svantaggi dell’apprendimento di rinforzo:
- Aumenta il comportamento
- Provoca la sfida di uno standard minimo di prestazione
Svantaggi dell’apprendimento di rinforzo:
- Fornisce solo abbastanza per soddisfare il comportamento minimo
Varie applicazioni pratiche del Reinforcement Learning –
- RL può essere usato nella robotica per l’automazione industriale.
- RL può essere usato nell’apprendimento automatico e nell’elaborazione dei dati
- RL può essere usato per creare sistemi di formazione che forniscono istruzioni e materiali personalizzati in base alle esigenze degli studenti.
RL può essere usato in grandi ambienti nelle seguenti situazioni:
- Un modello dell’ambiente è noto, ma una soluzione analitica non è disponibile;
- Solo un modello di simulazione dell’ambiente è dato (oggetto di ottimizzazione basata sulla simulazione)
- L’unico modo per raccogliere informazioni sull’ambiente è interagire con esso.