Red Hot Cyber

La cybersecurity è condivisione.
Riconosci il rischio, combattilo, condividi le tue esperienze ed 
incentiva gli altri a fare meglio di te.

Cerca

In che modo le macchine apprendono? Scopriamo gli approcci Supervised, Unsupervised e Renfoircement Learning

Francesco Conti : 24 Luglio 2023 08:18

Artificial intelligence is not about magic, it is about learning! Questo articolo vuole demistificare l’alone di esoterismo che circonda l’intelligenza artificiale (IA) rispondendo in maniera ordinata al quesito “In che modo le macchine apprendono?” Infatti, la “magia” dietro la quale si nasconde il funzionamento dell’AI è nella fase di apprendimento. Le applicazioni di intelligenza artificiale si avvalgono di grandi quantità di dati, da cui vengono individuati pattern per prendere decisioni in maniera data-driven.

Esistono diversi approcci nell’apprendimento, tra cui il supervised, l’unsupervised e il reinforcement learning. Questi metodi si differenziano per obiettivi e problemi da risolvere, oltre che dalla tipologia di dati a disposizione: rispettivamente esempi etichettati, non etichettati oppure attraverso interazione diretta con un ambiente.

In questo articolo, esploreremo questi tre metodi e cercheremo di capire come funzionano! Viene anche offerta una panoramica su meccanismi di apprendimento moderni, come l’active learning e il reinforcement learning from human feedback!

Supervised Learning

Il supervised learning, o apprendimento supervisionato, rappresenta uno degli approcci più diffusi nell’ambito dell’apprendimento automatico. I metodi basati su tale approccio si basano su una fase di addestramento attraverso dati, in cui ogni esempio è associato a una risposta corrispondente o etichetta. L’obiettivo principale di un modello di Machine Learning (ML) all’interno di questo contesto è apprendere la relazione tra le caratteristiche dei dati e le etichette, al fine di effettuare previsioni accurate su nuovi input. I task principali risolvibili attraverso apprendimento supervisionato sono:

  • Classificazione: l’obiettivo è assegnare oggetti o esempi a categorie o classi predefinite. Ad esempio, la classificazione può coinvolgere l’assegnazione di email come “spam” o “non spam” o l’identificazione di immagini come “cane” o “gatto”;
  • Regressione: la predizione di un valore numerico continuo sulla base delle caratteristiche di input. Ad esempio, la regressione può essere utilizzata per prevedere il prezzo di una casa in base alle sue caratteristiche, come il numero di stanze, la dimensione e la posizione.

Per avere una comprensione più chiara, consideriamo un esempio di classificazione in cui desideriamo addestrare un modello per predire se un cliente in uno store online appartiene a una “fascia alta” o “fascia bassa” al fine di fare della pubblicità mirata di prodotti di lusso. A tale scopo, raccogliamo dati relativi al reddito dei clienti e la loro spesa mensile media. A ciascun esempio di addestramento viene assegnata un’etichetta che valuta se il cliente è stato responsivo in passato alle pubblicità di fascia alta, associando un valore 1 (quadrato giallo) e 0 (triangolo verde). In questo esempio:

  • Features: reddito annuo e storico di spesa media;
  • Etichette: Se il cliente è stato responsivo o meno in passato a pubblicità di prodotti di lusso;
  • Obiettivo: imparare in maniera supervisionata una regola o una funzione per classificare correttamente i clienti in base ai dati etichettati nel dataset di addestramento.

Una volta appresa la regola il modello è utilizzato in una fase detta di inferenza, per classificare nuovi clienti e capire se fare pubblicità di prodotti di lusso. In questa fase il modello

Oltre questo esempio banale, il supervised learning è attualmente impiegato con successo per problemi di:

  • Image Detection: la tecnologia che individua, riconosce e localizza oggetti, animali, veicoli o persone in immagini. Il processo di addestramento di tali modelli richiede tipicamente un ampio dataset di esempi etichettati, in cui ad ogni immagine è associata la posizione e la classe di tutti gli oggetti presenti.
  • Sentiment Analysis: consiste nel determinare il sentimento o l’emozione espressa in un testo, come post sui social media, recensioni di prodotti o feedback dei clienti. L’apprendimento supervisionato può essere utilizzato per addestrare modelli in grado di classificare il testo in diverse categorie, come positivo, negativo o neutrale. I modelli vengono addestrati su dataset etichettati in cui i campioni di testo vengono annotati con le relative etichette di sentiment corrispondenti.

