Estimated reading time: 5 minutes
Questo articolo sullo spazio latente è ispirato a un video che ho realizzato per Data Masters.
Data Masters è un’AI Academy italiana che offre percorsi di formazione nei settori della Data Science, del Machine Learning e dell’Intelligenza Artificiale. Se vuoi maggiori informazioni sui corsi e materiali divulgativi, puoi visitare il sito datamasters.it.
Alla fine dell’articolo puoi trovare il link al video originale.
Con questo articolo inauguriamo una serie dedicata al concetto di spazio latente, con l’obiettivo di costruire una comprensione concettuale, prima intuitiva, poi via via più tecnica e formale, di uno dei concetti fondamentali nel funzionamento delle reti neurali.
In questa prima parte ci concentreremo su un’introduzione intuitiva e non tecnica, per capire che cos’è e cosa rappresenta lo spazio latente all’interno di una rete neurale. Nei prossimi articoli vedremo invece come questo concetto si traduce matematicamente e geometricamente, mantenendo tuttavia sempre un approccio concettuale e visivo.
Possiamo pensare lo spazio latente come una rappresentazione trasformata dei dati di partenza.
È uno spazio in cui i dati originali vengono “riscritti” in una forma che permette alla rete neurale di comprendere e manipolare più facilmente le caratteristiche fondamentali contenute in essi.
In altre parole: la rete parte dai dati grezzi (immagini, testo, audio, ecc.) e li traduce in un linguaggio interno, lo spazio latente, dove le informazioni più rilevanti vengono messe in evidenza e quelle superflue vengono scartate.
Questo consente al modello di estrarre in modo più efficiente le informazioni necessarie per svolgere il proprio compito.
Immaginiamo dunque un dataset di immagini di volti.
Nello spazio di input, ogni immagine è rappresentata come una griglia di pixel: migliaia di numeri che descrivono colore e intensità di ciascun punto.
Questa rappresentazione è molto dettagliata, ma per un computer è poco significativa: non descrive concetti come “occhi marroni” o “sorriso”.
Lo spazio latente, invece, può essere pensato come una mappa compatta di caratteristiche più astratte e significative.
Concettualmente (semplificando molto), l’immagine di un volto potrebbe essere rappresentata da pochi parametri come colore dei capelli, età, sesso, tonalità della pelle, espressione, ecc.
Non si tratta di una tabella esplicita, ma di una rappresentazione interna che cattura l’essenza dei dati. In questo modo li rende più utili al modello per il compito da svolgere, ad esempio, il riconoscimento facciale.
Qui, in particolare, abbiamo nel nostro spazio di input l'immagine visiva di un ragazzo.

Noi lo lo vediamo e chiaramente abbiamo tutte le informazioni. I nostri occhi catturano e passano al nostro cervello tutte le informazioni di cui abbiamo bisogno. All'interno dello spazio latente questa specifica immagine potrebbe essere, da un punto di vista concettuale, qualcosa di questo tipo: invece di avere l'immagine del ragazzo, abbiamo delle informazioni che rappresentano delle caratteristiche specifiche di questo ragazzo.
Quindi, ad esempio, il colore dei capelli castani, il colore degli occhi marroni, l'età di 23 anni, il sesso maschile, l'etnia caucasica, e così via. Questa è la mappa associata a questa immagine. Per altre immagini avremo delle mappe con delle caratteristiche differenti. Quindi noi guardiamo l'immagine e da questa il nostro cervello riesce ad estrapolare tutte le informazioni di cui ha bisogno, facendo un lavoro di questo tipo.
Nello spazio latente tutte queste immagini possiamo immaginarcele mappate. Quindi invece di avere migliaia di pixel, noi potremmo ridurre la rappresentazione a pochi parametri significativi come il colore dei capelli, degli occhi, età, sesso, etnia e così via.
Possiamo dunque immaginarci che questi valori messi assieme creino il nostro spazio latente. Non è proprio così nella pratica, ma è un buon esempio dal punto di vista concettuale. Quindi possiamo vedere come in questo contesto lo spazio latente è uno spazio che trasforma in un qualche modo lo spazio di input catturandone l'essenza.

Immaginiamo ora di lavorare con mappe satellitari.
Nello spazio di input vediamo ogni dettaglio: la pista di un aeroporto, le ombre, la vegetazione, le strade, le case e tutta una serie di altre informazioni. Quindi nello spazio di input questa mappa viene rappresentata con un'enorme quantità di dettagli. Abbiamo ogni casa, ogni strada, il mare e persino le onde dell'oceano. Questa rappresentazione è estremamente ricca di informazioni e sarebbe perfetta per un essere umano, ma ridondante per un modello che deve, ad esempio, gestire la guida autonoma.
Se ci immaginiamo infatti un task di guida autonoma, questa rappresentazione contiene molto rumore di cui non abbiamo bisogno per un task di questo tipo.
Per questo compito, molte informazioni (come il colore dell’acqua o la densità della vegetazione) sono irrilevanti.
Lo spazio latente, in questo caso, potrebbe essere visto come una versione semplificata della mappa, simile alla modalità “mappa” di Google: vengono conservate solo le informazioni essenziali (strade, incroci, punti di interesse) e rimosso tutto il resto.
Se però il compito fosse diverso, per esempio stimare lo stato di salute della vegetazione, allora la rappresentazione latente dovrebbe evidenziare proprio quelle informazioni che prima avevamo scartato.
Questo mostra un punto importante:
Lo spazio latente è sempre relativo al compito per cui la rete è addestrata.
Quello che abbiamo visto fino adesso vuole essere solo un modo iper semplificato, intuitivo e concettuale per incominciare a comprendere che cosa sia uno spazio latente.
Nella realtà uno spazio latente vero e proprio è uno spazio matematico astratto in cui le caratteristiche che vengono apprese dal modello non riflettono necessariamente proprietà umane, come ad esempio il colore dei capelli o l'età. Questo poi dipende anche dal modello e dall'architettura che utilizziamo.
In alcuni casi queste caratteristiche possono rappresentare delle coordinate in uno spazio n-dimensionale o valori che descrivono distribuzioni di probabilità interne al modello.
Ciò che conta, in ogni caso, è l’idea di fondo:
Lo spazio latente è una rappresentazione compressa e astratta dei dati, utile al modello per svolgere il suo compito.
Nel prossimo capitolo entreremo nel mondo dell’algebra lineare, per capire come le reti neurali trasformano i dati dello spazio di input in uno spazio latente.
Parleremo di matrici di trasformazione. Vedremo esempi pratici e utilizzeremo strumenti come GeoGebra per visualizzare in modo intuitivo come queste trasformazioni modificano l’intero spazio dei dati.
Trovi il video originale qui: Che cos'è lo SPAZIO LATENTE? Una comprensione concettuale - PARTE 1