L'apprendimento autosupervisionato è una tecnica di machine learning che utilizza l'apprendimento non supervisionato per attività che richiedono solitamente un apprendimento supervisionato. Anziché affidarsi a set di dati etichettati per i segnali di supervisione, i modelli autosupervisionati generano etichette implicite dai dati non strutturati.
L'apprendimento autosupervisionato (SSL) è particolarmente utile in campi come la computer vision e l'elaborazione del linguaggio naturale (NLP), che richiedono grandi quantità di dati etichettati per addestrare modelli di intelligenza artificiale (IA) all'avanguardia. Poiché questi set di dati etichettati richiedono lunghe annotazioni da parte di esperti umani, raccogliere una quantità di dati sufficiente può essere difficile se non addirittura impossibile. Gli approcci autosupervisionati sono più economici sia in termini di tempo che di costi, poiché sostituiscono in tutto o in parte la necessità di etichettare manualmente i dati per l'addestramento.
Per addestrare un modello di deep learning per attività che richiedono precisione, ad esempio la classificazione o la regressione, è necessario essere in grado di confrontare le previsioni di output del modello per un determinato input con le previsioni "corrette" per tale input, solitamente chiamate ground truth. Solitamente, i dati di addestramento etichettati manualmente fungono da ground truth e, poiché questo metodo richiede l'intervento diretto dell'uomo, viene chiamato apprendimento "supervisionato". Nell’apprendimento autosupervisionato, i compiti sono progettati in modo tale che la "ground truth" possa essere dedotta da dati non etichettati .
In SSL, le attività rientrano in due categorie: attività pretesto e attività a valle. In un'attività pretesto, l'SSL viene utilizzato per addestrare un sistema di AI affinché apprenda rappresentazioni significative dei dati non strutturati. Tali rappresentazioni apprese possono essere poi utilizzate come input per un'attività a valle, come un'attività di apprendimento supervisionato o di apprendimento per rinforzo. Il riutilizzo di un modello pre-addestrato su una nuova attività viene definito "trasferimento dell’apprendimento".
L'apprendimento autosupervisionato viene utilizzato nell'addestramento di una vasta gamma di sofisticate architetture di deep learning per diversi tipi di compiti, dai modelli linguistici di grandi dimensioni (LLM) basati su trasformatori come BERT e GPT, ai modelli di sintesi di immagini come gli autoencoder variazionali (VAE), le reti generative avversarie (GAN) e i modelli di computer vision come SimCLR e Momentum Contrast (MoCo).
Sebbene l'apprendimento autosupervisionato sia tecnicamente un sottoinsieme dell'apprendimento non supervisionato (poiché non richiede set di dati etichettati), è strettamente correlato all'apprendimento supervisionato in quanto ottimizza le prestazioni rispetto a una fonte di informazioni fondamentale.
Questa compatibilità imperfetta con entrambi i paradigmi convenzionali di machine learning ha portato le varie tecniche ora collettivamente definite "apprendimento autosupervisionato" a ricevere una propria categorizzazione.
L'ideazione del termine è spesso attribuita a Yann LeCun, computer scientist vincitore del Premio Turing e figura chiave nell'avvento del deep learning,1 che ha ritenuto necessario distinguere l'SSL dall'apprendimento veramente non supervisionato (che ha definito "un termine sovraccarico e confuso").2 Il nome (e il concetto formale) potrebbe avere le sue origini in un documento del 2007 di Raina, et al, intitolato "“Self-taught learning: Transfer learning from unlabeled data".3 Alcuni framework di machine learning ora considerati SSL, come gli autoencoder, precedono di diversi anni la nascita del termine.
L'apprendimento autosupervisionato è un sottoinsieme dell'apprendimento non supervisionato: tutte le tecniche di apprendimento autosupervisionato sono apprendimento non supervisionato, ma la maggior parte dell'apprendimento non supervisionato non comporta l'autosupervisione.
Né l’apprendimento non supervisionato né quello autosupervisionato utilizzano etichette nel processo di addestramento. Entrambi i metodi apprendono correlazioni e modelli intrinseci in dati non etichettati, anziché correlazioni imposte esternamente da set di dati annotati. Oltre a questo focus condiviso sui dati non etichettati, le differenze tra l'apprendimento autosupervisionato e quello non supervisionato rispecchiano in gran parte le differenze tra l'apprendimento non supervisionato e quello supervisionato.
I problemi che utilizzano l'apprendimento non supervisionato convenzionale non misurano i risultati rispetto a qualsiasi ground truth già noto. Ad esempio, un modello di associazione non supervisionato può alimentare un motore di raccomandazioni per l'e-commerce apprendendo quali prodotti siano spesso acquistati insieme. L'utilità del modello non deriva dalla replica delle previsioni umane, bensì dalla scoperta di correlazioni non evidenti agli osservatori umani.
L'apprendimento autosupervisionato misura i risultati rispetto a un ground truth, anche se implicitamente derivato da dati di addestramento non etichettati. Come i modelli supervisionati, i modelli autosupervisionati sono ottimizzati utilizzando una funzione di perdita, ovvero un algoritmo che misura la divergenza (detta "perdita") tra il ground truth e le previsioni del modello. Durante l'addestramento, i modelli autosupervisionati utilizzano la discesa del gradiente durante la retropropagazione per regolare i pesi dei modelli, in modo da ridurre al minimo le perdite (e quindi migliorare la precisione).
Guidati da questa differenza fondamentale, i due metodi si concentrano su diversi casi d'uso: i modelli non supervisionati vengono utilizzati per attività come clustering, rilevamento delle anomalie e riduzione della dimensionalità, che non richiedono una funzione di perdita, mentre i modelli autosupervisionati vengono utilizzati per le attività di classificazione e regressione tipiche dell'apprendimento supervisionato.
Sebbene l'apprendimento supervisionato e quello autosupervisionato siano spesso utilizzati per gli stessi tipi di attività e richiedano entrambi una ground truth per ottimizzare le prestazioni attraverso la funzione di perdita, i modelli autosupervisionati vengono addestrati su dati non etichettati, mentre l'apprendimento supervisionato richiede set di dati etichettati.
I set di dati etichettati sono altamente efficaci nella formazione del modello: l'annotazione dei dati di addestramento consente infatti a un modello di apprendere direttamente le caratteristiche chiave e le correlazioni che tali annotazioni riflettono. Riducendo al minimo la divergenza tra le previsioni del modello e le "previsioni" annotate manualmente dagli esperti umani durante l’addestramento, i modelli supervisionati imparano a fare inferenze corrette sui nuovi dati di input (non etichettati).
Sebbene gli approcci supervisionati all'avanguardia garantiscano un'elevata precisione, l’annotazione di grandi quantità di dati di addestramento rappresenta spesso un collo di bottiglia nel processo di ricerca. Ad esempio, nelle attività di computer vision come la segmentazione delle istanze, che richiedono stime specifiche del pixel, l'annotazione dei dati di addestramento deve essere eseguita a livello di pixel. Questo processo è costoso e richiede molto tempo, poiché limita sia la quantità di dati di addestramento disponibili, sia la capacità della maggior parte delle aziende e dei ricercatori di ottenerli.
Al contrario, i modelli autosupervisionati utilizzano varie tecniche per ottenere segnali di supervisione dalla struttura dei dati di input stessa, evitando del tutto le etichette, ad esempio nascondendo (o “mascherando”) in modo casuale alcune parti di una frase e incaricando un modello autosupervisionato di prevedere le parole nascoste utilizzando la frase originale (senza etichetta) come ground truth.
A differenza dell’apprendimento autosupervisionato, che non prevede dati etichettati dall'uomo, l'apprendimento semi-supervisionato utilizza sia dati etichettati che non etichettati per addestrare i modelli. Ad esempio, un modello semi-supervisionato potrebbe utilizzare una piccola quantità di punti dati etichettati per dedurre le etichette per il resto dei dati di addestramento altrimenti non etichettati, prt poi utilizzare l'intero set di dati per l'apprendimento supervisionato. Sebbene le motivazioni siano simili, in quanto entrambi gli approcci aggirano la necessità di grandi insiemi di dati etichettati nell'apprendimento supervisionato, le rispettive metodologie sono diverse.
Le attività di apprendimento autosupervisionato sono progettate in modo tale che una funzione di perdita possa utilizzare dati di input non etichettati come ground truth. Ciò consente al modello di apprendere rappresentazioni precise e significative dei dati di input senza etichette o annotazioni.
L'obiettivo dell'apprendimento autosupervisionato è ridurre al minimo o sostituire del tutto la necessità di dati etichettati poiché, mentre questi sono relativamente scarsi e costosi, quelli non etichettati sono abbondanti e relativamente economici. In sostanza, i compiti pretesto producono "pseudo-etichette" da dati non etichettati. Il termine "pretesto" implica che il compito di addestramento non è (necessariamente) utile di per sé: serve solo perché insegna le rappresentazioni dei dati di modello utili ai fini delle prossime attività a valle. I compiti pretesto vengono quindi spesso definiti anche apprendimento di rappresentazione.
I modelli pre-addestrati con SSL sono spesso ottimizzati per le loro attività specifiche a valle. Questa messa a punto spesso comporta un vero apprendimento supervisionato (anche se con una frazione dei dati etichettati richiesti per addestrare un modello con il solo apprendimento supervisionato).
Sebbene la disciplina dell'SSL sia diversa sia nella metodologia che nei casi d'uso, i modelli addestrati con SSL utilizzano una o delle due tecniche di apprendimento automatico (o entrambe): l'apprendimento autopredittivo e l'apprendimento contrastivo.
Conosciuti anche come apprendimento autoassociativo autosupervisionato, i metodi di autoprevisione addestrano un modello a prevedere parte di un singolo campione di dati fornendo informazioni sulle altre parti. I modelli addestrati con questi metodi sono in genere generativi piuttosto che discriminativi.
Yann LeCun ha definto i metodi autosupervisionati come una pratica di "riempimento degli spazi vuoti" strutturata. In generale ha descritto il processo di apprendimento di rappresentazioni significative dalla struttura di dati non etichettati sottostante in termini semplici: "fai finta di non conoscere una parte dell'input e prevedila". 4 Ad esempio:
I sistemi autosupervisionati basati su queste filosofie spesso utilizzano determinate architetture modello e tecniche di addestramento.
Un autoencoder è una Neural Networks addestrata a comprimere (o codificare) input, quindi a ricostruire (o decodificare) l'input originale utilizzando la rappresentazione compressa. Sono addestrati a ridurre al minimo gli errori di ricostruzione, utilizzando l'input originale stesso come riferimento di verità.
Anche se le architetture di autoencoder variano, solitamente introducono un qualche tipo di collo di bottiglia: mentre i dati attraversano la rete dell'encoder, la capacità di dati di ogni livello si riduce progressivamente. Questo costringe la rete ad apprendere solo i modelli più importanti nascosti nei dati di input, noti come variabili latenti o spazio latente,in modo che la rete di decoder possa ricostruire accuratamente l'input originale nonostante ora disponga di meno informazioni.
Le modifiche a questo framework di base consentono agli autoencoder di apprendere caratteristiche e funzioni utili.
I modelli autoregressivi utilizzano il comportamento passato per prevedere il comportamento futuro. Funzionano secondo la logica che qualsiasi dato con un ordine sequenziale innato, come il linguaggio, l'audio o il video, può essere modellato tramite regressione.
Gli algoritmi di autoregressione modellano i dati delle serie temporali utilizzando i valori delle fasi temporali precedenti per prevedere il valore di quelle successive. Mentre negli algoritmi di regressione convenzionali, come quelli utilizzati per la regressione lineare, le variabili indipendenti vengono utilizzate per prevedere un valore target (o variabile dipendente), nell' autoregressione la variabile indipendente e dipendente sono di fatto la stessa cosa: si chiama autoregressione perché la regressione viene eseguita sulla variabile stessa.
L'autoregressione è utilizzata in modo preponderante nei modelli linguistici causali, come le famiglie di LLM GPT, LlaMa e Claude, che eccellono in compiti quali la generazione di testi e la risposta alle domande. Nel pre-addestramento, ai modelli linguistici viene fornito l'inizio di frasi campione tratte da dati di addestramento non etichettati e viene chiesto di prevedere la parola successiva, dove la parola successiva "reale" della frase campione funge da ground truth.
Un altro metodo di apprendimento autosupervisionato prevede il mascheramento di alcune parti di un campione di dati non etichettati, che i modelli devono prevedere o per i quali devono ricostruire le informazioni mancanti. Le funzioni di perdita utilizzano l'input originale (pre-mascheramento) come ground truth. Ad esempio, gli autoencoder mascherati sono come un'inversione degli audioencoder con denoising: imparano a prevedere e ripristinare le informazioni mancanti anziché rimuovere informazioni estranee.
Il mascheramento viene utilizzato anche nell'addestramento di modelli linguistici mascherati: vengono omesse parole casuali da frasi campione e i modelli vengono addestrati a riempirle. Anche se i modelli di linguaggio mascherato come BERT (e i molti modelli basati sulla sua architettura, come BART e RoBERTa) sono spesso meno abili nella generazione di testo rispetto ai modelli autoregressivi, hanno il vantaggio di essere bidirezionali: possono prevedere non solo la parola successiva, ma anche le parole precedenti o quelle successive in una sequenza. Ciò li rende particolarmente adatti ad attività che richiedono una forte comprensione del contesto, come la traduzione, il riepilogo e la ricerca.
La previsione innata delle relazioni addestra un modello a mantenere la comprensione di un campione di dati dopo che, in qualche modo, è stato trasformato. Ad esempio, ruotando un'immagine di input e chiedendo a un modello di prevedere il grado di cambiamento e la direzione della rotazione rispetto all'input originale.5
I metodi di apprendimento contrastivo autosupervisionato forniscono ai modelli più campioni di dati e li incaricano di prevedere la relazione tra essi. I modelli addestrati con questi metodi sono in genere discriminativi piuttosto che generativi.
I modelli contrastivi operano generalmente su coppie dati-dati per l'addestramento, mentre quelli autoassociativi operano su coppie dati-etichetta (in cui l'etichetta è autogenerata dai dati). Utilizzando queste coppie dati-dati, i metodi contrastivi addestrano i modelli a distinguere tra cose simili e dissimili.
Queste coppie vengono spesso create tramite data augmentation, ovvero l'applicazione di diversi tipi di trasformazione o perturbazione a dati non etichettati per creare nuove istanze o viste aumentate. Ad esempio, le tecniche di augmentation comuni per i dati di immagini includono rotazione, ritaglio casuale, capovolgimento, rumore, filtraggio e colorazioni. La tecnologia di data augmentation aumenta la variabilità dei dati ed espone il modello a prospettive diverse, aiutandolo a imparare a catturare rappresentazioni semantiche significative e dinamiche.
I modelli basati sulla discriminazione delle istanze inquadrano l'addestramento come una serie di compiti di classificazione binaria: utilizzando un campione di dati come riferimento (o "ancoraggio"), mentre gli altri campioni vengono determinati come "positivi" (corrispondenti) o "negativi" (non corrispondenti).
Nella computer vision, questi metodi, come SimCLR o MoCo, iniziano in genere con un batch di immagini raw non etichettate e applicano una combinazione casuale di trasformazioni per generare coppie (o set) di campioni di immagini aumentate. Ogni immagine aumentata viene codificata in una rappresentazione vettoriale e viene applicata una funzione di perdita contrastiva per minimizzare la differenza nelle rappresentazioni vettoriali tra le corrispondenze positive, ovvero coppie di immagini aumentate derivate dalla stessa immagine originale, e massimizzare la differenza tra le corrispondenze negative.
I metodi di discriminazione delle istanze addestrano quindi i modelli ad apprendere rappresentazioni di diverse categorie che, grazie all'augmentation casuale dei dati, sono in grado di resistere a variazioni banali (come il colore, la prospettiva o le parti visibili in un'immagine specifica). Pertanto, queste rappresentazioni si generalizzano molto bene ai compiti a valle.
In modo un po’ controintuitivo, con "apprendimento non contrastivo" si fa riferimento a un metodo strettamente correlato all'apprendimento contrastivo (anziché essere, come si potrebbe immaginare, un termine ombrello per tutti i metodi diversi dall'apprendimento contrastivo). I modelli vengono addestrati utilizzando solo coppie positive, imparando a ridurre al minimo la differenza tra le loro rappresentazioni, da cui " noncontrastivo".
Rispetto all'apprendimento contrastivo, gli approcci non contrastivi sono relativamente semplici: poiché operano solo su campioni positivi, utilizzano batch di dimensioni inferiori per gli epoch di addestramento e non necessitano di memoria per archiviare campioni negativi. Ciò consente di risparmiare memoria e costi computazionali durante il pre-addestramento.
I modelli non contrastivi come Bootstrap Your Own Latent (BYOL)6 e Barlow Twins7 hanno ottenuto risultati competitivi con quelli contrastivi e con risultati puramente supervisionati.
Dati punti di diversi tipi, ossia modalità, i metodi contrastivi possono apprendere la mappatura tra queste modalità. Ad esempio, il Contrastive Language-Image Pre-training (CLIP) addestra congiuntamente un encoder di immagini e un encoder di testo per prevedere quale didascalia debba essere associata a un'immagine, utilizzando milioni di abbinamenti non etichettati (immagine, testo) prontamente disponibili e raccolti da internet. Dopo l'addestramento preliminare, l'elaborazione del linguaggio naturale (NLP) viene utilizzata per fare riferimento ai concetti visivi appresi durante l'addestramento (o anche per descrivere nuovi concetti visivi), rendendo i modelli addestrati tramite CLIP estremamente utili per un'ampia gamma di applicazioni di apprendimento per trasferimento.
L'apprendimento contrastivo è stato utilizzato anche per apprendere gli allineamenti tra video e testo,8 video e audio,9 e voce e testo.10
L'apprendimento autosupervisionato è stato utilizzato per pre-addestrare modelli di intelligenza artificiale per un'ampia gamma di attività e discipline.
Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.
Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.
Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.
1 "Fathers of the Deep Learning Revolution Receive ACM A.M. Turing Award," Association for Computing Machinery, 27 marzo 2019
2 Facebook, Yann LeCun, 30 aprile 2019
3 "Self-taught learning: transfer learning from unlabeled data," Proceedings of the 24th international conference on machine learning, 20 giugno 2007
4 Lecture: Energy based models and self-supervised learning, YouTube, uploaded 2020
5 "Learning to see by moving," arXiv, 14 settembre 2015
6 "Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning," arXiv, 10 Sep 2020
7 "Barlow Twins: Self-Supervised Learning via Redunancy Reduction," arXiv, 14 giugno 2021
8 "VideoCLIP: Contrastive Pre-Training for Zero-shot Video-Text Understanding," arXiv, 1 ottobre 2021
9 "Active Contrasting Learning of Audio-Visual Video Representations," Proceedings of the International Conference on Learning Representations, 2021
10 "Cross-modal Contrastive Learning for Speech Translation," arXiv, 5 maggio 2022
11 "Understanding searches better than ever before," Google, 25 Oct 2019
12 "End-to-End Query Term Weighting," Google, 2023
13 "WaveNet: A Generative Model for Raw Audio," arXiv, 19 settembre 2016
14 "Wave2vec: State-of-the-art speech recognition through self-supervision," Meta, 19 Sep 2019
15 "Self-supervised learning for medical image classification: a systematic review and implementation guidelines," Nature, 26 April 2023
16 "Momentum Contrast for Unsupervised Visual Representation Learning," arXiv, 13 novembre 2019 (last revised 23 Mar 2020)
17 "Deep Projective Rotation Estimation through Relative Supervision," arXiv, 21 Nov 2022
18 "Orienting Novel 3D Objects Using Self-Supervised Learning of Rotation Transforms," arXiv, 29 May 2021
19 "Masked Motion Encoding for Self-Supervised Video Representation Learning," The Computer Vision Foundation, ottobre 2022
20 "High-Resolution Image Synthesis with Latent Diffusion Models," arXiv, 20 Dec 2021 (ultima revisione 13 aprile 2022)
21 "DALL-E: Creating images from text," OpenAI, 5 gennaio 2021
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io