mozzicone Cos'è l'apprendimento per rinforzo? - Unite.AI
Seguici sui social
Corso di perfezionamento sull'intelligenza artificiale:

AI 101

Che cos'è l'apprendimento per rinforzo?

mm
aggiornato on

Che cos'è l'apprendimento per rinforzo?

In parole povere, l’apprendimento per rinforzo è una tecnica di apprendimento automatico che prevede l’addestramento di un agente di intelligenza artificiale attraverso la ripetizione di azioni e le ricompense associate. Un agente di apprendimento per rinforzo sperimenta in un ambiente, intraprendendo azioni e venendo ricompensato quando vengono intraprese le azioni corrette. Nel corso del tempo, l'agente impara a intraprendere le azioni che massimizzeranno la sua ricompensa. Questa è una rapida definizione dell'apprendimento per rinforzo, ma dare un'occhiata più da vicino ai concetti alla base dell'apprendimento per rinforzo ti aiuterà a comprenderlo meglio e in modo più intuitivo.

Il termine "apprendimento per rinforzo" è adattato dal concetto di rinforzo in psicologia. Per questo motivo, prendiamoci un momento per capire il concetto psicologico di rinforzo. In senso psicologico, il termine rinforzo si riferisce a qualcosa che aumenta la probabilità che si verifichi una particolare risposta/azione. Questo concetto di rinforzo è un'idea centrale della teoria del condizionamento operante, proposta inizialmente dallo psicologo BF Skinner. In questo contesto, il rinforzo è tutto ciò che fa aumentare la frequenza di un dato comportamento. Se pensiamo a possibili rinforzi per gli esseri umani, queste possono essere cose come lodi, un aumento al lavoro, caramelle e attività divertenti.

Nel senso tradizionale, psicologico, ci sono due tipi di rinforzo. C'è un rinforzo positivo e un rinforzo negativo. Il rinforzo positivo è l'aggiunta di qualcosa per aumentare un comportamento, come dare un bocconcino al tuo cane quando si comporta bene. Il rinforzo negativo comporta la rimozione di uno stimolo per suscitare un comportamento, come spegnere i rumori forti per convincere un gatto ombroso.

Rinforzo positivo e negativo

Il rinforzo positivo aumenta la frequenza di un comportamento mentre il rinforzo negativo diminuisce la frequenza. In generale, il rinforzo positivo è il tipo più comune di rinforzo utilizzato nell'apprendimento per rinforzo, poiché aiuta i modelli a massimizzare le prestazioni in un determinato compito. Non solo, ma il rinforzo positivo porta il modello ad apportare cambiamenti più sostenibili, cambiamenti che possono diventare modelli coerenti e persistere per lunghi periodi di tempo.

Al contrario, mentre il rinforzo negativo rende anche più probabile che si verifichi un comportamento, viene utilizzato per mantenere uno standard di prestazioni minimo piuttosto che raggiungere le prestazioni massime di un modello. Il rinforzo negativo nell'apprendimento per rinforzo può aiutare a garantire che un modello sia tenuto lontano da azioni indesiderate, ma non può davvero fare in modo che un modello esplori le azioni desiderate.

Addestrare un agente di rinforzo

Quando un agente di apprendimento per rinforzo viene addestrato, ci sono quattro diversi ingredienti or stati utilizzato nella formazione: stati iniziali (Stato 0), nuovo stato (Stato 1), azioni e ricompense.

Immagina di addestrare un agente di rinforzo per giocare a un videogioco platform in cui l'obiettivo dell'IA è arrivare alla fine del livello spostandosi sullo schermo. Lo stato iniziale del gioco è tratto dall'ambiente, il che significa che il primo frame del gioco viene analizzato e dato al modello. Sulla base di queste informazioni, il modello deve decidere su un'azione.

Durante le fasi iniziali dell'addestramento, queste azioni sono casuali ma man mano che il modello viene rafforzato, alcune azioni diventeranno più comuni. Dopo che l'azione è stata intrapresa, l'ambiente del gioco viene aggiornato e viene creato un nuovo stato o frame. Se l'azione intrapresa dall'agente ha prodotto un risultato desiderabile, diciamo in questo caso che l'agente è ancora vivo e non è stato colpito da un nemico, viene data una ricompensa all'agente e diventa più probabile che faccia lo stesso in il futuro.

