News and Blog

Algoritmi di Machine Learning: il Semi-supervised learning e il Reinforcement learning

Giribone
AI nella gestione bancariaNews

Algoritmi di Machine Learning: il Semi-supervised learning e il Reinforcement learning

A cura di Pier Giuseppe Giribone

I due precedenti articoli della rubrica hanno trattato i paradigmi di calcolo connessi con l’apprendimento supervisionato e non supervisionato di un sistema di Machine Learning.

Questo articolo prosegue l’excursus, illustrando gli ultimi due criteri di classificazione, basati sulle tipologie di apprendimento, in particolare ci si focalizzerà sull’apprendimento di tipo semi-supervisionato o “debole” (semi-supervised learning) e quello “per rinforzo” (Reinforcement learning).

Dal momento che organizzare una grande mole di dati risulta impegnativo e costoso, sia in termini di tempo che di denaro, un designer di sistemi intelligenti si trova frequentemente a dover gestire una grande quantità di istanze non classificate (o meglio non “etichettate”, unlabeled) e un numero limitato di codificate (labeled).

Sino ad ora si è trattato di algoritmi di Machine Learning, che sono in grado di processare o dati labeled con gli algoritmi caratterizzati da apprendimento supervisionato, oppure dati non etichettati mediante algoritmi caratterizzati da un apprendimento non supervisionato. Pertanto una mole di dati mista, come quella sopra descritta, non potrebbe essere processata nella sua interezza.

Gli algoritmi di Machine Learning in grado di gestire dati che sono solo parzialmente etichettati vengono detti ad apprendimento semi-supervisionato.

Questi devono intendersi come una combinazione tra algoritmi non supervisionati e supervisionati: per tale caratteristica vengono identificati in letteratura come “ibridi”.

Per comprendere il funzionamento di un algoritmo semi-supervisionato viene fornito nel seguito un esempio intuitivo, volto a comprendere quale possa essere la sua applicabilità in un contesto bancario.

I servizi cloud di photo-hosting, come Google Photos, possono costituire buoni esempi. Nel momento in cui vengono caricate le foto di una gita familiare su tale servizio, l’algoritmo è in grado automaticamente di individuare che la medesima persona A compare nelle foto 1, 4 e 7 mentre un’altra persona B compare nelle foto 2, 4 e 8. Questo primo step è chiaramente realizzato da un algoritmo caratterizzato da un apprendimento non supervisionato di raggruppamento (clustering). Ora tutto ciò che necessita il sistema, per effettuare una organizzazione efficiente, è sapere chi è la persona A e la persona B. Quindi l’utente etichetta una sola volta la persona A con il proprio nome e automaticamente il label verrà trasferito su tutte le foto contenenti la persona A. La medesima procedura viene ripetuta per tutte le persone riconosciute in fase di clustering. Tale labeling consente, ad esempio, di facilitare la ricerca per nome di una persona all’interno delle foto caricate sul servizio.

Se non si fosse utilizzato un approccio ibrido si sarebbero dovute etichettare manualmente tutte le persone presenti in ciascuna singola foto caricata nel sistema on-line di archiviazione.

Il ricorso ad un algoritmo semi-supervisionato ha permesso quindi di raggiungere lo scopo di etichettatura dei dati in modo efficace ed efficiente.

Nel settore bancario, grazie ad una digitalizzazione sempre più spinta delle transazioni finanziarie, si sono creati dei repository contenenti una grandissima mole di dati, per i quali l’organizzazione dei singoli record mediante label o chiavi indicizzate specifiche è di fatto una impresa troppo impegnativa, lunga e costosa.

Di conseguenza, il designer di algoritmi di Machine Learning si trova ad operare con pochi dati organizzati mediante label frammisti a tantissimi altri disorganizzati (senza etichette).

L’applicazione di un algoritmo semi-supervisionato, per la sua natura ibrida, potrebbe rappresentare un buon compromesso per poter da un lato effettuare delle etichettature automatiche nei dati a disposizione e dall’altro avere la possibilità di applicare delle inferenze statistiche in presenza di dati misti (ovvero con e senza label).

Il Reinforcement Learning (RL) è un approccio di apprendimento concettualmente differente rispetto ai precedenti. Il sistema di apprendimento, detto agente (agent) in questo contesto, è in grado di osservare ed interagire con l’ambiente (environment) circostante, scegliere di compiere azioni e, una volta concluse, questo riceverà un feedback positivo (positive reward) o negativo (negative reward o penalty).

La policy definisce la migliore azione che l’agente dovrebbe compiere in un determinato contesto.

I feedback ricevuti permettono all’agente di imparare in autonomia, a partire dalle scelte effettuate, selezionando la migliore strategia (detta policy) che gli permette di massimizzare i reward positivi nel tempo.

Il principio di funzionamento del RL può essere esteso a diverse applicazioni:

– Robotica: l’agente può essere il programma che controlla un robot. In questo caso, l’ambiente circostante è il mondo reale, l’agente osserva l’ambiente mediante un set di sensori e le sue azioni consistono nell’inviare segnali al fine di attivare i motori. Esso può essere programmato per ricevere feedback positivi, qualora il robot raggiunga la destinazione target e contestualmente feedback negativi, qualora sprecasse tempo o andasse verso la direzione sbagliata.

– Videogame: l’agente può essere il programma che controlla Ms. Pac-Man nell’omonimo videogioco arcade. In questo caso, l’environment è una simulazione del gioco dell’Atari, le azioni sono le possibili posizioni che il joystick può assumere, le osservazioni sono gli screenshot e i reward sono i punti del gioco.

– Boardgame: in modo del tutto simile al caso precedente, l’agente può essere il programma che gioca all’antico gioco da tavolo astratto “Go”. Il programma AlphaGo di DeepMind costituisce un esempio molto popolare, in quanto tale software ha battuto il campione del mondo Ke Jie nel maggio 2017. Esso ha imparato la strategia (policy) vincente analizzando milioni di partite e in seguito giocando numerose volte contro se stesso. Ovviamente la prova definitiva è stata condotta disabilitando durante il match la fase di apprendimento: l’agente giocava in modo fair, applicando esclusivamente ciò che aveva appreso dai suoi precedenti addestramenti.

– Domotica: l’agente non deve necessariamente avere il controllo fisico o virtuale sul movimento di un oggetto. Ad esempio, può essere un termostato smart, che riceve reward positivi tutte le volte che questo è prossimo alla temperatura target e risparmia energia e reward negativi quando l’uomo necessita di modificare la temperatura, così che l’agente percepisca anticipatamente tale volontà.

– Algotrading: l’agente può osservare i prezzi del mercato azionario e decidere la quantità da comprare o vendere ad ogni istante temporale definito. I reward sono in questo caso ovviamente costituiti dai guadagni o perdite realizzate.

Con questo articolo si conclude la descrizione della classificazione degli algoritmi di Machine Learning in funzione della quantità e al tipo di supervisione che sono soggetti durante l’addestramento (training).

Il prossimo articolo tratterrà gli altri criteri di ripartizione, focalizzando l’attenzione su diverse modalità di apprendimento: “batch” versus “on-line” learning e “instance-based” versus “model-based” learning.

Newsletter

Antiriciclaggio
& Compliance
Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the comparison bar
Compare