Cenni a reinforcement learning e reti per sequenze
In questa pagina 3
L'ultima lezione ("What's next") ripassa la pipeline di ML (dati, modello, loss, ottimizzatore, framework) e apre tre direzioni: i modelli generativi (VAE e GAN, in 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 →), il reinforcement learning e l'apprendimento su sequenze. Sono cenni, senza esercizi.
1. Reinforcement learning
L'apprendimento supervisionato ha un «supervisore» che dà la risposta giusta per ogni esempio. In molti problemi non c'è: un'auto a guida autonoma sa percepire l'ambiente con il ML, ma deve anche pianificare e controllare le azioni, e il risultato di un'azione si vede solo dopo, a lungo termine. Negli scacchi la vera ricompensa è vincere la partita, e perdere un pezzo può essere la mossa giusta.
Definizione (reinforcement learning, RL). Area del ML e paradigma di apprendimento che si occupa di imparare a controllare un sistema (con molti elementi sconosciuti) interagendo con esso, per massimizzare una misura numerica di prestazione. I dati si raccolgono durante l'interazione con l'ambiente.
Elementi:
- agente: l'entità che deve risolvere il compito;
- stato : descrizione completa del sistema (agente e ambiente) al tempo ;
- azioni: le scelte dell'agente (che possono dipendere dallo stato);
- ambiente: ciò con cui l'agente interagisce; a ogni istante dà una ricompensa (reward) per la coppia stato-azione;
- politica : la regola con cui l'agente sceglie l'azione in ogni stato.
Esempio (dal film «Ricomincio da capo»). Phil, intrappolato in un ciclo temporale, è l'agente; le azioni sono comportarsi in vari modi (gentile, divertente...) a partire da stati diversi (al ristorante, al parco); l'ambiente è la città con i suoi abitanti; iterando raccoglie dati e impara come massimizzare la ricompensa (far innamorare Rita).
Esempi di ricompensa: per un veicolo, se segue la traiettoria, per ogni istante impiegato, forte per lo schianto; nei giochi, per vittoria/sconfitta o proporzionale al punteggio; per l'energia di un impianto HVAC (riscaldamento, ventilazione, condizionamento), per l'energia spesa e per il disagio degli utenti; nel trading, proporzionale al guadagno in euro; nella pubblicità e nei sistemi di raccomandazione, se la proposta è seguita o ignorata. Altre applicazioni: robot, droni, AlphaGo, videogiochi (Atari), sanità, chatbot (RLHF, reinforcement learning da feedback umano).
Il ritorno
L'obiettivo è la somma delle ricompense accumulate, il ritorno (return). A orizzonte finito (episodio che termina al tempo ):
A orizzonte infinito la somma potrebbe divergere: si sconta il futuro con un fattore , perché una ricompensa lontana vale meno di una vicina:
Se le ricompense sono limitate da la serie geometrica converge: (Serie di potenze e serie di TaylorLe serie di potenze sono serie di funzioni della forma $\sum a_n(x-x_0)^n$. Esse convergono assolutamente all'interno del raggio di convergenza $\rho$ e uniformemente nei compatti interni, permettendo l'integrazione e la derivazione termine a termine.Serie di potenze e serie di Taylor →). vicino a rende l'agente miope; vicino a lungimirante.
Esempio. Ricompense , , con : .
Grafico interattivo: Peso γ^k di una ricompensa ottenuta k passi nel futuro: con γ = 0,9 il futuro conta a lungo, con γ = 0,5 quasi solo l'immediato
Formula (obiettivo del RL). Si cerca la politica ottima . A differenza del ML supervisionato, dove si minimizza una loss, qui si massimizza il ritorno.
2. Apprendimento di sequenze
Molti dati sono sequenze: riconoscimento vocale, musica, classificazione del sentimento di una recensione («There is nothing to like in this movie» una stella), sequenze di DNA, traduzione automatica (francese inglese), riconoscimento di attività nei video, Named Entity Recognition (NER: riconoscere nomi propri come «Harry Potter»).
Notazione. Per l'esempio , è l'elemento di ingresso al passo e la lunghezza dell'ingresso; e per l'uscita. Per «The cat is on the table» nella NER si assegna a ogni parola che è un nome e altrimenti.
Requisiti di un modello di sequenze (con esempi):
- lunghezze variabili: «Do you like cats?» «I love cats!» oppure una risposta di tre righe;
- dipendenze a lungo termine: «Lisboa is where I grew up, but now I live in Sweden. I speak fluent ___» (la risposta dipende da una parola molto indietro);
- ordine: «The food was good, not bad at all» e «The food was bad, not good at all» hanno le stesse parole;
- parametri condivisi nel tempo: una parola imparata va riconosciuta in qualunque posizione (come i pesi condivisi dei filtri convolutivi, 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) →).
Una rete feed-forward non va bene: ingressi di dimensione fissa, nessuna condivisione dei parametri tra posizioni, nessuna memoria dell'ordine.
Reti ricorrenti (RNN)
Una rete ricorrente processa la sequenza un elemento alla volta mantenendo uno stato che riassume il passato:
con la stessa funzione (stessi pesi ) a ogni passo, lo stato precedente e l'ingresso. Lo stesso blocco gestisce quindi sequenze di qualsiasi lunghezza. Si addestra con la backpropagation «attraverso il tempo»; sulle sequenze lunghe i gradienti diventano evanescenti (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 →).
Reti convolutive temporali (TCN)
Alternativa: convoluzioni 1D sul tempo. Due ingredienti:
- causalità: la previsione al passo , , non può dipendere dai passi futuri;
- convoluzione dilatata: il filtro guarda campioni a distanza l'uno dall'altro, per ottenere un campo recettivo ampio con pochi strati.
Esempio. Filtro di dimensione e dilatazioni in tre strati: ogni strato allarga il campo recettivo di , per un totale passi di passato con soli tre strati (senza dilatazione, con servirebbero sette strati per lo stesso campo, ).
3. Conclusione del corso
Molte tecnologie quotidiane si basano sul ML; restano ancora molte cose da costruire, in particolare IA «su misura» che sfrutta dati disponibili a una sola azienda (finanziari, vendite, clienti, marketing, operazioni, fornitori, risorse umane).
Versione ripasso
- RL: un agente in uno stato sceglie azioni; l'ambiente dà ricompense ; i dati si raccolgono interagendo. Si massimizza il ritorno (non si minimizza una loss), cercando la politica . Serve quando non c'è un supervisore e gli effetti sono a lungo termine (scacchi, guida autonoma, HVAC, trading, raccomandazioni, RLHF).
- Ritorno: (orizzonte finito); scontato , , limitato da (serie geometrica, Serie di potenze e serie di TaylorLe serie di potenze sono serie di funzioni della forma $\sum a_n(x-x_0)^n$. Esse convergono assolutamente all'interno del raggio di convergenza $\rho$ e uniformemente nei compatti interni, permettendo l'integrazione e la derivazione termine a termine.Serie di potenze e serie di Taylor →). Esempio: con : . piccolo = miope.
- Sequenze: voce, musica, sentimento, DNA, traduzione, video, NER. Requisiti: lunghezze variabili, dipendenze a lungo termine, ordine («good, not bad» «bad, not good»), parametri condivisi nel tempo (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) →). Notazione , .
- RNN: con gli stessi pesi a ogni passo; gradiente evanescente sulle sequenze lunghe (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 →).
- TCN: convoluzioni causali (nessun accesso al futuro) e dilatate; campo recettivo . Esempio: , : con tre strati.
- Generazione: VAE e GAN in 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 →.