Google investe in molte aree e progetti diversi, so­prat­tut­to quando si tratta di tec­no­lo­gie all’avan­guar­dia. In par­ti­co­la­re nel campo dell’in­tel­li­gen­za ar­ti­fi­cia­le (IA), con il progetto Deepmind, il gigante tec­no­lo­gi­co ha un’im­por­tan­te carta da giocare. L’obiettivo è quello di svi­lup­pa­re, con l’aiuto dell’in­tel­li­gen­za ar­ti­fi­cia­le, programmi in grado di risolvere problemi complessi in futuro senza alcuna influenza umana. L’ap­pren­di­men­to per rinforzo fornisce un con­tri­bu­to molto im­por­tan­te all’ulteriore sviluppo dell’IA.

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

Tradotto let­te­ral­men­te, il termine “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 al su­per­vi­sed learning e all’un­su­per­vi­sed learning, il rein­for­ce­ment learning è uno dei tre metodi per ad­de­stra­re gli algoritmi 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 del su­per­vi­sed learning e dell’un­su­per­vi­sed learning, questa opzione di ap­pren­di­men­to del machine learning non richiede alcun dato per il con­di­zio­na­men­to. Nei due metodi citati, i programmi vengono prima ali­men­ta­ti con dati. Questo passaggio è com­ple­ta­men­te assente nell’ap­pren­di­men­to per rinforzo, dove i dati vengono invece generati con una strategia trial-and-error 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. Dunque, invece di con­fron­ta­re il sistema con i risultati corretti nel corso dell’ad­de­stra­men­to (come nel su­per­vi­sed learning), vengono 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 offre, ideal­men­te, anche il miglior risultato possibile.

La ricerca sul rein­for­ce­ment learning si basa spesso sull’utilizzo di giochi. I giochi per computer offrono un ambiente perfetto per esplorare e com­pren­de­re il rein­for­ce­ment learning. Nei giochi per computer vengono, ge­ne­ral­men­te, pre­sta­bi­li­ti un ambiente di si­mu­la­zio­ne, varie opzioni di controllo e anche un grado di influenza sull’ambiente. Inoltre, pongono di solito un problema o compiti complessi nelle varie sezioni del gioco che devono essere risolti. Nella maggior parte dei giochi, ci sono anche sistemi a punti che si av­vi­ci­na­no molto al sistema di ri­com­pen­sa dell’ap­pren­di­men­to per rinforzo.

Ri­cer­ca­to­ri di spicco nel campo dell’in­tel­li­gen­za ar­ti­fi­cia­le ritengono che il rein­for­ce­ment learning sia un metodo molto pro­met­ten­te per rag­giun­ge­re l’In­tel­li­gen­za Ar­ti­fi­cia­le Generale che per­met­te­rà, in futuro, alle macchina di prendere le proprie decisioni razionali, proprio come un essere umano, e quindi di portare a termine con successo qualsiasi compito. La macchina osserva, apprende e può risolvere i problemi in modo in­di­pen­den­te.

In sintesi

Fon­da­men­tal­men­te, l’obiettivo del rein­for­ce­ment learning è quello di mettere una macchina nelle con­di­zio­ni di risolvere problemi complessi senza la necessità di input manuali da parte dell’essere umano at­tra­ver­so in­te­ra­zio­ni con l’ambiente e l’ap­pli­ca­zio­ne di ciò che ha imparato.

Come funziona il rein­for­ce­ment learning?

L’ap­pren­di­men­to per rinforzo prevede numerosi metodi in­di­vi­dua­li in cui un algoritmo o un agente software impara in modo autonomo delle strategie. L’obiettivo è ottenere più ri­com­pen­se possibile in un ambiente di si­mu­la­zio­ne. All’interno di questo ambiente di si­mu­la­zio­ne, il computer esegue un’azione e riceve un feedback. L’agente software non riceve alcuna in­for­ma­zio­ne in anticipo su quale sia l’azione più pro­met­ten­te e deve de­ter­mi­na­re il proprio approccio con una strategia trial-and-error.

