Cos'è uno spazio latente?  Una spiegazione concisa per il generale… |  di Jaroslaw Drapala |  Maggio 2024

 | Intelligenza-Artificiale

Una spiegazione concisa per il lettore generale

fotografato da Lennon Cheng SU Unsplash

Hti sei mai chiesto come IA generativa porta a termine il suo lavoro? Come crea immagini, gestisce il testo ed esegue altre attività?

Il concetto cruciale che devi veramente capire è spazio latente. Comprendere cos’è lo spazio latente apre la strada alla comprensione dell’intelligenza artificiale generativa.

Lascia che ti accompagni attraverso alcuni esempi per spiegare l'essenza di uno spazio latente.

Esempio 1. Trovare un modo migliore per rappresentare i dati di altezze e pesi.

Nel corso dei miei numerosi progetti di ricerca sui dati medici, ho raccolto molte misurazioni dei pazienti pesi E altezza. La figura seguente mostra la distribuzione delle misurazioni.

Misurazioni di altezze e pesi di 11808 pazienti cardiopatici.

Puoi considerare ogni punto come una versione compressa delle informazioni su una persona reale. Tutti i dettagli come i lineamenti del viso, l'acconciatura, il tono della pelle e il sesso non sono più disponibili, se ne vanno solo peso E altezza valori.

È possibile ricostruire i dati originali utilizzando solo questi due valori? Certo, se le tue aspettative non sono troppo alte. Devi semplicemente sostituire tutte le informazioni scartate con un oggetto modello standard per colmare le lacune. L'oggetto modello viene personalizzato in base alle informazioni conservate, che in questo caso includono solo altezza E peso.

(Photograph of the author taken by Kamil Winiarz)

Approfondiamo lo spazio definito dal altezza E peso assi. Considera un punto con coordinate 170 cm di altezza e 70 kg di peso. Lasciamo che questo punto serva da figura di riferimento e posizioniamolo all'origine degli assi.

Muovendosi orizzontalmente mantieni il tuo peso costante mentre alteri il tuo altezza. Allo stesso modo, muoversi su e giù mantiene il tuo altezza lo stesso ma cambia il tuo peso.

Potrebbe sembrare complicato perché quando ti muovi in ​​una direzione, devi pensare a due cose contemporaneamente. C'è un modo per migliorare questo?

Dai un'occhiata allo stesso set di dati codificato a colori da BMI.

I colori quasi si allineano con le linee. Ciò suggerisce che potremmo considerare altri assi che potrebbero essere più convenienti per generare figure umane.

Potremmo nominare uno di questi assi “Ingrandisci' perché mantiene una costante BMIcon l'unico cambiamento che è la scala della figura. Allo stesso modo, il secondo asse potrebbe essere etichettato BMI.

La nuova offerta di assi una prospettiva più conveniente sui datirendendo più facile l'esplorazione. È possibile specificare un valore BMI target e quindi regolare semplicemente la dimensione della figura lungo il simbolo 'Ingrandisciasse.

Stai cercando di aggiungere più dettagli e realismo alle tue figure? Considera funzionalità aggiuntive, come generead esempio. Ma da ora in poi non potrò offrire visualizzazioni simili che comprendano tutti gli aspetti dei dati a causa della mancanza di dimensioni. Sono in grado di visualizzare solo la distribuzione di tre caratteristiche selezionate: due caratteristiche sono rappresentate dalla posizione dei punti sugli assi, mentre la terza è indicata dal colore.

Per migliorare il precedente generatore di figure umane, puoi creare modelli separati per maschi e femmine. Generare poi una femmina nelle zone a predominanza del giallo e un maschio dove prevale il blu.

Man mano che vengono prese in considerazione più caratteristiche, le cifre diventano sempre più realistiche. Si noti inoltre che è possibile generare una figura per ogni punto, anche quelli non presenti nel dataset.

Questo è ciò che definirei un approccio dall’alto verso il basso per generare figure umane sintetiche. Implica la selezione di caratteristiche misurabili e l'identificazione degli assi (direzioni) ottimali per esplorare lo spazio dei dati. Nella comunità del machine learning, il primo si chiama selezione delle funzionalitàe il secondo è chiamato estrazione delle caratteristiche. L'estrazione delle caratteristiche può essere effettuata utilizzando algoritmi specializzati, ad esempio PCA¹ (Principale Ccomponente UNanalisi), consentendo l'individuazione di direzioni che rappresentano i dati in modo più naturale.

