Cos'è lo spazio latente?

Autori

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

Cos'è lo spazio latente?

Uno spazio latente nell'apprendimento automatico (ML) è una rappresentazione compressa di punti dati che conserva solo le caratteristiche fondamentali che informano la struttura sottostante dei dati di input. La modellazione efficace dello spazio latente è parte integrante del deep learning, inclusa la maggior parte degli algoritmi di AI generativa (gen AI).

La mappatura dei punti dati nello spazio latente può esprimere dati complessi in modo efficiente e significativo, migliorando la capacità dei modelli di apprendimento automatico di comprenderli e manipolarli riducendo i requisiti computazionali. A tal fine, la codifica delle rappresentazioni dello spazio latente di solito implica un certo grado di riduzione della dimensionalità: la compressione di dati ad alta dimensionalità in uno spazio dimensionale inferiori che omette informazioni non pertinenti o ridondanti.

Gli spazi latenti svolgono un ruolo importante in numerosi campi della data science e la codifica dello spazio latente è un passaggio fondamentale in molti algoritmi moderni di AI. Ad esempio, qualsiasi modello generativo, come gli autocodificatori variazionali (VAE) e le reti generative avversarie (GAN), calcola lo spazio latente dei dati di addestramento per poi interpolarli per generare nuovi campioni di dati. I modelli di computer vision addestrati per attività di classificazione come il rilevamento di oggetti o la segmentazione delle immagini mappano i dati di input nello spazio latente per isolarne le qualità che sono pertinenti per fare previsioni accurate.

I modelli linguistici di grandi dimensioni (LLM), dai modelli di incorporamento che consentono la ricerca semantica ai modelli autoregressivi come IBM® Granite o quelli che alimentano ChatGPT di OpenAI, manipolano lo spazio latente per esplorare connessioni complesse tra parole diverse in contesti specifici.

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Che cosa significa "spazio latente"?

La parola spazio assume un significato più vario nel contesto dell'apprendimento automatico rispetto al linguaggio generale. In termini generali, uno "spazio" nell'apprendimento automatico (ML) si riferisce a una modalità specifica di mappatura, confronto o campionamento di punti dati. Ad esempio:

  • Lo "spazio di input" è la gamma di possibilità incluse nei dati di input.
  • Lo "spazio di output" è la gamma di possibilità per l'output del modello.
  • Nei dati delle immagini, lo "spazio dei pixel" è l'intervallo di possibilità per i valori numerici dei pixel.
  • Nell'apprendimento per rinforzo, lo "spazio d'azione" è la gamma di possibili azioni che possono essere intraprese successivamente, come gli spostamenti consentiti e disponibili in un momento specifico in un gioco da tavolo.

Parlando da un punto di vista matematico, uno spazio è definito principalmente da quello a cui corrispondono le sue dimensioni: cioè, quali caratteristiche, variabili, vengono utilizzate per descrivere i punti dati in quello spazio. Quando i punti dati vengono mappati su uno spazio specifico, i punti dati con valori simili per le variabili che definiscono lo spazio saranno simili o vicini l'uno all' altro secondo alcune metriche come la somiglianza del coseno, la distanza euclidea o il prodotto scalare. 

Nell'apprendimento automatico, i punti dati devono essere rappresentati numericamente. Nella maggior parte dei casi, i punti dati vengono rappresentati (o "incorporati") come vettori. Pertanto, ci riferiamo allo spazio in cui i punti dati vengono confrontati attraverso le loro rappresentazioni vettoriali come "spazio di inclusione vettoriale" (o "spazio di embedding"). Le rappresentazioni numeriche in cui ogni elemento del vettore corrisponde a una dimensione individuale dello spazio di embedding, vengono chiamate embedding vettoriali. In genere, gli algoritmi di apprendimento automatico accettano come input embedding vettoriali oppure iniziano convertendo i dati di input in embedding vettoriali.

Spazio delle caratteristiche e spazio latente a confronto

Lo spazio delle caratteristiche è lo spazio vettoriale associato alla gamma di possibilità non per i punti dati ma per i valori di caratteristiche significative che potrebbero caratterizzare un insieme specifico di punti dati. Ad esempio, nei modelli che elaborano i dati delle immagini, ogni dimensione dello spazio delle caratteristiche potrebbe corrispondere a forme, trame o modelli di colore specifici presenti nei dati di addestramento del modello.

Lo spazio delle caratteristiche in genere omette le informazioni dalle dimensioni dello spazio di incorporamento che non contengono alcuna caratteristica. Continuando l'esempio dei dati delle immagini, lo spazio delle caratteristiche escluderebbe gli sfondi o gli spazi vuoti. Il processo di isolamento delle caratteristiche significative dallo spazio di incorporazione più ampio si chiama estrazione delle caratteristiche.

"Spazio delle funzionalità" e "spazio latente" sono spesso usati in modo intercambiabile, ma non sempre sono sinonimi. Dato che l'estrazione di caratteristiche in genere comporta una rappresentazione compressa dei dati che omette le informazioni non utili, i concetti sono strettamente correlati. Tuttavia, alcune funzionalità potrebbero non essere necessariamente pertinenti per la struttura sottostante dei dati. Pertanto, lo spazio latente è solitamente una rappresentazione a dimensioni inferiori dello spazio delle caratteristiche contenente solo il sottoinsieme di caratteristiche che, attraverso l'apprendimento automatico, vengono identificate come più pertinenti per l'attività da svolgere.

Che cosa significa "latente" nel machine learning?

In uno spazio latente, ogni dimensione corrisponde a una variabile latente dei dati originali. Le variabili latenti sono caratteristiche sottostanti che informano il modo in cui i dati vengono distribuiti, ma spesso non sono direttamente osservabili. 

Per un esempio intuitivo, immaginiamo un ponte con un sensore che misura il peso di ogni veicolo in transito. Numerosi veicoli diversi, dalle cabriolet leggere agli autocarri pesanti, utilizzano il ponte, ma non esiste una telecamera per rilevare il tipo di veicolo. Tuttavia, sappiamo che il tipo di veicolo influisce in modo significativo sul suo peso. In questo esempio, il peso del veicolo è una variabile osservabile e il tipo di veicolo è una variabile latente: possiamo dedurre quali tipi di veicoli utilizzano il ponte esplorando i modelli di peso del veicolo.

Non tutte le variabili "nascoste" sono importanti e, pertanto, non tutte le variabili nascoste saranno rappresentate nello spazio latente codificato da un modello di apprendimento automatico. In pratica, il modello impara a codificare lo spazio latente più favorevole all'esecuzione accurata del compito per cui viene addestrato.

Mixture of Experts | 12 dicembre, episodio 85

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Spazio latente e riduzione della dimensionalità

La codifica della rappresentazione di uno spazio latente di solito comporta la compressione di dati ad alta dimensionalità in uno spazio a inferiore dimensionalità attraverso un processo chiamato riduzione della dimensionalità.

Considera le immagini di MNIST, un set di dati open source contenente decine di migliaia di immagini in scala di grigi 28x28 con cifre scritte a mano. Ogni piccola immagine 28x28 potrebbe essere rappresentata come un incorporamento vettoriale a 784 dimensioni in cui ogni dimensione corrisponde a un singolo pixel e ha un valore compreso tra 0 (per il nero) e 1 (per il bianco). Se fossero immagini a colori, quegli incorporamenti vettoriali sarebbero 2.352dimensionali: 3 dimensioni per ciascuno dei 784 pixel, corrispondenti ai rispettivi valori di rosso, verde e blu (RGB).

Tuttavia, i numeri effettivi occupano solo una piccola frazione dello spazio dei pixel. La maggior parte dell'immagine è uno sfondo vuoto. Ridurre le immagini (e i vettori che le rappresentano) alle sole dimensioni contenenti informazioni effettive, lo spazio latente, può migliorare notevolmente la capacità di un modello di apprendimento automatico di elaborare le immagini in modo accurato ed efficiente.

Autoencoder (e altri framework encoder-decoder)

Un tipo di architettura di rete neurale progettata esplicitamente per la riduzione della dimensionalità e la compressione dei dati di input nello spazio latente è l'autoencoder.

Gli autoencoder sono sistemi autosupervisionati il cui obiettivo di addestramento è comprimere (o codificare) i dati di input attraverso la riduzione della dimensionalità e quindi ricostruire accuratamente (o decodificare) il loro input originale a partire da tale rappresentazione compressa. In un autoencoder standard, ogni livello dell'encoder contiene progressivamente meno nodi rispetto al livello precedente. Quando l'incorporamento vettoriale dei dati di input viene trasmesso al livello di encoder successivo, viene compresso attraverso un processo di "spremitura" in numero inferiore di dimensioni. La rete di encoder ricostruisce quindi l'input originale utilizzando solo il vettore latente prodotto dall'encoder.

