Il rein­for­ce­ment learning (in italiano, ap­pren­di­men­to per rinforzo) è un sot­toin­sie­me dell’ap­pren­di­men­to au­to­ma­ti­co, in cui un agente impara, tramite un mec­ca­ni­smo di ri­com­pen­sa e punizione, a prendere decisioni ottimali in un ambiente. A questo scopo prova azioni diverse e migliora gra­dual­men­te il proprio com­por­ta­men­to, così da ottenere nel lungo periodo il massimo beneficio possibile.

AI Model Hub
La tua piat­ta­for­ma IA mul­ti­mo­da­le e sicura
  • Con­for­mi­tà al GDPR e hosting sicuro in Europa
  • Potenti modelli basati sul­l'in­tel­li­gen­za ar­ti­fi­cia­le
  • Assenza di vendor lock-in grazie all'open source

Che cos’è il rein­for­ce­ment learning?

Tradotto let­te­ral­men­te, il rein­for­ce­ment learning significa “ap­pren­di­men­to per rinforzo”. Questo termine descrive un metodo nel campo dell’ap­pren­di­men­to au­to­ma­ti­co. Insieme all’ap­pren­di­men­to su­per­vi­sio­na­to e all’ap­pren­di­men­to non su­per­vi­sio­na­to, l’ap­pren­di­men­to per rinforzo è uno dei tre metodi per ad­de­stra­re gli algoritmi e gli agenti a prendere decisioni in modo in­di­pen­den­te. L’at­ten­zio­ne è rivolta allo sviluppo di soluzioni in­tel­li­gen­ti per problemi di controllo complessi.

A dif­fe­ren­za dell’ap­pren­di­men­to su­per­vi­sio­na­to e di quello non su­per­vi­sio­na­to, questa opzione di ap­pren­di­men­to dell’ap­pren­di­men­to au­to­ma­ti­co non richiede alcun dato per il con­di­zio­na­men­to. Invece i dati vengono generati con una strategia per tentativi ed errori durante l’ad­de­stra­men­to e con­tras­se­gna­ti, allo stesso tempo, con un’etichetta. In questo caso, il programma svolge diversi cicli di ad­de­stra­men­to all’interno di un ambiente di si­mu­la­zio­ne fino a fornire un risultato esatto. Vengono quindi impostati solo degli impulsi a supporto del sistema.

L’obiettivo de­si­de­ra­to di questo ad­de­stra­men­to è mettere l’in­tel­li­gen­za ar­ti­fi­cia­le nelle con­di­zio­ni di risolvere au­to­no­ma­men­te problemi di controllo molto complessi senza alcun input umano. Rispetto all’en­gi­nee­ring con­ven­zio­na­le, è un metodo più veloce, più ef­fi­cien­te e che fornisce, ideal­men­te, anche il risultato ottimale.

Come funziona l’ap­pren­di­men­to per rinforzo?

Il rein­for­ce­ment learning descrive numerosi metodi in­di­vi­dua­li in cui un algoritmo o un agente software apprende au­to­no­ma­men­te delle strategie. L’obiettivo è mas­si­miz­za­re le ri­com­pen­se in un ambiente di si­mu­la­zio­ne. Il computer esegue un’azione e riceve poi un feedback. L’agente software non riceve in anticipo alcuna in­for­ma­zio­ne su quali azioni siano le più pro­met­ten­ti e deve de­ter­mi­na­re da solo il proprio approccio tramite una procedura per tentativi ed errori.

Per ot­ti­miz­za­re il successo del processo, il computer riceve in momenti diversi delle ri­com­pen­se che in­fluen­za­no le sue strategie. At­tra­ver­so questi eventi, l’agente software impara a valutare la sequenza di de­ter­mi­na­te azioni all’interno dell’ambiente di si­mu­la­zio­ne.

Immagine: Schema del funzionamento dell’apprendimento per rinforzo
Le ri­com­pen­se vengono elaborate dall’algoritmo dell’ap­pren­di­men­to per rinforzo e in­flui­sco­no sulla policy dell’agente.

Per ad­de­stra­re in modo efficace un sistema di ap­pren­di­men­to per rinforzo, si utilizza spesso il Q-learning. La funzione Q descrive l’utilità futura attesa di una de­ter­mi­na­ta azione in uno stato preciso. L’obiettivo dell’ap­pren­di­men­to per rinforzo è svi­lup­pa­re una strategia com­por­ta­men­ta­le ottimale sulla base di queste stime.

