Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

Artificial Intelligence Development Technology

Reinforcement Learning

Nei precedenti articoli abbiamo già parlato di Machine Learning e di Deep Learning in merito alle componenti principali dell’Intelligenza Artificiale. Per avere un quadro più chiaro sull’argomento non possiamo esimerci dal parlare di Reinforcement Learning. L’RL è una branca del Machine Learning in grado di risolvere problemi decisionali complessi.

Cos’è il Reinforcemet Learning?

Il Reinforcement Learning, o apprendimento rinforzato/per rinforzo, rappresenta appunto una tecnica del Machine Learning in cui l’agente apprende la conoscenza tramite una funzione di rinforzo. L’apprendimento per rinforzo rappresenta l’insieme di metodi di Machine Learning in cui la macchina impara dai propri stessi errori, non dai training. Quindi, in un sistema di Reinforcement Learning un agente (agent) software compie osservazioni (observation) in un ambiente (environment), eseguendo in esso delle azioni (action) e ricevendo in cambio delle ricompense (reward), che non per forza sono positive.

Insieme al supervised learning e all’unsupervised learning, questo è uno dei tre metodi per addestrare gli algoritmi a prendere decisioni in modo indipendente. L’attenzione è rivolta allo sviluppo di soluzioni intelligenti per problemi di controllo complessi. A differenza delle altre due non richiede alcun dato per il condizionamento. Se negli altri due i programmi sono prima alimentati con dati, qui sono generati da una strategia trial-and-error durante l’addestramento stesso e contrassegnati con un’etichetta. In questo caso, il programma svolge diversi cicli di addestramento all’interno di un ambiente di simulazione fino a fornire un risultato esatto. Dunque, invece di confrontare il sistema con i risultati corretti nel corso dell’addestramento (come nel supervised learning), sono impostati solo degli impulsi a supporto del sistema.

Lo scopo del Reinforcement Learning è proprio quello di consentire all’AI di risolvere autonomamente problemi di controllo molto complessi senza alcun input umano. Rispetto all’engineering convenzionale, è un metodo più veloce, più efficiente e che offre, idealmente, anche il miglior risultato possibile.

Come funziona l’apprendimento per rinforzo?

Per funzionare, quindi, l’algoritmo di Reinforcement Learning prevede l’utilizzo di un agente. Questo altri non è che un sistema, dotato di capacità di percezione, in grado di esplorare l’ambiente nel quale intraprende le azioni. L’apprendimento per rinforzo quindi, osservando l’ambiente esterno, consente all’agente di modificare lo stato attraverso un meccanismo di retroazione (feedback) in modo da migliorarne l’apprendimento.

Il computer riceve delle ricompense che influenzano l’assetto strategico. Così facendo, l’agente software apprende quali sono le conseguenze di determinate azioni all’interno dell’ambiente di simulazione. Il tutto costituisce quindi la base dell’agente software per sviluppare strategie a lungo termine e massimizzare le ricompense.

Al fine di addestrare correttamente un sistema di apprendimento per rinforzo è utilizzato l’algoritmo Q-learning. Il nome deriva dalla funzione Q, calcolante il beneficio atteso di un’azione nello stato. L’obiettivo dell’apprendimento per rinforzo è quindi quello di creare la migliore policy possibile. Il termine policy qui indica il comportamento appreso dall’agente da cui può derivare l’azione eseguibile mediante un comportamento osservato nell’ambiente di apprendimento.

La policy può essere rappresentata in una tabella Q. Questa è divisa in righe, contenenti tutte le osservazioni possibili e in colonne che riportano tutte le azioni possibili. Durante l’addestramento quindi sono riempite le celle con dei valori che rappresentano la ricompensa attesa. L’utilizzo della tabella Q è, tuttavia, limitato. La rappresentazione visiva funziona solo in un observation space di piccole dimensioni. Quando le possibilità sono molte, l’agente software deve utilizzare una rete neurale.

Campi di applicazione del Reinforcement Learning

Gli algoritmi di Reinforcement Learning non sono utilizzati solo per fini di ricerca ma, da alcuni anni, sono già impiegati in diversi ambiti pratici.
Fra coloro che utilizzano più comunemente l’RL c’è Google. Il colosso statunitense usa questo tipo di apprendimento per controllare gli impianti di climatizzazione nei data center. Infatti, l’intelligenza artificiale ha già permesso a Google di risparmiare il 40% dell’energia necessaria per raffreddare i server, migliorando così la sua qualità e l’efficienza.

L’apprendimento per rinforzo è utilizzato anche nel controllo di sistemi complessi, come i sistemi di trasporto intelligenti. Inoltre, è utilizzato nelle smart grid (reti elettriche intelligenti), nel controllo dei robot, nell’ottimizzazione delle catene di fornitura in aziende logistiche e nell’automazione delle fabbriche.

L’esempio più tangibile di Reinforcement Learning che usiamo quotidianamente è quello dato dall’assistente di parcheggio. L’Intelligenza Artificiale è impiegata per rilevare gli oggetti e per individuare la modalità migliore di parcheggio per il guidatore.

Nel mondo dei servizi finanziari il Reinforcement Learning permette di ottimizzare la gestione dei portafogli, pricing di opzioni, nonché applicazione di strategie di trading automatizzate.

Infine, in ambito sanitario è impiegato per aiutare ad individuare alcuni tipi di patologie o per fornire suggerimenti per possibili terapie sulla base dei dati raccolti sul paziente.

Author

Lara Mastrofini