Gli autoencoder sono addestrati per ridurre al minimo la perdita di ricostruzione, che misura quanto la ricostruzione del decoder differisce dall'input originale. Dal momento che l'encoder può trasmettere solo una quantità limitata di informazioni al decoder, è costretto a estrarre solo le caratteristiche più salienti dei dati. In altre parole, un autoencoder apprende naturalmente una mappatura efficace dello spazio latente dei dati di input.

Diagramma di una rete neurale di un autoencoder

Questa capacità offre agli autoencoder numerosi casi d'uso interessanti oltre alla compressione dei dati. Ad esempio, gli autoencoder possono essere utilizzati per il rilevamento delle anomalie in quanto possono registrare anomalie non evidenti a un osservatore umano. Immagina un orologio contraffatto: anche per un occhio esperto potrebbe assomigliare perfettamente all'oggetto originale. Solo smontandolo e cercando di ricostruire gli ingranaggi e la meccanica sottostante al suo interno, il suo spazio latente, è possibile identificare gli elementi che non corrispondono a quelli dell'orologio autentico che sta copiando. 

Un vantaggio fondamentale degli autoencoder rispetto ad altri algoritmi di riduzione della dimensionalità, come ad esempio l'analisi discriminante lineare o l'analisi dei componenti principali (PCA), è che gli autoencoder possono modellare relazioni non lineari tra diverse variabili.

Numerose altre reti neurali implementano un'architettura encoder-decoder simile, in cui la rete di encoder riduce la dimensionalità dei dati di input e il decoder elabora la codifica latente per fare previsioni. Un autoencoder è qualsiasi implementazione di quella struttura in cui il modello è addestrato a ricostruire i dati di input.

Spazio latente negli autoencoder variazionali (VAE) e altri modelli generativi

Gli autoencoder variazionali (VAE) utilizzano l'architettura dell'autoencoder per codificare lo spazio latente in un modo che può essere utilizzato per attività generative come la generazione di immagini.

A differenza della maggior parte degli autoencoder che sono modelli "deterministici" che codificano un singolo vettore di valori discreti per ogni variabile latente dei dati di addestramento, i VAES sono modelli "probabilistici" che codificano lo spazio latente come un intervallo di possibilità. Interpolando all'interno di questa gamma di possibilità codificate, i VAE possono sintetizzare nuovi campioni di dati che, benché unici e originali di per sé, assomigliano ai dati di addestramento originali.

Per consentire la generazione di campioni di dati completamente nuovi (piuttosto che semplicemente ricreare o combinare campioni dai dati di addestramento), lo spazio latente deve mostrare 2 tipi di regolarità:

  • Continuità: i punti vicini nello spazio latente devono produrre contenuti simili quando vengono decodificati.
  • Completezza: qualsiasi punto campionato dallo spazio latente deve generare contenuto significativo quando viene decodificato.

Un modo semplice per far rispettare la continuità e la completezza nello spazio latente è forzarlo a seguire una distribuzione normale (gaussiana). Pertanto, i VAE codificano 2 diversi vettori per ogni attributo latente dei dati di addestramento: un vettore di medie, "μ", e un vettore di deviazioni standard, "σ". In sostanza, questi 2 vettori rappresentano, rispettivamente, l'intervallo di possibilità per ciascuna variabile latente e la varianza attesa all'interno di ciascun intervallo di possibilità.

I VAE ottengono questo aggiungendo un'ulteriore funzione di perdita accanto alla perdita da ricostruzione: divergenza di Kullback-Leibler (o divergenza KL). Più specificamente, il VAE è addestrato a ridurre al minimo la divergenza tra una distribuzione gaussiana standard e lo spazio latente appreso riducendo al minimo la perdita di ricostruzione.

Diagramma che dimostra la perdita di ricostruzione e la divergenza KL negli autoencoder

Spazio latente in altri modelli di generazione di immagini

Sebbene altre architetture di modelli di generazione di immagini utilizzino obiettivi di addestramento diversi dalla perdita di ricostruzione, in genere utilizzano tutte termini di regolarizzazione per imporre la continuità e la completezza dello spazio latente. La maggior parte, ma non tutti, adattano lo spazio latente a una distribuzione normale.

