Salta al contenuto
Note per Studenti Cenni a reinforcement learning e reti per sequenze

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 StS_t: descrizione completa del sistema (agente e ambiente) al tempo tt;
  • azioni: le scelte dell'agente (che possono dipendere dallo stato);
  • ambiente: ciò con cui l'agente interagisce; a ogni istante dà una ricompensa (reward) Rt+1R_{t+1} per la coppia stato-azione;
  • politica π\pi: 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, ±\pm 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, ±\pm 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 TT):

Gt=Rt+1+Rt+2+⋯+RT.G_t=R_{t+1}+R_{t+2}+\dots+R_T.

A orizzonte infinito la somma potrebbe divergere: si sconta il futuro con un fattore γ∈[0,1)\gamma\in[0,1), perché una ricompensa lontana vale meno di una vicina:

Gt=Rt+1+γRt+2+γ2Rt+3+⋯=∑k=0∞γkRt+k+1.G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\dots=\sum_{k=0}^{\infty}\gamma^kR_{t+k+1}.

Se le ricompense sono limitate da RmaxR_{max} la serie geometrica converge: Gt≤Rmax∑kγk=Rmax1−γG_t\le R_{max}\sum_k\gamma^k=\frac{R_{max}}{1-\gamma} (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 →). γ\gamma vicino a 00 rende l'agente miope; vicino a 11 lungimirante.

Esempio. Ricompense Rt+1=1R_{t+1}=1, Rt+2=0R_{t+2}=0, Rt+3=2R_{t+3}=2 con γ=0,9\gamma=0{,}9: Gt=1+0,9⋅0+0,81⋅2=2,62G_t=1+0{,}9\cdot0+0{,}81\cdot2=2{,}62.

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 π∗=arg⁡max⁡π E[G]\pi^*=\arg\max_\pi\,E[G]. 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» →\to una stella), sequenze di DNA, traduzione automatica (francese →\to inglese), riconoscimento di attività nei video, Named Entity Recognition (NER: riconoscere nomi propri come «Harry Potter»).

Notazione. Per l'esempio ii, x(i)<t>x^{(i)<t>} è l'elemento di ingresso al passo tt e Tx(i)T_x^{(i)} la lunghezza dell'ingresso; y(i)<t>y^{(i)<t>} e Ty(i)T_y^{(i)} per l'uscita. Per «The cat is on the table» nella NER si assegna y<t>=1y^{<t>}=1 a ogni parola che è un nome e 00 altrimenti.

Requisiti di un modello di sequenze (con esempi):

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 hth_t che riassume il passato:

ht=fW(ht−1,xt),h_t=f_W(h_{t-1},x_t),

con fWf_W la stessa funzione (stessi pesi WW) a ogni passo, ht−1h_{t-1} lo stato precedente e xtx_t 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 tt, P(xt+1∣x1,…,xt)P(x_{t+1}\mid x_1,\dots,x_t), non può dipendere dai passi futuri;
  • convoluzione dilatata: il filtro guarda campioni a distanza dd l'uno dall'altro, per ottenere un campo recettivo ampio con pochi strati.

Esempio. Filtro di dimensione k=3k=3 e dilatazioni d=1,2,4d=1,2,4 in tre strati: ogni strato ℓ\ell allarga il campo recettivo di (k−1)dℓ(k-1)d_\ell, per un totale 1+(3−1)(1+2+4)=151+(3-1)(1+2+4)=15 passi di passato con soli tre strati (senza dilatazione, con k=3k=3 servirebbero sette strati per lo stesso campo, 1+2⋅7=151+2\cdot7=15).

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

Lezioni in cui compare