Lezione 25Addestramento delle reti neurali 2
In questa pagina 3
Settimana: 10 · Fonte: slide del corso Machine Learning, Ingegneria dell'Automazione UniPD (lezione 25)
Argomenti trattati
- Funzioni di attivazione e regole pratiche (ReLU, mai la sigmoide nei nascosti).
- Inizializzazione dei pesi: tutti zero, piccoli numeri casuali, Xavier/Glorot (), He ().
- Batch normalization.
- Ottimizzazione: SGD con momento, Nesterov, AdaGrad, RMSProp, Adam; esperimento su con rete a tre strati da neuroni.
- Learning rate variabile: a gradini, lineare, warmup, coseno.
- Regolarizzazione: LASSO (), early stopping, dropout.
- Suggerimenti pratici per addestrare una rete: scalare i dati, ReLU, inizializzazione He, batch norm, Adam, guardare le curve, ottimizzare gli iperparametri.
Teoria
- 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 →
- 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 →
Esercizi
- Esercizio - Discesa del gradiente, momento e Adam a mano
- Esercizio - Confronto di tecniche di regolarizzazione su MNIST
Lezione precedente: Lezione 24 · Addestramento delle reti neurali 1 Lezione successiva: Lezione 26 · Reti neurali convolutive