Reti generative avversarie (GAN)

Le reti generative avversarie (GAN) addestrano 2 reti neurali, una rete "discriminante" e una rete di generatori, in un gioco antagonistico. Al discriminatore viene mostrata un'immagine e viene addestrato a prevedere se si tratta di un'immagine originale o di un'immagine tratta dal set di dati di addestramento. Il generatore è addestrato a ingannare il discriminatore campionando dallo spazio latente per generare campioni originali.

Il generatore è considerato addestrato quando il discriminatore non è più in grado di distinguere tra immagini di addestramento e immagini generate.

Modelli di diffusione latente

I modelli di diffusione latente, introdotti per la prima volta dal modello originale Stable Diffusion, combinano essenzialmente i modelli di diffusione con i VAE. Mentre i modelli di diffusione standard agiscono direttamente sullo spazio dei pixel, i modelli di diffusione latente impiegano prima un'architettura di tipo VAE per codificare i dati di input in una rappresentazione latente di dimensioni inferiori, e poi applicano la diffusione allo spazio latente. Questa innovazione ha aumentato notevolmente la velocità e l'efficienza dei modelli di diffusione.

Visualizzazione dello spazio latente

Le relazioni tra i diversi punti di dati nello spazio latente sono intrinsecamente difficili da immaginare o visualizzare. I nostri sensi e la nostra esperienza sono limitati a una comprensione tridimensionale del mondo e la nostra mente non è in grado di concepire un grafico che tracci i punti lungo decine, centinaia o addirittura migliaia di dimensioni.

Per affrontare questa sfida, i data scientist applicano tecniche di riduzione della dimensionalità come t-distributed stochastic neighbor embedding (t-SNE) o Uniform Manifold Approximation and Projection (UMAP). Tali tecniche, ampiamente utilizzate nella visualizzazione dei dati, mappano i dati ad alta dimensione su un grafico bidimensionale (o tridimensionale), in cui oggetti simili sono vicini l'uno all'altro e oggetti dissimili sono molto distanti. La visualizzazione dello spazio latente di un VAE descritta in precedenza in questo articolo, ad esempio, è stata creata utilizzando t-SNE.

La ricerca sui modelli di immagine ha inoltre fornito interessanti approfondimenti sulla natura dello spazio latente che hanno contribuito ai progressi nella manipolazione dello spazio latente per i modelli generativi. Ad esempio, l'articolo ampiamente citato "Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks" esplora tecniche come l'esecuzione dell'aritmetica con vettori latenti per produrre intuitivamente nuove immagini con qualità specifiche.

Spazio latente nell'elaborazione del linguaggio naturale (NLP)

Allo stesso modo in cui gli incorporamenti vettoriali per le immagini mirano a rappresentare i dati forniti dalla distribuzione originale dei valori dei pixel di un'immagine, gli incorporamenti di parole mirano a catturare il significato semantico di una particolare parola.

Tuttavia, a differenza di un'immagine, il significato semantico di una parola non è statico: è dinamico, con connotazioni e relazioni che possono essere modificate dalle parole che la circondano. Pertanto, i modelli di trasformatori utilizzano un meccanismo di auto-attenzione per calcolare come il significato di una parola sia influenzato dal suo contesto e aggiornare, di conseguenza, il suo incorporamento. Tra il livello di input che riceve un prompt e il livello di output in cui viene generato il nuovo testo, le incorporazioni di parole originali vengono trasformate in una serie di rappresentazioni latenti, in quanto il modello affina continuamente la sua comprensione contestuale.

Sebbene il funzionamento interno dei modelli linguistici di grandi dimensioni (LLM) si sia finora dimostrato abbastanza difficile da interpretare, la ricerca in corso ha esplorato l'attivazione dello spazio latente nell'apprendimento contestuale e altre capacità emergenti dei moduli LLM.1, 2

Soluzioni correlate
IBM watsonx.ai

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.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

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.

Esplora le soluzioni AI
Consulenza e servizi sull'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.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live
Note a piè di pagina

1 "Large Language Models Are Latent Variable Models: Explaining and Finding Good Demonstrations for In-Context Learning," Estratto della 37° Conference on Neural Information Processing Systems (NeurIPS 2023), dicembre 2023.

2 "A Latent Space Theory for Emergent Abilities in Large Language Models," arXiv, 13 September 2023.