Salta al contenuto
Note per Studenti Esercizio - Architetture di reti neurali e proprietà (esempio d'esame 1)

Esercizio - Architetture di reti neurali e proprietà (esempio d'esame 1)

Teoria: Deep learning - reti profonde, CNN e addestramento con KerasQuadro del deep learning nel corso di IA. Un neurone calcola la somma pesata degli ingressi e applica una funzione di attivazione non lineare (soglia, sigmoide, ReLU, tanh); un perceptron a soglia realizza AND, OR e NOT ma non lo XOR (non linearmente separabile), che richiede 3 neuroni su due livelli; due livelli bastano per approssimare ogni funzione continua. Uscite: lineare per la regressione, sigmoide per due classi, softmax per più classi, con perdita di entropia incrociata. Addestramento con SGD a minibatch e backpropagation (passaggio in avanti e all'indietro, gradienti che si moltiplicano: svaniscono con sigmoide e tanh). CNN: kernel appreso, stride, padding, uscita (n+2p-k)/s+1, pooling; tensori; transfer learning e dropout. RNN con stato nascosto z_t=f(z_{t-1},x_t) e BPTT, LSTM con porte, autoencoder, VAE, GAN, modelli linguistici e trasformatori con attenzione. Pipeline Keras del laboratorio 11: Sequential, Conv2D, MaxPooling2D, Flatten, Dense, compile (Adam, perdita), fit, evaluate, predict, save.Deep learning - reti profonde, CNN e addestramento con Keras → (sezioni 1, 4, 5, 6), Autoencoderapprofondimento: non nel programma di Telecomunicazioni. Un autoencoder è una rete non supervisionata che impara a ricostruire il proprio ingresso passando per un collo di bottiglia: encoder $z=e(x)$ (dimensione bassa), decoder $\hat x=d(z)$, loss $|x-d(e(x))|^2$. Con attivazioni lineari equivale alla PCA; con non linearità impara rappresentazioni latenti più ricche (ipotesi del manifold). Varianti: sparse (penalità $\ell_1$ sulle attivazioni), denoising (ingresso corrotto, bersaglio pulito), convolutivi (inpainting). Anomaly detection: si addestra su dati normali e si segnala come anomalo ciò che ha errore di ricostruzione sopra una soglia. VAE: l'encoder produce media e deviazione standard di una gaussiana, il campione si ottiene con il trucco di riparametrizzazione $z=\mu+\sigma\odot\zeta$, $\zeta\sim\mathcal N(0,I)$, e la loss è errore di ricostruzione più KL verso $\mathcal N(0,I)$, con $KL=\frac12\sum(\mu^2+\sigma^2-1-\ln\sigma^2)$; il $\beta$-VAE pesa il KL con $\beta>1$ per rappresentazioni disaccoppiate. Cenno ai GAN.Autoencoder → e 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) →. Domanda 4 del quiz da 9 CFU e domanda 3 di quello da 6 CFU: stesse sei architetture e stesse sei proprietà, in ordine diverso (domanda di associazione).

Testo. Associare ad ognuna delle seguenti architetture di reti neurali la corretta proprietà. Architetture: Recurrent Neural Network (RNN), Multilayer Feedforward Network, Convolutional Neural Network (CNN), Variational Autoencoder (VAE), Generative Adversarial Network (GAN), Autoencoder (AE). Menu a tendina, sei proprietà:

  1. Utilizza un pattern di pesi, chiamato "kernel", applicato su regioni multiple del tensore di input.
  2. Contiene uno o più "hidden" layers attraverso cui l'informazione passa da input ad output senza alcun ciclo.
  3. Mantiene al suo interno (latent space) rappresentazioni dell'input nella forma di distribuzioni di probabilità.
  4. È in grado di mantenere internamente una "memoria" del suo stato interno.
  5. Un esempio di unsupervised network che nella sua forma più semplice include un "embedding" di tipo lineare.
  6. Include due blocchi principali, un "generator" ed un "discriminator".

Soluzione

Architettura Proprietà Perché
CNN 1 il kernel (pesi condivisi) scorre sull'ingresso e si applica su regioni diverse del tensore
Multilayer feedforward 2 grafo diretto aciclico: i collegamenti vanno in una sola direzione, senza cicli
VAE 3 codifica xx in una distribuzione P(z∣x)P(z\mid x) nello spazio latente, non in un punto
RNN 4 ha cicli con ritardo e uno stato interno zt=f(zt−1,xt)z_t=f(z_{t-1},x_t), cioè una memoria
Autoencoder 5 non supervisionato (l'obiettivo è ricostruire xx); con encoder e decoder lineari è equivalente alla PCA
GAN 6 il generatore produce campioni falsi, il discriminatore li distingue dai veri

Perché le associazioni sbagliate non vanno

  • VAE contro AE (3 e 5). Entrambi hanno encoder, decoder e spazio latente, ma solo il VAE rappresenta l'ingresso come distribuzione, e solo lui permette di generare dati nuovi campionando in modo casuale lo spazio latente. L'AE deterministico mappa un punto in un punto. La proprietà 5 ("embedding lineare nella forma più semplice") è quella dell'AE.
  • RNN contro feedforward (2 e 4). Anche la RNN ha livelli nascosti, ma con cicli; la 2 specifica "senza alcun ciclo".
  • GAN e VAE: sono entrambi modelli generativi, ma solo la GAN ha due reti avversarie; il VAE ha un solo blocco encoder-decoder.
  • CNN e feedforward: anche la CNN è feedforward, ma la proprietà specifica 1 (kernel su regioni multiple) è sua; la 2 descrive la rete generica.

Versione ripasso

Teoria: Deep learning - reti profonde, CNN e addestramento con KerasQuadro del deep learning nel corso di IA. Un neurone calcola la somma pesata degli ingressi e applica una funzione di attivazione non lineare (soglia, sigmoide, ReLU, tanh); un perceptron a soglia realizza AND, OR e NOT ma non lo XOR (non linearmente separabile), che richiede 3 neuroni su due livelli; due livelli bastano per approssimare ogni funzione continua. Uscite: lineare per la regressione, sigmoide per due classi, softmax per più classi, con perdita di entropia incrociata. Addestramento con SGD a minibatch e backpropagation (passaggio in avanti e all'indietro, gradienti che si moltiplicano: svaniscono con sigmoide e tanh). CNN: kernel appreso, stride, padding, uscita (n+2p-k)/s+1, pooling; tensori; transfer learning e dropout. RNN con stato nascosto z_t=f(z_{t-1},x_t) e BPTT, LSTM con porte, autoencoder, VAE, GAN, modelli linguistici e trasformatori con attenzione. Pipeline Keras del laboratorio 11: Sequential, Conv2D, MaxPooling2D, Flatten, Dense, compile (Adam, perdita), fit, evaluate, predict, save.Deep learning - reti profonde, CNN e addestramento con Keras →, Autoencoderapprofondimento: non nel programma di Telecomunicazioni. Un autoencoder è una rete non supervisionata che impara a ricostruire il proprio ingresso passando per un collo di bottiglia: encoder $z=e(x)$ (dimensione bassa), decoder $\hat x=d(z)$, loss $|x-d(e(x))|^2$. Con attivazioni lineari equivale alla PCA; con non linearità impara rappresentazioni latenti più ricche (ipotesi del manifold). Varianti: sparse (penalità $\ell_1$ sulle attivazioni), denoising (ingresso corrotto, bersaglio pulito), convolutivi (inpainting). Anomaly detection: si addestra su dati normali e si segnala come anomalo ciò che ha errore di ricostruzione sopra una soglia. VAE: l'encoder produce media e deviazione standard di una gaussiana, il campione si ottiene con il trucco di riparametrizzazione $z=\mu+\sigma\odot\zeta$, $\zeta\sim\mathcal N(0,I)$, e la loss è errore di ricostruzione più KL verso $\mathcal N(0,I)$, con $KL=\frac12\sum(\mu^2+\sigma^2-1-\ln\sigma^2)$; il $\beta$-VAE pesa il KL con $\beta>1$ per rappresentazioni disaccoppiate. Cenno ai GAN.Autoencoder →.

  • CNN: kernel applicato su regioni multiple del tensore.
  • Feedforward: livelli nascosti, grafo senza cicli.
  • VAE: latent space come distribuzioni P(z∣x)P(z\mid x), genera dati nuovi.
  • RNN: cicli, stato interno zt=f(zt−1,xt)z_t=f(z_{t-1},x_t), memoria.
  • Autoencoder: non supervisionato, embedding lineare nella forma più semplice (come la PCA).
  • GAN: generator e discriminator.

Errori tipici: scambiare VAE e AE (la distribuzione è del VAE); dare "senza cicli" alla RNN.

Teoria collegata