Pubblicato: 5 dicembre 2023
Collaboratori: Dave Bergmann
L'apprendimento autosupervisionato è una tecnica di machine learning che utilizza l'apprendimento non supervisionato per attività che richiedono convenzionalmente 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 computer vision ed 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 di 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), dalle reti generative avversarie (GAN) ai modelli di computer vision come SimCLR e Momentum Contrast (MoCo).
Uno studio aziendale di nuova generazione per i builder AI con cui addestrare, convalidare, adattare e implementare modelli AI.
Abbonati alle newsletter IBM
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 formazione. Entrambi i metodi apprendono correlazioni e modelli intrinseci in dati non etichettati, piuttosto che 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à conosciuta. Ad esempio, un modello di associazione non supervisionato può alimentare un motore di raccomandazione per l'e-commerce imparando quali prodotti vengono spesso acquistati insieme. L'utilità del modello non deriva dalla replica delle previsioni umane, ma dalla scoperta di correlazioni non evidenti agli osservatori umani.
L'apprendimento autosupervisionato misura risultati rispetto a una ground truth, anche se implicitamente derivata 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 la 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 imprese 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 impiegano determinate architetture di modelli e tecniche di addestramento.
Autoencoder
Un autoencoder è una rete neurale formata per comprimere (o codificare) i dati di input, per poi ricostruire (o decodificare) l'input originale utilizzando tale rappresentazione compressa. Sono addestrati a ridurre al minimo gli errori di ricostruzione, utilizzando l'input originale stesso come ground truth.
Sebbene le architetture di autoencoder differiscano le une dalle altre, in genere introducono una qualche forma di collo di bottiglia: mentre i dati attraversano la rete dell'encoder, la capacità di dati di ogni livello si riduce progressivamente. Ciò costringe la rete ad apprendere solo i modelli più importanti nascosti nei dati di input, chiamati 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.
Autoregressione
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, ad esempio 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 essenzialmente 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, LaMa e Claude, che eccellono in compiti come 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 con il compito di predire la parola successiva, dove la parola successiva "reale" della frase campione funge da ground truth.
Mascheramento
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 dei 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. Sebbene i modelli di linguaggio mascherato come BERT (e i molti modelli basati sulla sua architettura, come BART e RoBERTa) siano 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.
Previsione delle relazioni innate
La previsione della relazioni innate addestra un modello a mantenere la comprensione di un campione di dati anche dopo che è stato trasformato in qualche modo. Un esempio può essere la rotazione di un'immagine di input e l'assegnazione a un modello di previsione del grado di modifica e della direzione di 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: 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 delle immagini includono la rotazione, il ritaglio casuale, il capovolgimento, il rumore, il filtraggio e le colorazioni. Il data augmentation aumenta la variabilità dei dati ed espone il modello a prospettive diverse, garantendo che impari ad acquisire rappresentazioni semantiche significative e dinamiche.
Discriminazione delle istanze
I modelli basati sulla discriminazione delle istanze inquadrano l'addestramento come una serie di compiti di classificazione binaria: utilizzando un campione di dati come target (o "ancoraggio"), gli altri vengono determinati come "positivi" (corrispondenti) o "negativi" (non corrispondenti).
Nella computer vision, tali metodi, come SimCLR o MoCo, in genere iniziano 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. Ognuna di queste viene poi codificata in una rappresentazione vettoriale e viene applicata una funzione di perdita contrastiva per ridurre al minimo 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 reggere 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.
Apprendimento non contrastivo
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 "non contrastivo".
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.
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.
Apprendimento multimodale
Con punti dati di diversi (modalità), i metodi contrastivi possono apprendere la mappatura tra le varie 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 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 trasferimento di apprendimento.
L'apprendimento contrastivo è stato utilizzato anche per apprendere gli allineamenti tra video e testo8 video e audio9 e discorso parlato e testo.10
L'apprendimento autosupervisionato è stato utilizzato per pre-addestrare modelli di intelligenza artificiale per un'ampia gamma di attività e discipline.
Scopri di più su come l'apprendimento autosupervisionato si inserisce nel panorama più ampio del machine learning.
Scopri di più su quale tipo di modello di machine learning è più adatto a te: apprendimento supervisionato o non supervisionato?
Scopri come funziona l'apprendimento supervisionato e come può essere utilizzato per creare modelli di machine learning altamente accurati per diverse attività.
Scopri come funziona l'apprendimento non supervisionato e come può essere utilizzato per esplorare e raggruppare i dati per vari casi d'uso.
Tutti i link sono esterni a ibm.com
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," Interventi dalla ventiquattresima conferenza internazionale sul machine learning, 20 giugno 2007
4 Lecture: Energy based models and self-supervised learning, YouTube, caricato nel 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 settembre 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," Interventi dalla 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 ottobre 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 settembre 2019
15 "Self-supervised learning for medical image classification: a systematic review and implementation guidelines," Nature, 26 aprile 2023
16 "Momentum Contrast for Unsupervised Visual Representation Learning," arXiv, 13 novembre 2019 (ultima revisione: 23 marzo 2020)
17 "Deep Projective Rotation Estimation through Relative Supervision," arXiv, 21 novembre 2022
18 "Orienting Novel 3D Objects Using Self-Supervised Learning of Rotation Transforms," arXiv, 29 maggio 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 dicembre 2021 (ultima revisione: 13 aprile 2022)
21 "DALL-E: Creating images from text," OpenAI, 5 gennaio 2021