Intelligenza artificiale

Reinforcement learning: cos’è, esempi di apprendimento rinforzato

L’apprendimento rinforzato è un processo automatico che trova applicazioni in robotica, self-driving car e nei suggerimenti personalizzati. Sfrutta le interazioni con l’ambiente e l’applicazione di ciò che ha imparato

Pubblicato il 23 Ago 2021

reinforcement learning

Il reinforcement learning è un metodo di apprendimento automatico che ha largo utilizzo nelle aziende, dal controllo di impianti di climatizzazione nei data center alla robotica, dall’IoT al gaming.

Cos’è il reinforcement learning?

Il reinforcement learning (in italiano apprendimento per rinforzo) è una tecnica di apprendimento automatico per imparare dai sensori e dai dispositivi Internet of Things (IoT).

L’apprendimento per rinforzo è uno dei tre paradigmi principali dell’apprendimento automatico che permette di realizzare agenti autonomi (robot, self-driving car ovvero auto a guida autonoma eccetera) in grado di selezionare le azioni da svolgere per raggiungere obiettivi attraverso l’interazione con l’ambiente dove sono immersi, i cui parametri siano ben chiari.

A differenza degli altri due paradigmi di apprendimento (quello supervisionato e quello non supervisionato), il reinforcement learning è dedicato alle decisioni sequenziali, in cui l’azione da svolgere dipende dallo stato attuale del sistema e influisce su quello futuro.

Il concetto di rinforzo ispira la ricompensa (o gratificazione) a cui è attribuito un valore numerico positivo per incentivare comportamenti corretti.

reinforcement learning

Che relazione c’è tra reinforcement learning e machine learning?

Il machine learning o apprendimento automatico rappresenta una strada per attuare l’intelligenza artificiale (artificial intelligence o AI): si focalizza sulla capacità delle macchine di ricevere una serie di dati e di apprendere da sole, modificando gli algoritmi via via che ricevono maggiori informazioni su ciò che stanno elaborando. Il machine learning (ML) addestra un algoritmo in modo che possa apprendere da svariate situazioni ambientali, adattandosi (e acquisendo maggiore efficacia) in accordo con ciò che si verifica. Il machine learning costruisce un modello analitico, trovando informazioni nascoste nei dati attraverso reti neurali, modelli statistici e ricerche operative.

Invece il reinforcement learning è un metodo di machine learning i cui programmi non vengono prima alimentati con dati. Infatti esso è basato sulla gratificazione (meccanismo della ricompensa) per i comportamenti corretti e/o punizione per quelli indesiderati. In generale, l’apprendimento rinforzato è una tecnica in grado di percepire ed interpretare l’ambiente in cui l’agente autonomo è immerso, scegliere le azioni ed imparare per tentativi ed errori. Il reinforcement learning infatti genera i dati con una strategia trial-and-error durante l’addestramento e li contrassegna, allo stesso tempo, con un’etichetta.

Qual è la differenza tra apprendimento profondo o deep learning e apprendimento con rinforzo?

L’apprendimento approfondito o deep learning (le cui maggiori applicazioni sono image e speech recognition) è un approccio all’apprendimento automatico: utilizza un’enorme quantità di dati per apprendere modelli complessi attraverso progressi computazionali e tecniche di allenamento. Invece, l’apprendimento con rinforzo non richiede alcun dato per il condizionamento: è un apprendimento automatico in grado di percepire ed interpretare l’ambiente in cui l’agente è immerso, in cui l’obiettivo di consiste nel far compiere all’agente azioni sequenziali, apprese attraverso il meccanismo di ricompensa (per incentivare il compimento di azioni virtuose) e penalità (per scoraggiare azioni indesiderate).

Nelle self-driving car, il deep learning usa i dati real-time, ottenuti dai sensori montati sulle auto a guida autonoma, grazie a funzionalità di apprendimento per aiutare i veicoli a trasformare complessi dati grezzi in informazioni da convertire in azioni.

Invece, l’apprendimento rinforzato consente alle auto a guida autonoma di compiere azioni sequenziali per raggiungere obiettivi attraverso l’interazione con l’ambiente in cui sono immersi, grazie alla ricompensa ottenuta per i comportamenti corretti.

reinforcement learning

Come funziona l’apprendimento per rinforzo?

Il reinforcement learning assegna valori positivi alle azioni desirate da incoraggiare e valori negativi ai comportamenti indesiderati da disincentivare. Ciò programma l’agente autonomo a cercare una ricompensa a lungo termine e la massima gratificazione per fornire la soluzione ottimale.

Il programma svolge diversi cicli di addestramento all’interno di un ambiente di simulazione fino a fornire un risultato esatto.