N.B.

Tra­di­zio­nal­men­te, nel Q-learning la policy viene rap­pre­sen­ta­ta in una tabella Q, in cui stati e azioni sono elencati in modo esplicito e ogni com­bi­na­zio­ne contiene un valore per la ri­com­pen­sa attesa. Tuttavia, questo pro­ce­di­men­to è pra­ti­ca­bi­le solo in ambienti for­te­men­te sem­pli­fi­ca­ti. Negli scenari moderni con spazi di stati e azioni ampi o continui, la tabella Q viene so­sti­tui­ta da ap­pros­si­ma­zio­ni di funzioni. In questo contesto si uti­liz­za­no per lo più reti neurali.

Dove e quando si utilizza l’ap­pren­di­men­to per rinforzo?

L’ap­pren­di­men­to per rinforzo viene uti­liz­za­to in molti ambiti diversi in cui macchine o sistemi devono prendere decisioni in modo autonomo e imparare dalle proprie espe­rien­ze. L’obiettivo è sempre quello di svi­lup­pa­re strategie migliori e ot­ti­miz­za­re i processi tramite un ap­pren­di­men­to continuo. Tra i prin­ci­pa­li campi di ap­pli­ca­zio­ne rientrano ad esempio:

  • Robotica: nell’ambito della robotica, il rein­for­ce­ment learning aiuta per esempio i robot a imparare movimenti complessi come afferrare, camminare o orien­tar­si. Invece di pro­gram­ma­re ma­nual­men­te ogni movimento, i robot imparano per tentativi ed errori come svolgere i compiti in modo ef­fi­cien­te. In questo modo possono adattarsi anche a nuovi ambienti o si­tua­zio­ni.
  • Sviluppo di giochi e ad­de­stra­men­to delle IA: l’ap­pren­di­men­to per rinforzo è diventato famoso grazie ai suoi successi in giochi come scacchi, go o vi­deo­gio­chi. Le in­tel­li­gen­ze ar­ti­fi­cia­li imparano, at­tra­ver­so milioni di si­mu­la­zio­ni, a svi­lup­pa­re strategie ottimali e a superare persino le gio­ca­tri­ci e i giocatori umani.
  • Finanza: nel mondo fi­nan­zia­rio, questo metodo di ap­pren­di­men­to viene uti­liz­za­to per ot­ti­miz­za­re le strategie di trading o gestire au­to­ma­ti­ca­men­te i por­ta­fo­gli. L’algoritmo impara a reagire ai cam­bia­men­ti del mercato e a valutare rischi e ren­di­men­ti. In questo modo può prendere decisioni di in­ve­sti­men­to migliori sul lungo periodo.
  • Controllo di sistemi complessi: un altro esempio di rein­for­ce­ment learning è il controllo di sistemi avanzati come i sistemi di traffico in­tel­li­gen­ti. In questo modo fornisce soluzioni in­tel­li­gen­ti per il controllo della qualità. Inoltre, l’ap­pren­di­men­to per rinforzo viene uti­liz­za­to nelle reti elet­tri­che in­tel­li­gen­ti, nell’ot­ti­miz­za­zio­ne delle catene di fornitura in diverse aziende di logistica e nell’au­to­ma­zio­ne delle fabbriche.
  • Medicina e ot­ti­miz­za­zio­ne ener­ge­ti­ca: in ambito medico l’ap­pren­di­men­to per rinforzo supporta i trat­ta­men­ti per­so­na­liz­za­ti sug­ge­ren­do piani te­ra­peu­ti­ci ottimali. Nel settore dell’energia aiuta a con­trol­la­re in modo dinamico il consumo e la di­stri­bu­zio­ne dell’energia, per pre­ser­va­re le risorse e ridurre i costi.
Consiglio

Per sem­pli­fi­ca­re la scrittura di nuovi algoritmi dell’ap­pren­di­men­to per rinforzo esistono diverse librerie. L’azienda DeepMind, spe­cia­liz­za­ta in in­tel­li­gen­za ar­ti­fi­cia­le, ha pub­bli­ca­to con Acme una libreria specifica per il lin­guag­gio di pro­gram­ma­zio­ne Python. Anche la libreria Stable-Baselines3 include già molte im­ple­men­ta­zio­ni pronte di algoritmi popolari.

Vai al menu prin­ci­pa­le