Unsupervised Learning

Nell’unsupervised learning, o apprendimento non supervisionato, non abbiamo etichette o risposte corrette associate ai dati di addestramento. L’obiettivo principale di questo approccio è quello di scoprire modelli o strutture nascoste nei dati senza alcuna guida esterna. I principali task associati all’apprendimento non supervisionato sono:

  • Clustering: consiste nel raggruppare insiemi di dati in base alle loro similarità intrinseche. Ad esempio,può essere utilizzato per raggruppare clienti in base alle loro preferenze di prodotto o alle caratteristiche di acquisto simili.
  • Riduzione della dimensionalità: consiste nella riduzione numero di variabili sotto-esame, preservando le informazioni più rilevanti. Ciò può essere utile, ad esempio, quando si lavora molte caratteristiche tra loro correlate per una più facile interpretazione e visualizzazione.
  • Anomaly Detection: La rilevazione delle anomalie consiste nell’identificazione di pattern o istanze insolite o anomale nel dataset. Questi approcci sono usati per identificare transazioni insolite o anomale che potrebbero indicare attività fraudolente, fornendo così un sistema di rilevamento delle frodi automatizzato.

Riprendendo l’esempio dello store, in questo caso potremmo aver raccolto informazioni riguardo il reddito e lo storico di spesa, ma senza aver registrato informazioni di risposta a precedenti pubblicità di prodotti di lusso. In questo caso abbiamo solamente le features e non le etichette, ma potremmo essere comunque interessati a una profilazione dei clienti per valutare se esistono dei gruppi che potrebbero rivelarsi più responsivi. Dalla figura possiamo vedere che gli utenti si raggruppano in due cluster. L’unupervised learning, dunque, può essere comunque utilizzato per estrapolare informazioni da dati e decidere una regola con cui prendere azioni, come quella della pubblicità mirata, che in questo caso sarà condotto verso il cluster con reddito e spesa media più alta.

Tra le applicazioni più significative dell’apprendimento non supervisionato:

  • Sistemi di raccomandazione: Le piattaforme di e-commerce utilizzano l’unsupervised learning per offrire raccomandazioni personalizzate ai clienti, analizzando dati storici degli acquisti e comportamenti di navigazione per suggerire prodotti correlati o di interesse.
  • Compressione delle immagini: l’unsupervised learning può essere impiegato per comprimere le immagini riducendo la loro dimensione senza una significativa perdita di qualità visiva.

Reinforcement Learning

Reinforcement Learning (RL), o apprendimento per rinforzo, rappresenta una branca dell’intelligenza artificiale in cui agenti imparano a prendere decisioni attraverso l’interazione diretta con un ambiente. A differenza degli approcci precedenti, il RL si basa su un processo di apprendimento attraverso prove ed errori. Gli agenti esplorano l’ambiente e ricevono premi positivi o negativi in base alle azioni intraprese. L’obiettivo dell’agente è apprendere una strategia ottimale per massimizzare la somma cumulativa dei rinforzi ottenuti nel lungo termine. Attraverso iterazioni continue, l’agente aggiorna la sua politica di azione per prendere decisioni più intelligenti nel contesto specifico.

Il RL trova applicazione in una vasta gamma di task, tra cui il controllo di robot autonomi, la gestione di risorse, i giochi strategici e la pianificazione delle azioni. Ad esempio, nel controllo di robot, l’agente apprende a compiere azioni che massimizzano il raggiungimento di un obiettivo specifico, come camminare o manipolare oggetti. Nei giochi strategici, il RL può essere utilizzato per addestrare agenti capaci di prendere decisioni tattiche e strategiche per vincere partite complesse come il gioco degli scacchi o i videogiochi.

Non finisce qui!

Gli approcci descritti sono gli ingredienti fondamentali dell’apprendimento automatico e necessari per comprendere come funzionano blocchi funzionali di interi sistemi AI. Tuttavia, alcune tecniche di apprendimento risultano beneficiare di fasi ibride di addestramento o più fasi.

Un esempio è il pre-addestramento non supervisionato per i task di Computer Vision. In particolare, quando i dati etichettati a disposizione sono limitati, il pre-training con un task non supervisionato consente a un modello di apprendere rappresentazioni significative delle immagini da dati non etichettati.