Lo spazio matematico da cui generiamo oggetti sintetici è chiamato spazio latente per due ragioni. Inizialmente, i punti (vettori) in questo spazio sono semplicemente numerici compressi e imperfetti rappresentazioni degli oggetti originaliproprio come le ombre. In secondo luogo, gli assi che definiscono lo spazio latente spesso hanno poca somiglianza con le caratteristiche originariamente misurate. La seconda ragione sarà meglio illustrata nei prossimi esempi.

Esempio 2. Invecchiamento dei volti umani.

Segue l'intelligenza artificiale generativa di Twoday un approccio dal basso verso l’altodove sia la selezione che l'estrazione delle caratteristiche vengono eseguite automaticamente dai dati grezzi. Consideriamo un vasto set di dati comprendente immagini di volti, in cui le caratteristiche grezze sono costituite dai colori di tutti i pixel in ciascuna immagine, rappresentati come numeri compresi tra 0 e 255. Un modello generativo come GAN² (Genergetico UNcontraddittorio Nrete) possono identificare (imparare) un insieme di caratteristiche a bassa dimensionalità in cui possiamo trovare le direzioni che ci interessano di più.

Immagina di voler sviluppare un'app che prenda la tua immagine e ti mostri una versione più giovane o più vecchia di te stesso. Per raggiungere questo obiettivo, è necessario ordinare tutte le rappresentazioni dello spazio latente delle immagini (vettori dello spazio latente) in base all'età. Quindi, per ciascuna fascia di età, bisogna determinare il vettore medio.

Se tutto va bene, i vettori medi si allineerebbero lungo una curva, che puoi considerare come un'approssimazione dell'asse del valore dell'età.

Ora puoi determinare la rappresentazione dello spazio latente della tua immagine (codifica passo) e poi spostarlo lungo la direzione dell'età come desideri. Infine, tu decodificare per generare un'immagine sintetica che rappresenti la versione più vecchia (o più giovane) di te stesso. L'idea del decodifica il passaggio qui è simile a quello che ti ho mostrato nell'Esempio 1, ma teoricamente e computazionalmente molto più avanzato.

Lo spazio latente consente l'esplorazione in altre dimensioni interessanti, come lunghezza dei capelli, sorriso, generee altro ancora.

Esempio 3. Organizzazione di parole e frasi in base al loro significato.

Diciamo che stai facendo uno studio sul comportamento predatorio nella natura e nella società e hai un sacco di materiale testuale da analizzare. Per automatizzare il filtraggio degli articoli rilevanti, puoi codificare parole e frasi nello spazio latente. Seguendo l’approccio top-down, lasciamo che questo spazio latente sia basato su due dimensioni: Predatorità E Misurare. In uno scenario del mondo reale, avresti bisogno di più dimensioni. Ne ho presi solo due in modo che potessi vedere tu stesso lo spazio latente.

Di seguito, puoi vedere alcune parole e frasi rappresentate (incorporate) nello spazio latente introdotto. Usando un'analogia con la fisica: puoi pensare a ogni parola o frase come carica di due tipi di cariche: predatorità E misurare. Le parole/frasi con cariche simili si trovano una accanto all'altra nello spazio latente.

Ad ogni parola/frase vengono assegnate coordinate numeriche nello spazio latente.

Questi vettori sono rappresentazioni dello spazio latente di parole/frasi e sono indicati come incastri. Uno degli aspetti più interessanti degli incorporamenti è che puoi eseguire operazioni algebriche su di essi. Ad esempio, se aggiungi i vettori che rappresentano “pecora” e “ragno”, ti ritroverai vicino al vettore che rappresenta “politico”. Ciò giustifica la seguente elegante espressione algebrica:

Pensi che questa equazione abbia senso?

Prova la rappresentazione dello spazio latente utilizzata da ChatGPT. Potrebbe essere davvero divertente.

Parole finali

Lo spazio latente rappresenta i dati in modo da evidenziare le proprietà essenziali per l'attività corrente. Molti metodi di intelligenza artificiale, in particolare i modelli generativi e le reti neurali profonde, operano sulla rappresentazione dello spazio latente dei dati.

Un modello di intelligenza artificiale apprende lo spazio latente dai dati, proietta i dati originali in questo spazio (fase di codifica), esegue operazioni al suo interno e infine ricostruisce il risultato nel formato dei dati originale (fase di decodifica).

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *