spazio latente nelle reti neurali

Trasformazioni lineari, pesi e dimensioni

Questo articolo sullo spazio latente è estratto da 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.

Introduzione e contesto della serie

In questo terzo video della miniserie, lo spazio latente nelle reti neurali viene spiegato a partire dai concetti fondamentali visti negli episodi precedenti. L’obiettivo è costruire, passo dopo passo, una comprensione concettuale: come una trasformazione lineare mappi lo spazio di input in uno spazio trasformato e perché questo sia il cuore del concetto di spazio latente.

Trasformazioni lineari e matrici m×n

Partiamo dal recap: una matrice di trasformazione applicata a un vettore produce un nuovo vettore, secondo regole precise. Per eseguire il prodotto, il numero di colonne della matrice deve coincidere con il numero di righe del vettore. Il risultato ha come dimensione il numero di righe della matrice di trasformazione.

Quindi, in generale, possiamo mappare un vettore n‑dimensionale in un vettore m‑dimensionale scegliendo una matrice m×n. Non è necessario che m e n coincidano: l’operazione resta valida, e la trasformazione può espandere o comprimere lo spazio.

Dalla matrice dei pesi alla trasformazione dello spazio

A questo punto la domanda naturale è: che cosa c’entra tutto questo con una rete neurale? C’entra moltissimo. Se prendiamo un layer fully connected senza non linearità e senza bias, la matrice dei pesi W agisce esattamente come una matrice di trasformazione.

Un dataset con due feature per elemento può essere visto come un insieme di vettori in uno spazio bidimensionale. Con due neuroni nel primo hidden layer, otteniamo quattro pesi, che possono essere organizzati in una matrice 2×2. Il prodotto W·X trasforma ogni vettore di input in un nuovo vettore, e l’insieme di questi vettori definisce uno spazio trasformato. In altre parole, la matrice dei pesi è la trasformazione che costruisce lo spazio latente.

Dimensione dello spazio latente e numero di neuroni

Se aumentiamo i neuroni nel layer, cambiamo la dimensione dell’output. Con tre neuroni, la matrice diventa 3×2 e un input bidimensionale si trasforma in un vettore tridimensionale. Se invece riduciamo i neuroni, comprimiamo lo spazio.

Questo si generalizza facilmente: con input n‑dimensionale e hidden layer con m neuroni, la matrice dei pesi ha dimensione m×n e l’output è un vettore m‑dimensionale. Quindi la dimensione dello spazio latente è direttamente controllata dal numero di neuroni del layer.

Espansione, compressione e rischio di overfitting

Quando lo spazio latente è più grande dello spazio di input, la rete acquisisce maggiore capacità rappresentativa, ma aumenta anche il rischio di overfitting: la trasformazione può catturare il rumore oltre ai pattern utili. Al contrario, se lo spazio latente è più piccolo, la rete è costretta a comprimere l’informazione e a selezionare le caratteristiche più rilevanti.

Questo è il principio alla base degli autoencoder per la riduzione della dimensionalità: comprimere senza perdere ciò che è essenziale per il compito.

Il ruolo del bias nelle reti neurali

Finora abbiamo ragionato senza bias. Nella pratica, il bias non cambia la dimensionalità dell’output, ma trasla i punti nello spazio. Questo consente alla rete di rappresentare funzioni che non passano per l’origine, ampliando la gamma di trasformazioni possibili pur restando nel contesto lineare del layer.

Addestramento e apprendimento dei pesi

La trasformazione dipende dai coefficienti della matrice dei pesi. Una matrice identità lascia invariato il vettore, ma basta modificare i coefficienti per ottenere trasformazioni completamente diverse. La domanda quindi è: come vengono scelti questi valori?

La risposta sta nell’addestramento. La rete parte con pesi iniziali casuali e, iterando l’addestramento, trova i valori che rendono lo spazio trasformato utile al compito. In un modello per immagini, la trasformazione può enfatizzare caratteristiche visive rilevanti; in un modello per testi, può organizzare i concetti semantici in modo che parole simili risultino vicine. In altre parole, è il modello stesso a scoprire la rappresentazione più adatta.

Trasformazioni lineari vs non linearità

Questo episodio mostra come il concetto di matrice di trasformazione si traduca direttamente in un layer fully connected: la matrice dei pesi è la trasformazione che costruisce lo spazio latente, e l’addestramento ne determina la forma. Il numero di neuroni controlla la dimensionalità della rappresentazione, con effetti diretti su capacità di generalizzazione e compressione dell’informazione.

C’è però un limite: finora abbiamo parlato solo di trasformazioni lineari. In una trasformazione lineare l’origine resta l’origine e le linee restano linee; possiamo ruotare, allungare o comprimere lo spazio, ma non curvarlo. È con l’introduzione della non linearità che possiamo deformare lo spazio e modellare relazioni molto più complesse nei dati. Questo sarà il tema del prossimo video, con un esempio visivo concreto.

Tutti i post della serie