Gli obiettivi a lungo termine aiutano l’agente a prevenire uno stallo nell’apprendimento o un abbassamento della qualità nel raggiungere gli obiettivi. Infatti, nel tempo impara ad evitare i valori negativi (disincentivati) per cercare di ottenere solo quelli positivi (grazie alla ricompensa). Questo metodo di apprendimento è stato adottato nell’intelligenza artificiale per orientare, attraverso un meccanismo a premi e penalità, il machine learning non supervisionato.

L’obiettivo di questo addestramento (più veloce ed efficiente rispetto ad altri) consiste nel permettere all’intelligenza artificiale di risolvere autonomamente problemi di controllo molto complessi senza alcun input manuale da parte di esseri umani.

La policy (ovvero il comportamento appreso dall’agente) può essere rappresentata in una tabella Q (dove Q sta per Q-learning, l’algoritmo deriva dalla funzione Q, che calcola il beneficio atteso di un’azione nello stato, per creare la migliore policy possibile). Le righe riportano tutte le osservazioni possibili mentre le colonne includono tutte le azioni possibili. Le celle sono dunque riempite durante l’addestramento con valori che rappresentano la ricompensa attesa. La tabella Q funziona solo con spazi di osservazione di piccole dimensioni. Quando le possibilità aumentano, l’agente deve utilizzare reti neurali.

Imparare dai sensori e dall’IoT

Un utilizzo comune di reinforcement learning è l’assistente di parcheggio. In questo caso, l’apprendimento avviene attraverso i sensori montati sull’auto per rilevare gli oggetti e per individuare il modo ottimale di parcheggiare. L’espansione dello smart parking – trovare parcheggio attraverso dispositivi elettronici o telecamere, sensori e intelligenza artificiale – rappresenta anche un tassello fondamentale per trasformare le nostre città tentacolari in smart city, dove muoversi in modo più comodo e agevole.

Grazie alla sinergia fra i dispositivi IoT e al reinforcement learning è inoltre possibile sfruttare la manutenzione predittiva e svolgere il controllo qualità. Il Condition-based Monitoring (CbM), cioè il processo di monitoraggio dello “stato di salute” di impianti e macchinari dotati di sensoristica per consentire l’invio in tempo reale di informazioni sul loro funzionamento, è una tecnica basata sul monitoraggio delle condizioni dei macchinari combinato ad algoritmi previsionali, che permette di stimare il tempo residuo prima di un fermo.

Esempi di applicazioni di reinforcement learning

Il reinforcement learning è impiegato anche nella ricerca operativa, nella teoria dell’informazione, nella teoria dei giochi, nella teoria del controllo, nelle ottimizzazioni basate sulla simulazione, nei sistemi multi-agente, nella swarm intelligence, in statistica e negli algoritmi applicati alla genetica. Però vediamo nel dettaglio esempi di applicazione nel campo della robotica, della guida autonoma, nel gaming e nella gestioni risorse.

Google utilizza il reinforcement learning, per esempio, per controllare gli impianti di climatizzazione nei data center: è riuscita a risparmiare il 40% dell’energia necessaria per raffreddare i server.

L’apprendimento per rinforzo è impiegato nelle Smart grid, nei sistemi di trasporto intelligenti, nel controllo dei robot, nell’ottimizzazione delle catene di fornitura in aziende logistiche e nell’automazione delle fabbriche.

Robotica

Nella robotica, il reinforcement learning ha trovato la sua strada in limitati esperimenti. Si tratta di un tipo di machine learning che può fornire ai robot la capacità di imparare attività che un insegnante umano non può dimostrare, di adattare una competenza acquisita a una nuova attività per raggiungere l’ottimizzazione nonostante l’assenza di formulazione analitica disponibile.

Guida autonoma

Le self-driving cars (auto a guida autonoma) fanno uso di molteplici algoritmi per guidare. La maggior parte degli approach sfrutta il supervised learning (attraverso dati etichettati: gli algoritmi possono solo imparare attributi specificati nel data set) per apprendere un modello per guidare l’auto autonoma. L’algoritmo è basato sull’apprendimento rinforzato che insegna alle auto cosa fare mediante l’interazione con l’ambiente.

Gaming

L’esempio più noto è Pac Man, in cui il popolare gioco passa dalla modalità random a una sempre più sofisticata, imparando a raggiungere l’obiettivo di ottenere tutti i pallini per completare il livello, in cui l’agente può imparare tattiche come conservare i power pellet fino all’auto-difesa necessaria.

Gestione risorse

Il reinforcement learning può operare in situazioni in cui può essere applicata la gratificazione. Un esempio è l’Enterprise resource management (ERM), dove gli algoritmi dell’apprendimento rinforzato possono allocare risorse limitate a differenti attività in cui l’obiettivo da raggiungere consiste nel risparmiare tempo e conservare risorse.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 2