Il computer riceve delle ri­com­pen­se in momenti diversi che in­fluen­za­no le sue strategie. In questo modo, l’agente software impara a stimare quali sono le con­se­guen­ze di de­ter­mi­na­te azioni all’interno dell’ambiente di si­mu­la­zio­ne. Il tutto co­sti­tui­sce quindi la base dell’agente software per svi­lup­pa­re strategie a lungo termine e mas­si­miz­za­re le ri­com­pen­se.

Al fine di ad­de­stra­re cor­ret­ta­men­te un sistema di ap­pren­di­men­to per rinforzo viene uti­liz­za­to l’algoritmo Q-learning. Il nome deriva dalla funzione Q, che calcola il beneficio atteso di un’azione nello stato. L’obiettivo dell’ap­pren­di­men­to per rinforzo è quindi quello di creare la migliore policy possibile. Il termine “policy” indica qui il com­por­ta­men­to appreso dall’agente software, da cui può derivare quale azione deve essere eseguita mediante un com­por­ta­men­to osservato nell’ambiente di ap­pren­di­men­to.

La policy può essere rap­pre­sen­ta­ta in una tabella Q. Le righe con­ten­go­no tutte le os­ser­va­zio­ni possibili mentre le colonne riportano tutte le azioni possibili. Le celle vengono quindi riempite durante l’ad­de­stra­men­to con dei valori, che rap­pre­sen­ta­no la ri­com­pen­sa attesa.

L’utilizzo della tabella Q è, tuttavia, limitato. La rap­pre­sen­ta­zio­ne visiva funziona solo in un ob­ser­va­tion space di piccole di­men­sio­ni. Quando le pos­si­bi­li­tà sono molte, l’agente software deve uti­liz­za­re una rete neurale.

Dove e quando si utilizza il rein­for­ce­ment learning?

Una società che utilizza già questo metodo di ap­pren­di­men­to au­to­ma­ti­co è Google. Il gruppo utilizza il rein­for­ce­ment learning, ad esempio, per con­trol­la­re gli impianti di cli­ma­tiz­za­zio­ne nei data center. L’in­tel­li­gen­za ar­ti­fi­cia­le ha già permesso a Google di ri­spar­mia­re il 40% dell’energia ne­ces­sa­ria per raf­fred­da­re i server.

L’ap­pren­di­men­to per rinforzo è uti­liz­za­to anche nel controllo di sistemi complessi, come i sistemi di trasporto in­tel­li­gen­ti. Il rein­for­ce­ment learning offre quindi soluzioni in­tel­li­gen­ti per mo­ni­to­ra­re la qualità. Inoltre, viene uti­liz­za­to nelle smart grid (reti elet­tri­che in­tel­li­gen­ti), nel controllo dei robot, nell’ot­ti­miz­za­zio­ne delle catene di fornitura in aziende lo­gi­sti­che e nell’au­to­ma­zio­ne delle fabbriche.

L’esempio più tangibile di rein­for­ce­ment learning per il con­su­ma­to­re è, tuttavia, l’as­si­sten­te di par­cheg­gio. In questo caso, l’in­tel­li­gen­za ar­ti­fi­cia­le viene uti­liz­za­ta per rilevare gli oggetti e per in­di­vi­dua­re per il con­su­ma­to­re il modo ottimale di par­cheg­gia­re.

Rendere un nuovo algoritmo di ap­pren­di­men­to per rinforzo fun­zio­nan­te richiede numerosi cicli di ad­de­stra­men­to, dal momento che l’in­di­vi­dua­zio­ne delle ri­com­pen­se può, talvolta, essere ral­len­ta­ta. In futuro, il metodo del rein­for­ce­ment learning con­trol­le­rà molti processi e risolverà anche problemi complessi.

Vai al menu prin­ci­pa­le