Che cosa è lo spazio latente o latent space ed a cosa serve?
Lo spazio latente è uno spazio multidimensionale astratto contenente valori caratteristici che non si possono interpretare direttamente, ma che sono codificati in una rappresentazione interna significativa.
Nel caso delle reti neurali, i modelli addestrati producono come risultato uno spazio vettoriale ovvero una rappresentazione compressa dell’informazione. La versione compressa della distribuzione dei dati viene definita spazio latente.
Molto interessante è il caso di rappresentazione del dato costruito in un modello di encoder/decoder,
in cui si comprende facilmente come il dato, ad esempio, di input viene di fatto rappresentato in uno spazio n dimensionale differente.
C’è da dire che il concetto di semplificazione o rappresentazione delle informazioni in un sistema diverso o trasformato da quello reale fa parte anche della nostra natura di esseri umani. Non è un caso, infatti, che anche il cervello tenda a semplificare l’informazione originale scomponendola in informazioni facilmente utilizzabili attraverso un processo di campionamento / quantizzazione. E’ a tutti noto, dall’esperienza comune, che in generale l’essere umano non è in grado di memorizzare tutte le informazioni che riceve; si considerino, ad esempio, le immagini che percepiamo ogni giorno, delle quali siamo in grado di trattenere ed elaborare solo parti di esse.
Analogamente a noi esseri umani, che comprendiamo un’ampia gamma di argomenti e di eventi attraverso processi di semplificazione e di rappresentazione delle informazioni acquisiste, lo spazio latente mira a fornire ad a un computer una comprensione semplificata e strutturata dell’informazione attraverso una rappresentazione/modellazione spaziale quantitativa.
E’ molto importante comprendere, infatti, l’importanza dell’osservazione degli eventi in uno spazio latente in quanto grandi differenze nello spazio/eventi osservato potrebbero essere dovute a piccole variazioni nello spazio latente, in virtù di questa caratteristica l’utilizzo di uno spazio latente come rappresentazione della conoscenza di un modello neurale è fondamentale ed utile per migliorarne le performance in quanto il sistema potrebbe lavorare solo su delle features principali osservando di fatto uno spazio compresso (interessante a riguardo un approfondimento della PCA).
Per comprendere meglio il concetto analizziamo alcuni esempi:
1) Spazio di embedding (in ambito NLP): l’embedding di parole è costituito da vettori che rappresentano le singole word nello spazio latente nel quale parole simili nel significato (semantico) sono rappresentati da vettori la cui distanza è minima o che giacciono vicini l’uno all’altro. La distanza semantica viene, infatti, calcolata utilizzando come metodo di calcolo la distanza del coseno o quella euclidea, di conseguenza parole che non sono correlate si trovano distanti tra di loro. Per avere una rappresentazione visiva dello spazio è molto interessante analizzare l’embedding projector di tensorflow che fornisce una buona idea del concetto di spazio latente attraverso la visualizzazione dello spazio di embedding in tre dimensioni, supponendo, pertanto, di aver ridotto la codifica n dimensionale di una parola nelle Principle Componet che mi permettono di rappresentare il singolo dato in uno spazio tridimensionale.
2) Spazio delle caratteristiche dell’immagine: nella classificazione delle immagini che usano le CNN è possibile estrarre delle informazioni che rappresentano le stesse attraverso delle features ridotte o trasformate; per un dettaglio maggiore magari sarebbe interessante rileggere il questo articolo.
3) Metodi di modellazione degli argomenti come LDA , PLSA utilizzano approcci statistici per ottenere uno spazio latente di riferimento attraverso l’osservazione di un insieme di documenti e della distribuzione delle parole.
4) VAE e GAN infine mirano ad ottenere uno spazio latente che si avvicini molto allo spazio reale dei dati osservati, per costruire versioni simili o similari delle immagini di riferimento.
In tutti gli esempi precedenti l’obiettivo è di individuare un modo di rappresentare i dati in uno spazio di osservazione/latente multidimensionale relativamente più semplice di quello reale, con lo scopo di approssimare lo spazio latente reale dei dati osservati.
Sono amante della tecnologia e delle tante sfumature del mondo IT, ho partecipato, sin dai primi anni di università ad importanti progetti in ambito Internet proseguendo, negli anni, allo startup, sviluppo e direzione di diverse aziende; Nei primi anni di carriera ho lavorato come consulente nel mondo dell’IT italiano, partecipando attivamente a progetti nazionali ed internazionali per realtà quali Ericsson, Telecom, Tin.it, Accenture, Tiscali, CNR. Dal 2010 mi occupo di startup mediante una delle mie società techintouch S.r.l che grazie alla collaborazione con la Digital Magics SpA, di cui sono Partner la Campania, mi occupo di supportare ed accelerare aziende del territorio .
Attualmente ricopro le cariche di :
– CTO MareGroup
– CTO Innoida
– Co-CEO in Techintouch s.r.l.
– Board member in StepFund GP SA
Manager ed imprenditore dal 2000 sono stato,
CEO e founder di Eclettica S.r.l. , Società specializzata in sviluppo software e System Integration
Partner per la Campania di Digital Magics S.p.A.
CTO e co-founder di Nexsoft S.p.A, società specializzata nella Consulenza di Servizi in ambito Informatico e sviluppo di soluzioni di System Integration, CTO della ITsys S.r.l. Società specializzata nella gestione di sistemi IT per la quale ho partecipato attivamente alla fase di startup.
Sognatore da sempre, curioso di novità ed alla ricerca di “nuovi mondi da esplorare“.
Comments