Autoencoder
In questa pagina 5
Finora la rete riceve un'etichetta da prevedere (apprendimento supervisionato). Con i dati senza etichetta ci sono quattro compiti non supervisionati (Clustering e k-meansIl clustering raggruppa osservazioni simili senza etichette, come preprocessing (un modello per ogni cluster) o come obiettivo (segmentazione clienti, organizzazione di documenti). K-means: si sceglie $K$, si inizializzano $K$ centroidi, si alterna assegnazione di ogni punto al centroide più vicino e aggiornamento di ogni centroide alla media dei suoi punti, fino a convergenza; minimizza $\mathrm{MSE}{\text{within}}=\frac1N\sum_k\sum{x_i\in C_k}|x_i-\mu_k|^2$ ma solo fino a un minimo locale, quindi dipende dall'inizializzazione. Il numero di cluster si sceglie col metodo del gomito (la dispersione cala sempre, si cerca dove rallenta) o con la gap statistic $\mathrm{Gap}(K)=E[\log W_K^{ref}]-\log W_K$ (si prende il più piccolo $K$ con $\mathrm{Gap}(K)\ge\mathrm{Gap}(K+1)-s_{K+1}$). Il clustering gerarchico agglomerativo parte da un cluster per punto e fonde i due più vicini (linkage single, complete, average, Ward) costruendo un dendrogramma; quello divisivo parte da un solo cluster. Programma di Telecomunicazioni: clustering.Clustering e k-means →, Anomaly detectionUn'anomalia (outlier) è un'osservazione che si discosta tanto dalle altre da far pensare che sia generata da un meccanismo diverso. Rilevarle serve come pulizia dei dati (solo se sono errori o rumore, non per migliorare artificialmente le metriche), come obiettivo finale (frodi, guasti, cybersicurezza) e per il monitoraggio di un modello in produzione. Metodi semplici: box plot (oltre $1{,}5,\mathrm{IQR}$), carte di controllo univariate ($\mu\pm3\sigma$) e la statistica multivariata di Hotelling $T^2=(x-\bar x)^TS^{-1}(x-\bar x)$ con soglia $\chi^2_{p,1-\alpha}$, valida per dati gaussiani e unimodali. Metodi non supervisionati multivariati danno un anomaly score: l'isolation forest isola ogni punto con split casuali (le anomalie hanno cammini corti) e calcola $s(x,n)=2^{-E(h(x))/c(n)}$, con soglia scelta dalla contaminazione. Senza etichette si valuta con esperti, eventi noti o anomalie sintetiche. Approfondimento: non nel programma di Telecomunicazioni.Anomaly detection →, Analisi delle componenti principali (PCA)Con $p>3$ variabili non si può disegnare il dataset. La PCA (analisi delle componenti principali) lo proietta su pochi assi ortogonali, le componenti principali: dopo aver centrato (e di solito standardizzato) i dati, le direzioni sono gli autovettori della matrice di covarianza $S=\frac1{n-1}X_c^TX_c$ ordinati per autovalore $\lambda_1\ge\lambda_2\ge\dots$; $\lambda_k$ è la varianza lungo la componente $k$ e $\lambda_k/\sum\lambda_j$ la frazione spiegata (scree plot). Trovare la retta che minimizza le distanze dai punti equivale a massimizzare la varianza delle proiezioni (Pitagora). È lineare e conserva la struttura globale, non quella locale; t-SNE e UMAP sono alternative non lineari solo per visualizzare. Approfondimento: non nel programma di Telecomunicazioni.Analisi delle componenti principali (PCA) →): clustering, riduzione della dimensionalità / apprendimento di rappresentazioni latenti, anomaly detection, generazione di dati. Gli autoencoder e le loro varianti coprono gli ultimi tre.
1. Rappresentazioni latenti e ipotesi del manifold
In un dataset ad alta dimensionalità i dati stanno in genere su (o vicino a) un manifold: una superficie liscia e curva di dimensione molto più bassa. Esempio: le immagini di una cifra scritta a mano sono vettori in , ma le immagini sensate sono poche e variano per pochi fattori (spessore, inclinazione, forma). Trovare coordinate sul manifold dà una rappresentazione compatta e significativa.
Il metodo lineare è la PCA. Il problema di trovare una rappresentazione minima e significativa ricorre ovunque in ingegneria: nelle telecomunicazioni è la codifica di un segnale prima della trasmissione e la decodifica dopo.
2. L'autoencoder
Definizione (autoencoder). Un autoencoder è una rete deterministica addestrata con la backpropagation (Addestramento delle reti neurali - backpropagation e ottimizzatoriAddestrare una rete significa minimizzare la loss empirica $J(W)=\frac1n\sum_i\mathcal L(f(x^{(i)};W),y^{(i)})$ con la discesa del gradiente $W\leftarrow W-\eta,\partial J/\partial W$; in pratica a mini-batch (SGD). Il gradiente di tutti i pesi si ottiene con la backpropagation, cioè la regola della catena applicata all'indietro: $\delta^{(L)}=\partial J/\partial a^{(L)}\odot g'(z^{(L)})$, $\delta^{(l)}=(W^{(l+1)\top}\delta^{(l+1)})\odot g'(z^{(l)})$, $\partial J/\partial W^{(l)}=\delta^{(l)}a^{(l-1)\top}$ (con sigmoide e cross-entropy $\delta=\hat y-y$). Per far funzionare reti profonde: attivazioni ReLU, inizializzazione di Xavier o He (varianza $2/(n_{in}+n_{out})$ e $2/n_{in}$), batch normalization, ottimizzatori con momento o adattivi (Momentum, AdaGrad, RMSProp, Adam con $\beta_1=0{,}9$, $\beta_2=0{,}999$, lr $10^{-3}$) e un learning rate che varia nel tempo (a gradini, coseno). Si addestra tenendo d'occhio la loss di training e di validazione.Addestramento delle reti neurali - backpropagation e ottimizzatori →) in cui l'uscita deve coincidere con l'ingresso. Per non imparare l'identità, il segnale passa per un collo di bottiglia (bottleneck, codice) di dimensione limitata.
- L'encoder mappa in una rappresentazione a bassa dimensione (il vettore latente);
- il decoder ricostruisce a partire da .
Formula (loss di ricostruzione). mediata sul training set; è l'errore quadratico (Prodotto scalare, norma e angoliIl prodotto scalare aggiunge a uno spazio vettoriale lunghezze e angoli: norma, disuguaglianza di Cauchy-Schwarz, angolo tra vettori in R^n, ortogonalità, proiezione su una retta, aree e volumi con il determinante della matrice dei prodotti scalari.Prodotto scalare, norma e angoli →). Se l'ingresso è binario o in si usa spesso la cross-entropy binaria per pixel.
Non servono etichette: il bersaglio è l'ingresso stesso. Di solito l'architettura è simmetrica (il decoder è l'immagine speculare dell'encoder) e il numero di unità del codice è minore di quello dell'ingresso.
Esempio (conteggio dei parametri). Autoencoder denso con ReLU (e sigmoide in uscita): ; ; ; ; in tutto parametri. Il codice ha numeri per rappresentare pixel: compressione di volte.
from tensorflow.keras import Sequential, Input
from tensorflow.keras.layers import Dense
ae = Sequential([Input((784,)),
Dense(128, activation="relu"), Dense(32, activation="relu"), # encoder
Dense(128, activation="relu"), Dense(784, activation="sigmoid")]) # decoder
ae.compile(optimizer="adam", loss="mse")
ae.fit(x_train, x_train, epochs=20, batch_size=256, validation_split=0.1) # bersaglio = ingressoAutoencoder e PCA
Se encoder e decoder sono lineari (attivazione identità) e la loss è l'errore quadratico, l'autoencoder impara lo stesso sottospazio della PCA: lo spazio generato dalle prime componenti principali, dove è la dimensione del codice (Analisi delle componenti principali (PCA)Con $p>3$ variabili non si può disegnare il dataset. La PCA (analisi delle componenti principali) lo proietta su pochi assi ortogonali, le componenti principali: dopo aver centrato (e di solito standardizzato) i dati, le direzioni sono gli autovettori della matrice di covarianza $S=\frac1{n-1}X_c^TX_c$ ordinati per autovalore $\lambda_1\ge\lambda_2\ge\dots$; $\lambda_k$ è la varianza lungo la componente $k$ e $\lambda_k/\sum\lambda_j$ la frazione spiegata (scree plot). Trovare la retta che minimizza le distanze dai punti equivale a massimizzare la varianza delle proiezioni (Pitagora). È lineare e conserva la struttura globale, non quella locale; t-SNE e UMAP sono alternative non lineari solo per visualizzare. Approfondimento: non nel programma di Telecomunicazioni.Analisi delle componenti principali (PCA) →; è il problema di miglior approssimazione di rango ). Le attivazioni non lineari (ReLU, tanh) permettono di seguire un manifold curvo e di comprimere meglio.
Varianti
- Sparse autoencoder: aggiunge una penalità sulle attivazioni nascoste, , così pochi neuroni sono attivi per ogni ingresso e le feature diventano più specializzate (Regolarizzazione delle reti neuraliUna rete con tanti parametri tende a memorizzare il training set (overfitting): la loss di training scende ma quella di validazione risale. Le tecniche di regolarizzazione limitano la capacità effettiva: penalità sui pesi ($\ell_2$: $J+\lambda|W|_2^2$, il passo diventa $W\leftarrow(1-2\eta\lambda)W-\eta\nabla J$; $\ell_1$: $J+\lambda|W|_1$, porta pesi esattamente a zero), early stopping (si ferma l'addestramento quando la validation loss smette di scendere, con pazienza e ripristino dei pesi migliori), dropout (in training si azzera a caso una frazione $p$ delle attivazioni e si riscala per $1/(1-p)$; in inferenza è spento), batch normalization (effetto collaterale) e data augmentation. Nel lab MNIST con $\lambda=0{,}01$ la penalità $\ell_1$ è troppo forte (accuratezza di test 0,844 contro 0,9815 senza regolarizzazione), mentre dropout e early stopping non peggiorano e tengono la validation loss più bassa.Regolarizzazione delle reti neurali →).
- Denoising autoencoder: l'ingresso viene corrotto (rumore, pixel azzerati) in ; la rete deve ricostruire l'originale pulito, . Non può copiare l'ingresso, deve imparare la struttura dei dati.
- Autoencoder convolutivi: encoder e decoder usano convoluzioni, pooling e up-sampling (Reti neurali convolutive (CNN)approfondimento: non nel programma di Telecomunicazioni. Una rete convolutiva (CNN) sostituisce gli strati densi con filtri piccoli che scorrono sull'immagine: ogni neurone vede solo una patch locale (campo recettivo) e i pesi del filtro sono condivisi in tutta l'immagine, quindi i parametri non dipendono dalla dimensione dell'immagine ($K^2C_{in}C_{out}+C_{out}$ per strato) e si conserva l'informazione spaziale. Dimensione dell'uscita: $\lfloor(W-K+2P)/S\rfloor+1$. Pooling (max 2x2, stride 2) sottocampiona e dà invarianza locale; i filtri 1x1 riducono i canali; struttura tipica CONV+ReLU, POOL, ..., FLATTEN, FC, SOFTMAX, addestrata con cross-entropy e backpropagation. Tre strati 3x3 hanno il campo recettivo di un 7x7 con meno parametri e più non linearità (VGG). Architetture: LeNet, AlexNet (ReLU, dropout, data augmentation), VGG, GoogLeNet (moduli Inception), ResNet (blocchi residui $H(x)=F(x)+x$), EfficientNet. Nel lab: CNN su Fashion-MNIST (241 546 parametri) e su CIFAR-10 (122 570).Reti neurali convolutive (CNN) →). Esempio: neural inpainting, ricostruzione dei pixel mancanti dentro una maschera (volti, panorami, foto rovinate) minimizzando MSE più cross-entropy binaria.
3. Anomaly detection con un autoencoder
Si addestra l'autoencoder solo su dati normali. Impara a ricostruire bene ciò che somiglia al normale; su un'anomalia, mai vista, la ricostruzione è cattiva e l'errore alto. Un'osservazione è un outlier (nella definizione di Hawkins) se devia tanto dalle altre da far sospettare che sia stata prodotta da un meccanismo diverso. L'errore di ricostruzione è lo anomaly score:
Formula (regola di decisione). Con e una soglia : normale se , anomalo se .
La soglia si sceglie sui dati normali: per esempio degli errori di training, oppure un percentile alto (il ). Così circa l' dei dati normali è segnalato falsamente.
Esempio. Errori di ricostruzione sul training: media , deviazione standard , quindi . Cinque nuovi campioni hanno errori : sono anomali il quarto () e il quinto ().
Grafico interattivo: Densità schematiche dell'errore di ricostruzione: i dati normali stanno sotto la soglia θ = 0,027, le anomalie sopra
Tra gli altri approcci di anomaly detection: metodi basati sulla densità (LOF, DBSCAN), sulla distanza (ORCA), sul clustering (CBLOF), Isolation Forest (Anomaly detectionUn'anomalia (outlier) è un'osservazione che si discosta tanto dalle altre da far pensare che sia generata da un meccanismo diverso. Rilevarle serve come pulizia dei dati (solo se sono errori o rumore, non per migliorare artificialmente le metriche), come obiettivo finale (frodi, guasti, cybersicurezza) e per il monitoraggio di un modello in produzione. Metodi semplici: box plot (oltre $1{,}5,\mathrm{IQR}$), carte di controllo univariate ($\mu\pm3\sigma$) e la statistica multivariata di Hotelling $T^2=(x-\bar x)^TS^{-1}(x-\bar x)$ con soglia $\chi^2_{p,1-\alpha}$, valida per dati gaussiani e unimodali. Metodi non supervisionati multivariati danno un anomaly score: l'isolation forest isola ogni punto con split casuali (le anomalie hanno cammini corti) e calcola $s(x,n)=2^{-E(h(x))/c(n)}$, con soglia scelta dalla contaminazione. Senza etichette si valuta con esperti, eventi noti o anomalie sintetiche. Approfondimento: non nel programma di Telecomunicazioni.Anomaly detection →); gli autoencoder sono il rappresentante delle reti neurali.
4. Generare dati: il Variational Autoencoder (VAE)
In un autoencoder ordinario lo spazio latente è irregolare: due codici vicini possono dare ricostruzioni molto diverse e senza senso, e punti di lontani da quelli visti producono immagini spazzatura. Quindi non si può estrarre un a caso per generare nuovi dati. I modelli generativi vogliono invece imparare a produrre nuovi campioni da una distribuzione complessa di cui i dati sono un campione. Il VAE rende lo spazio latente regolare in due mosse:
- L'encoder non restituisce un punto ma una distribuzione sullo spazio latente: una gaussiana multivariata a covarianza diagonale (Distribuzione gaussiana (normale)N(μ, σ²) ha densità e^(−(x−μ)²/(2σ²)) / √(2πσ²), a campana centrata in μ con larghezza σ; media μ, varianza σ²; si standardizza con Z = (X − μ)/σ ~ N(0, 1) e si calcola P(X ≤ x) = Φ((x − μ)/σ), con Φ(−z) = 1 − Φ(z); aX + b è ancora gaussiana, N(aμ + b, a²σ²).Distribuzione gaussiana (normale) →, Vettori gaussianiX = (X₁, ..., Xₙ) è un vettore gaussiano N(m, Σ) se ogni combinazione lineare a·X è gaussiana (equivalentemente X = m + AZ con Z gaussiane standard indipendenti); se Σ è invertibile ha densità exp(−½(x−m)ᵀΣ⁻¹(x−m)) / √((2π)ⁿ det Σ). Proprietà chiave: AX + b ~ N(Am + b, AΣAᵀ), le marginali sono gaussiane e componenti non correlate sono indipendenti.Vettori gaussiani →), cioè due vettori, la media e la deviazione standard (la rete ha due «teste» di uscita).
- La loss ha un termine di regolarizzazione che spinge queste distribuzioni verso la normale standard , così lo spazio latente è «ben organizzato» attorno all'origine e si può campionare da .
Formula (loss del VAE). Il primo termine è l'errore di ricostruzione; il secondo è la divergenza di Kullback-Leibler tra la distribuzione stimata e quella standard. Spesso il primo termine è moltiplicato per una costante che ne regola il peso.
Definizione (divergenza KL). Per due densità e , e vale se e solo se (disuguaglianza di Jensen, Disuguaglianze di Markov, Chebyshev e JensenMarkov: per X ≥ 0, P(X ≥ a) ≤ E[X]/a; Chebyshev: P(|X − μ| ≥ ε) ≤ Var(X)/ε²; Jensen: per φ convessa, φ(E[X]) ≤ E[φ(X)]. Stimano probabilità e medie conoscendo solo media e varianza.Disuguaglianze di Markov, Chebyshev e Jensen →). Misura quanto è diversa da (non è simmetrica).
Forma chiusa per due gaussiane. Con e in una dimensione si procede così. I logaritmi delle densità (Esponenziale e logaritmoLa funzione esponenziale a^x (base positiva diversa da 1) e la sua inversa, il logaritmo in base a, con grafici e proprietà.Esponenziale e logaritmo →) sono e , quindi . Si prende il valore atteso rispetto a (Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →, Varianza e momentiI momenti E[X^k] e i momenti centrati E[(X − μ)^k] descrivono la forma di una legge; la varianza Var(X) = E[(X − μ)²] = E[X²] − E[X]² misura quanto X si disperde attorno alla media, vale Var(aX + b) = a² Var(X) e Var(X) = 0 solo se X è costante.Varianza e momenti →) usando e : Con variabili latenti indipendenti si sommano le componenti: . Il termine vale solo per , : è minimo quando la distribuzione coincide con la normale standard, cresce con (media lontana dall'origine) e quando si allontana da (troppo piccola: grande, il codice diventa un punto come in un autoencoder normale).
Grafico interattivo: KL(N(μ,σ²) ‖ N(0,1)) al variare di σ con μ = 0: minimo 0 in σ = 1; con μ ≠ 0 si aggiunge μ²/2
Esempio. , : componente : ; componente : . .
Il trucco di riparametrizzazione
Per l'addestramento serve la backpropagation, ma estrarre un campione casuale non è un'operazione derivabile rispetto a e : il gradiente non può attraversare il campionamento. Si sposta la casualità fuori dalla rete: si estrae un rumore indipendente dai parametri e si costruisce con una funzione derivabile.
Formula (reparametrization trick). (nelle slide con e prodotti dall'encoder).
ha la distribuzione giusta, perché una gaussiana standard scalata per e traslata per è (Distribuzione gaussiana (normale)N(μ, σ²) ha densità e^(−(x−μ)²/(2σ²)) / √(2πσ²), a campana centrata in μ con larghezza σ; media μ, varianza σ²; si standardizza con Z = (X − μ)/σ ~ N(0, 1) e si calcola P(X ≤ x) = Φ((x − μ)/σ), con Φ(−z) = 1 − Φ(z); aX + b è ancora gaussiana, N(aμ + b, a²σ²).Distribuzione gaussiana (normale) →). Ora dipende da con derivate e (con trattato come costante): la regola della catena funziona e si addestra l'encoder.
Esempio. , , estratto: .
Dopo l'addestramento si genera: si estrae e si passa dal decoder. Per la regolarità dello spazio latente, spostandosi con continuità tra due codici si ottengono immagini che cambiano con continuità (interpolazione).
-VAE e rappresentazioni disaccoppiate
Un VAE si può spingere a imparare rappresentazioni disaccoppiate (disentangled): ogni unità latente sensibile a un solo fattore generativo (per esempio colore dei capelli) e invariante agli altri (colore della pelle). Nel -VAE il termine KL ha peso . Nella notazione probabilistica, da massimizzare:
con l'encoder (probabilistico) e il decoder. Il primo termine è la log-verosimiglianza della ricostruzione: se il decoder è gaussiano con varianza fissa, , e si ricade nell'errore quadratico (la costante della loss sopra). Cambiando segno si ottiene la loss da minimizzare. Con grande il vincolo di indipendenza pesa di più e la ricostruzione peggiora: si scambia accuratezza con disaccoppiamento. Percorrere un solo asse dello spazio latente cambia un solo aspetto del dato generato (forma, dimensione, rotazione).
Cenno ai GAN
Le Generative Adversarial Networks hanno due reti: un generatore che trasforma rumore casuale in dati finti e un discriminatore addestrato a distinguere dati veri e finti. Le due si addestrano in competizione: il generatore migliora finché il discriminatore non distingue più.
Esercizi: Esercizio - Autoencoder, anomaly detection e KL del VAE.
5. Errori tipici
- Usare un codice grande quanto l'ingresso: la rete impara l'identità e non comprime.
- Addestrare l'autoencoder per anomaly detection anche su dati anomali: l'anomalia viene ricostruita bene e non si distingue.
- Campionare senza riparametrizzazione (il gradiente si ferma).
- Scambiare KL con KL (non è simmetrica) o dimenticare che vale solo per .
- Pensare che un autoencoder ordinario possa generare dati affidabili: serve lo spazio latente regolare del VAE.
Versione ripasso
- Compiti non supervisionati nel deep learning: riduzione di dimensionalità, anomaly detection, generazione di dati (Analisi delle componenti principali (PCA)Con $p>3$ variabili non si può disegnare il dataset. La PCA (analisi delle componenti principali) lo proietta su pochi assi ortogonali, le componenti principali: dopo aver centrato (e di solito standardizzato) i dati, le direzioni sono gli autovettori della matrice di covarianza $S=\frac1{n-1}X_c^TX_c$ ordinati per autovalore $\lambda_1\ge\lambda_2\ge\dots$; $\lambda_k$ è la varianza lungo la componente $k$ e $\lambda_k/\sum\lambda_j$ la frazione spiegata (scree plot). Trovare la retta che minimizza le distanze dai punti equivale a massimizzare la varianza delle proiezioni (Pitagora). È lineare e conserva la struttura globale, non quella locale; t-SNE e UMAP sono alternative non lineari solo per visualizzare. Approfondimento: non nel programma di Telecomunicazioni.Analisi delle componenti principali (PCA) →, Anomaly detectionUn'anomalia (outlier) è un'osservazione che si discosta tanto dalle altre da far pensare che sia generata da un meccanismo diverso. Rilevarle serve come pulizia dei dati (solo se sono errori o rumore, non per migliorare artificialmente le metriche), come obiettivo finale (frodi, guasti, cybersicurezza) e per il monitoraggio di un modello in produzione. Metodi semplici: box plot (oltre $1{,}5,\mathrm{IQR}$), carte di controllo univariate ($\mu\pm3\sigma$) e la statistica multivariata di Hotelling $T^2=(x-\bar x)^TS^{-1}(x-\bar x)$ con soglia $\chi^2_{p,1-\alpha}$, valida per dati gaussiani e unimodali. Metodi non supervisionati multivariati danno un anomaly score: l'isolation forest isola ogni punto con split casuali (le anomalie hanno cammini corti) e calcola $s(x,n)=2^{-E(h(x))/c(n)}$, con soglia scelta dalla contaminazione. Senza etichette si valuta con esperti, eventi noti o anomalie sintetiche. Approfondimento: non nel programma di Telecomunicazioni.Anomaly detection →, Clustering e k-meansIl clustering raggruppa osservazioni simili senza etichette, come preprocessing (un modello per ogni cluster) o come obiettivo (segmentazione clienti, organizzazione di documenti). K-means: si sceglie $K$, si inizializzano $K$ centroidi, si alterna assegnazione di ogni punto al centroide più vicino e aggiornamento di ogni centroide alla media dei suoi punti, fino a convergenza; minimizza $\mathrm{MSE}{\text{within}}=\frac1N\sum_k\sum{x_i\in C_k}|x_i-\mu_k|^2$ ma solo fino a un minimo locale, quindi dipende dall'inizializzazione. Il numero di cluster si sceglie col metodo del gomito (la dispersione cala sempre, si cerca dove rallenta) o con la gap statistic $\mathrm{Gap}(K)=E[\log W_K^{ref}]-\log W_K$ (si prende il più piccolo $K$ con $\mathrm{Gap}(K)\ge\mathrm{Gap}(K+1)-s_{K+1}$). Il clustering gerarchico agglomerativo parte da un cluster per punto e fonde i due più vicini (linkage single, complete, average, Ward) costruendo un dendrogramma; quello divisivo parte da un solo cluster. Programma di Telecomunicazioni: clustering.Clustering e k-means →). Ipotesi del manifold: i dati stanno vicino a una superficie di bassa dimensione.
- Autoencoder: rete deterministica addestrata con la backpropagation; encoder , collo di bottiglia, decoder ; loss (Prodotto scalare, norma e angoliIl prodotto scalare aggiunge a uno spazio vettoriale lunghezze e angoli: norma, disuguaglianza di Cauchy-Schwarz, angolo tra vettori in R^n, ortogonalità, proiezione su una retta, aree e volumi con il determinante della matrice dei prodotti scalari.Prodotto scalare, norma e angoli →); il bersaglio è l'ingresso. Architettura simmetrica, codice più piccolo dell'ingresso. Esempio: : parametri, compressione . Lineare PCA (stesso sottospazio delle prime componenti).
- Varianti: sparse (penalità sulle attivazioni, Regolarizzazione delle reti neuraliUna rete con tanti parametri tende a memorizzare il training set (overfitting): la loss di training scende ma quella di validazione risale. Le tecniche di regolarizzazione limitano la capacità effettiva: penalità sui pesi ($\ell_2$: $J+\lambda|W|2^2$, il passo diventa $W\leftarrow(1-2\eta\lambda)W-\eta\nabla J$; $\ell_1$: $J+\lambda|W|1$, porta pesi esattamente a zero), early stopping (si ferma l'addestramento quando la validation loss smette di scendere, con pazienza e ripristino dei pesi migliori), dropout (in training si azzera a caso una frazione $p$ delle attivazioni e si riscala per $1/(1-p)$; in inferenza è spento), batch normalization (effetto collaterale) e data augmentation. Nel lab MNIST con $\lambda=0{,}01$ la penalità $\ell_1$ è troppo forte (accuratezza di test 0,844 contro 0,9815 senza regolarizzazione), mentre dropout e early stopping non peggiorano e tengono la validation loss più bassa.Regolarizzazione delle reti neurali →); denoising (ingresso corrotto , bersaglio : la rete deve imparare la struttura); convolutivi e inpainting (Reti neurali convolutive (CNN)approfondimento: non nel programma di Telecomunicazioni. Una rete convolutiva (CNN) sostituisce gli strati densi con filtri piccoli che scorrono sull'immagine: ogni neurone vede solo una patch locale (campo recettivo) e i pesi del filtro sono condivisi in tutta l'immagine, quindi i parametri non dipendono dalla dimensione dell'immagine ($K^2C{in}C{out}+C_{out}$ per strato) e si conserva l'informazione spaziale. Dimensione dell'uscita: $\lfloor(W-K+2P)/S\rfloor+1$. Pooling (max 2x2, stride 2) sottocampiona e dà invarianza locale; i filtri 1x1 riducono i canali; struttura tipica CONV+ReLU, POOL, ..., FLATTEN, FC, SOFTMAX, addestrata con cross-entropy e backpropagation. Tre strati 3x3 hanno il campo recettivo di un 7x7 con meno parametri e più non linearità (VGG). Architetture: LeNet, AlexNet (ReLU, dropout, data augmentation), VGG, GoogLeNet (moduli Inception), ResNet (blocchi residui $H(x)=F(x)+x$), EfficientNet. Nel lab: CNN su Fashion-MNIST (241 546 parametri) e su CIFAR-10 (122 570).Reti neurali convolutive (CNN) →).
- Anomaly detection: addestrare solo su dati normali; anomalo se , con degli errori di training o un percentile (). Esempio: media , , : errori e anomali.
- VAE: lo spazio latente di un autoencoder ordinario è irregolare, non si può campionare. L'encoder restituisce di una gaussiana a covarianza diagonale (Distribuzione gaussiana (normale)N(μ, σ²) ha densità e^(−(x−μ)²/(2σ²)) / √(2πσ²), a campana centrata in μ con larghezza σ; media μ, varianza σ²; si standardizza con Z = (X − μ)/σ ~ N(0, 1) e si calcola P(X ≤ x) = Φ((x − μ)/σ), con Φ(−z) = 1 − Φ(z); aX + b è ancora gaussiana, N(aμ + b, a²σ²).Distribuzione gaussiana (normale) →, Vettori gaussianiX = (X₁, ..., Xₙ) è un vettore gaussiano N(m, Σ) se ogni combinazione lineare a·X è gaussiana (equivalentemente X = m + AZ con Z gaussiane standard indipendenti); se Σ è invertibile ha densità exp(−½(x−m)ᵀΣ⁻¹(x−m)) / √((2π)ⁿ det Σ). Proprietà chiave: AX + b ~ N(Am + b, AΣAᵀ), le marginali sono gaussiane e componenti non correlate sono indipendenti.Vettori gaussiani →); loss . , nulla solo per (Jensen, Disuguaglianze di Markov, Chebyshev e JensenMarkov: per X ≥ 0, P(X ≥ a) ≤ E[X]/a; Chebyshev: P(|X − μ| ≥ ε) ≤ Var(X)/ε²; Jensen: per φ convessa, φ(E[X]) ≤ E[φ(X)]. Stimano probabilità e medie conoscendo solo media e varianza.Disuguaglianze di Markov, Chebyshev e Jensen →).
- KL in forma chiusa: ; con e (Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →, Varianza e momentiI momenti E[X^k] e i momenti centrati E[(X − μ)^k] descrivono la forma di una legge; la varianza Var(X) = E[(X − μ)²] = E[X²] − E[X]² misura quanto X si disperde attorno alla media, vale Var(aX + b) = a² Var(X) e Var(X) = 0 solo se X è costante.Varianza e momenti →): . Esempio: , : .
- Riparametrizzazione: campionare non è derivabile rispetto a ; con porta la casualità fuori dalla rete (, ). Esempio: , , : . Generazione: nel decoder; interpolazioni fluide nello spazio latente.
- -VAE: massimizza con : rappresentazioni disaccoppiate (un'unità per fattore, per esempio colore dei capelli), ricostruzione peggiore. Con decoder gaussiano il primo termine è più una costante.
- GAN: generatore (rumore dati finti) contro discriminatore (veri o finti), addestrati in competizione.
- Errori tipici: codice grande quanto l'ingresso; dati anomali nel training; campionare senza riparametrizzazione; KL non simmetrica.