Questo sistema di base è costantemente in loop, accade ancora e ancora, e ogni volta l'agente cerca di imparare un po' di più e massimizzare la sua ricompensa.

Compiti episodici vs continui

Le attività di apprendimento per rinforzo possono in genere essere collocate in una delle due diverse categorie: compiti episodici e compiti continui.

I compiti episodici eseguiranno il ciclo di apprendimento/formazione e miglioreranno le loro prestazioni fino a quando non saranno soddisfatti alcuni criteri finali e la formazione sarà terminata. In un gioco, questo potrebbe significare raggiungere la fine del livello o cadere in un pericolo come le punte. Al contrario, le attività continue non hanno criteri di conclusione, essenzialmente continuano ad allenarsi per sempre fino a quando l'ingegnere sceglie di terminare l'addestramento.

Monte Carlo vs differenza temporale

Esistono due modi principali per apprendere o addestrare un agente di apprendimento per rinforzo. In l'approccio Montecarlo, le ricompense vengono consegnate all'agente (il suo punteggio viene aggiornato) solo alla fine dell'episodio di addestramento. Per dirla in un altro modo, solo quando viene soddisfatta la condizione di terminazione il modello apprende quanto bene ha funzionato. Può quindi utilizzare queste informazioni per aggiornarsi e quando viene avviato il ciclo di formazione successivo risponderà in base alle nuove informazioni.

I metodo della differenza temporale differisce dal metodo Monte Carlo in quanto la stima del valore, o la stima del punteggio, viene aggiornata durante il corso dell'episodio di allenamento. Una volta che il modello passa alla fase temporale successiva, i valori vengono aggiornati.

Esplorazione vs sfruttamento

La formazione di un agente di apprendimento per rinforzo è un atto di bilanciamento, che implica il bilanciamento di due diverse metriche: esplorazione e sfruttamento.

L'esplorazione è l'atto di raccogliere più informazioni sull'ambiente circostante, mentre l'esplorazione utilizza le informazioni già note sull'ambiente per guadagnare punti premio. Se un agente si limita a esplorare e non sfrutta mai l'ambiente, le azioni desiderate non verranno mai eseguite. D'altra parte, se l'agente si limita a sfruttare e non esplora mai, imparerà solo a compiere un'azione e non scoprirà altre possibili strategie per guadagnare ricompense. Pertanto, bilanciare l'esplorazione e lo sfruttamento è fondamentale quando si crea un agente di apprendimento per rinforzo.

Casi d'uso per l'apprendimento per rinforzo

L'apprendimento per rinforzo può essere utilizzato in un'ampia varietà di ruoli ed è più adatto per le applicazioni in cui le attività richiedono l'automazione.

L'automazione dei compiti che devono essere svolti dai robot industriali è un'area in cui l'apprendimento per rinforzo si rivela utile. L'apprendimento per rinforzo può essere utilizzato anche per problemi come il text mining, creando modelli in grado di riassumere lunghi corpi di testo. I ricercatori stanno anche sperimentando l'utilizzo dell'apprendimento per rinforzo nel campo sanitario, con agenti di rinforzo che gestiscono compiti come l'ottimizzazione delle politiche di trattamento. L'apprendimento per rinforzo potrebbe anche essere utilizzato per personalizzare il materiale didattico per gli studenti.

Riepilogo dell'apprendimento per rinforzo

L'apprendimento per rinforzo è un metodo potente per costruire agenti di intelligenza artificiale che può portare a risultati impressionanti e talvolta sorprendenti. Addestrare un agente attraverso l'apprendimento per rinforzo può essere complesso e difficile, poiché richiede molte iterazioni di addestramento e un delicato equilibrio della dicotomia esplorare/sfruttare. Tuttavia, in caso di successo, un agente creato con l'apprendimento per rinforzo può svolgere compiti complessi in un'ampia varietà di ambienti diversi.

Blogger e programmatore con specialità in machine Learning ed Deep Learning temi. Daniel spera di aiutare gli altri a usare il potere dell'intelligenza artificiale per il bene sociale.