Queste caratteristiche apprese possono essere trasferite a compiti specifici, migliorando le prestazioni e riducendo la necessità di dati etichettati. Questo tipo di apprendimento è detto Transfer Learning: un modello viene pre-addestrato su un compito o un dominio ed è successivamente utilizzato come punto di partenza per affrontare un nuovo compito.

Approcci di questo tipo vengono utilizzati per far fronte alla mancanza (o all’eccessivo costo) di dati correttamente etichettati. Vendiamo di seguito altri metodi che hanno lo stesso obiettivo!

Approcci moderni

Altri approcci di apprendimento molto gettonati in applicazioni recenti:

  • Semi-Supervised: metodi di apprendimento automatico che combinano dati con etichette (dati etichettati) e dati senza etichette (dati non etichettati) per migliorare la capacità di generalizzazione di un modello. Ad esempio, immaginiamo di dover creare un modello per classificare le e-mail come “spam” o “non spam”. Possiamo avere solo alcune e-mail etichettate come spam o non spam, ma molte altre e-mail non sono state ancora etichettate. Utilizzando l’apprendimento semi-supervisionato, possiamo utilizzare le e-mail etichettate per insegnare al modello i criteri per riconoscere lo spam, ma possiamo anche sfruttare le e-mail non etichettate per imparare ulteriori modelli o pattern che potrebbero aiutare a migliorare la classificazione.
  • Self-supervised: una categoria di metodi di in cui un modello impara da dati non etichettati senza la necessità di etichette esplicite. Il modello crea una sorta di “supervisione artificiale” da dati non etichettati generando etichette di apprendimento implicite. Un esempio tipico è nel processing del testo, in cui un modello è addestrato a predire parole mancanti attraverso delle maschere applicate a frasi. In particolare, alcune parole vengono mascherate e il modello deve prevedere quali parole mancano. Il self-supervised learning è spesso uno step fondamentale per l’apprendimento nei modelli di NLP.
  • Active-Learning: è una strategia che mira a ridurre il costo dell’annotazione dei dati e migliorare l’efficienza di apprendimento selezionando quali dati richiedono etichette aggiuntive da parte di un supervisore umano. A differenza dell’apprendimento supervisionato, in cui vengono fornite etichette per l’intero set di addestramento in anticipo, nell’active learning il modello inizia con un piccolo set di dati etichettati. Successivamente, invece di richiedere l’etichettatura di tutto il set, l’active learning seleziona in modo intelligente quali istanze dati aggiuntive devono essere etichettate per migliorare le prestazioni del modello. Puoi scoprire di più in questo blog!
  • Reinforcement Learning with Human Feedback: è un’approccio ibrido che sfrutta sia il RL che il feedback umano per migliorare le prestazioni dei modelli. Nell’apprendimento con RL, un modello impara attraverso prove ed errori, ricevendo ricompense o punizioni in base alle sue azioni nell’ambiente. Tuttavia, questo processo può richiedere molto tempo ed essere costoso in situazioni complesse. Per rendere l’apprendimento più efficiente ed efficace, viene introdotto un feedback umano nel processo. Le persone forniscono dimostrazioni, feedback esplicito o preferenze sull’azione dell’agente, aiutando il modello a imparare più rapidamente e a raggiungere risultati specifici desiderati. Nel contesto dei modelli LLM (Language Model), il RL with human feedback viene utilizzato per migliorare la generazione di testo. Le persone possono correggere il testo generato, indicare preferenze su diverse opzioni di testo o fornire esempi di testo corretto. Queste procedure aiutano il modello LLM a produrre testo di alta qualità, evitare errori e generare risultati coerenti ed accurati. Puoi scoprire di più in questo blog!

Conclusioni

In questo articolo abbiamo esplorato come le macchine apprendono, le tecniche illustrate rappresentano un riferimento importante per la formalizzazione di problemi di IA. Anche sistemi complessi come il riconoscimento di immagini e modelli linguistici si basano su questi blocchi funzionali. Nei prossimi articoli verrà approfondita la maniera con la quale il Machine Learning e il Deep Learning riescono ad estrapolare informazioni dai dati per risolvere svariati task.

Francesco Conti
Ingegnere delle telecomunicazioni specializzato in machine learning e intelligenza artificiale. Applica le sue competenze nel campo della cyber security per automatizzare operazioni noiose e ripetitive!