Machine Learning
13 Aprile 2022
Humanativa

Machine Learning: Il Reinforcement Learning

Il Reinforcement Learning è uno dei temi più scottanti nel campo del Machine Learning, ed anche uno dei più datati. Infatti, i primi studi risalgono agli anni ‘50 del secolo scorso.

Nel 2013 una startup inglese, la DeepMind, ha dimostrato a tutti come fosse possibile creare un sistema capace d’imparare a giocare un qualsiasi gioco Atari partendo da zero.

Di seguito il link di un articolo a questo tema dedicato https://arxiv.org/abs/1312.5602.

Il capolavoro di DeepMind resta, comunque, AlphaGo: un sistema di Reinforcement Learning che nel 2017 ha battuto Ke Jie allora campione del mondo di Go, un complicato gioco cinese con un numero di posizioni superiore a quello di tutti gli atomi presenti nell’Universo osservabile: un traguardo raggiunto attraverso l’applicazione della potenza delle reti neurali al campo del Reinforcement Learning.

In natura, l’apprendimento è un processo di esplorazione interazione ambientale necessario per ottenere delle ricompense.

Questo semplice paradigma è catturato dal reinforcement learning e codificato in sistemi che possano essere eseguiti da macchine artificiali.

Il Reinforcement Learning, di per sé, è semplicemente un’area di studi o meglio, più tecnicamente, una classe di sistemi di machine learning con struttura e funzionamento tipico.

Diciamo, dunque, che 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).

L’obiettivo dell’agente è quello di massimizzare la ricompensa sul lungo termine.

La ricompensa può anche essere negativa, una penalità, c.d. negative rewards.

Alcuni esempi di Reinforcement Learning:

  • Un walking robot: ossia il robot che cammina.
    In questo caso l’agente è il software preposto al controllo della macchina, che osserva il mondo reale con una moltitudine di sensori ottenendo una ricompensa qualora raggiungesse l’obiettivo e una penalità (i.e. ricompensa negativa) se perdesse tempo in azioni inutili (e.g. Direzione errata, caduta etc.) 
  • A Smart Thermostat.
    Un agente non deve necessariamente controllare il movimento di un dispositivo fisico (o virtuale).
    Ad esempio, il termostato Google Nest, nelle prime settimane di utilizzo, regola un modello di machine learning (più correttamente di reinforcement learning) adeguandosi alle esigenze dell’utente.
    In questo caso la ricompensa positiva scatta all’impostazione di una temperatura valida e alla diminuzione dei consumi energetici, quella negativa in caso d’intervento umano correttivo (i.e. Temperatura sbagliata).
    In questo caso l’agente deve quindi anticipare le esigenze umane.
  • FinTech
    Il settore finanziario, specie quello della compravendita azionaria vede di buon occhio questi sistemi, perché potrebbero assistere broker daily traderosservando i prezzi dei titoli azionari e decidendo quando e quanto acquistare o vendere.
    Le ricompense scattano qui in funzione dei margini di guadagno o perdita.

In tutti i casi non sarà sfuggita la mancanza di un’informazione fondamentale a livello logico.

Effettivamente l’agente compie azioni in un ambiente e riceve in cambio ricompense che devono essere massimizzate.

Ma come fa l’agente a sapere quale azione compiere in ogni momento, in funzione delle osservazioni compiute? Utilizzando un algoritmo per determinare quali azioni eseguire, questo algoritmo prende il nome di Policy.

Una policy può assumere le sembianze di una rete neurale: prendendo le osservazioni in input elabora l’azione da intraprendere in output.Q-learning

Q-learning

Q-learning è uno dei più conosciuti algoritmi di apprendimento per rinforzo.

Fa parte della famiglia degli algoritmi adottati nelle tecniche delle differenze temporali in caso di modelli a informazione incompleta.

Il Q-learning è un algoritmo di apprendimento basato sul valore e si concentra sull’ottimizzazione della funzione di valore secondo l’ambiente o il problema.

Il suo obiettivo è quello di consentire ad un sistema di apprendimento automatico di adattarsi all’ambiente che lo circonda, migliorando la scelta delle azioni tra quelle possibili da eseguire. Per giungere a questo obiettivo, lavora cercando di massimizzare il valore del successivo premio guadagnato Q.

Il modello memorizza tutti i valori in una tabella, che è la tabella Q dove 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.

L’algoritmo di Q-learning è descritto da un agente, tecnicamente il modello IA, che interagisce con l’ambiente, da un insieme di stati S e da un insieme di azioni per ogni stato.

Per realizzare ciò, l’agente compie azioni che alterano l’ambiente generando un nuovo stato, ottenendo una ricompensa che può essere negativa o positiva in base all’effetto dell’azione, e in funzione del risultato desiderato.

Compiendo azioni e ottenendo ricompense, l’agente elabora una strategia ottimale per massimizzare la ricompensa nel tempo. Questa strategia è definita policy, ed è una funzione matematica a parametri ottimizzati.

Un esempio molto interessante di Q-learning è lo Gym Sviluppato con OpenAI Gym + Box2D (https://gym.openai.com/ )

Gym è un toolkit per lo sviluppo e il confronto di algoritmi di apprendimento per rinforzo. Supporta l’insegnamento agli agenti di tutto, dal camminare ai giochi come Pong o Pinball.

Condividi

Articoli Tecnici

Data governance
6 Marzo
Humanativa

La Democratizzazione del Dato

La democratizzazione del dato si riferisce alla pratica di rendere […]

Security
20 Ottobre
Humanativa

HN Security all’evento “Pillole di Cybersecurity”

Con piacere il nostro collega Fabrizio Sensibile, Senior Security Advisor […]

Security
18 Luglio
Humanativa

HN Security presente all’evento OSSIF di ABI

HN Security ha partecipato all’evento OSSIF di ABI fornendo un […]

Machine Learning
4 Maggio
Humanativa

Reti neurali Generative (GAN)

Le GAN, fanno parte dei modelli di reti neurali generativi. Un […]

Machine Learning
13 Aprile
Humanativa

Machine Learning: Il Reinforcement Learning

Il Reinforcement Learning è uno dei temi più scottanti nel […]

Machine Learning
24 Marzo
Humanativa

Reti neurali: Feed-forward e Recurrent Neural Network

Modelli ricorrenti (RNN) Le reti neurali possono essere suddivise in […]

Data governance
4 Marzo
Humanativa

DENODO & HUMANATIVA, insieme per la Data Governance

La governance dei dati definisce come le imprese gestiscono la […]

Machine Learning
2 Febbraio
Humanativa

Reti neurali feed-forward – CNN – Convolutional Neural Network

Nel precedente articolo abbiamo descritto in linea generale il funzionamento […]

Machine Learning
18 Gennaio
Humanativa

Deep Learning la tecnologia del futuro, cosa è e perché rappresenta la prossima frontiera di Humanativa

In questi anni l’attività di ricerca e sviluppo realizzata da […]

Security
24 Giugno
Humanativa

Conosci il nemico

Marco Ivaldi, Technical Director di HN Security Il 9 giugno […]