Discesa del gradiente

UniversitàInformaticaOttimizzatori a passo fisso per funzioni di perdita a due variabili con gradienti esatti

Sblocca questo laboratorio con un pass

Un pass dà accesso a tutte le simulazioni del sito, compresa la modalità Presentazione per le lezioni. I materiali didattici qui sotto restano gratuiti per tutti.

Pagamento una tantum, nessun abbonamento.

Informazioni su questo esperimento

Addestrare una rete neurale significa scendere lungo una superficie di perdita. La discesa del gradiente compie un passo in direzione opposta al gradiente, scalato in base al tasso di apprendimento. Questa semplice regola nasconde molti comportamenti: un passo troppo piccolo fa avanzare a rilento; uno troppo grande provoca oscillazioni o divergenza. Le valli strette fanno procedere a zigzag e il metodo può rimanere bloccato in un minimo locale. Scegli una superficie, fai clic su un punto iniziale e confronta la discesa del gradiente standard con il momentum e Adam, passo dopo passo, sulla mappa e sulla curva di perdita.

Obiettivi di apprendimento

  • Scrivi l’aggiornamento della discesa del gradiente e spiega il ruolo del tasso di apprendimento
  • Deriva il limite di stabilità η < 2/λ_max per una funzione di perdita quadratica e verificalo
  • Spiega perché le valli mal condizionate fanno procedere a zigzag la discesa del gradiente e in che modo aiuta il momentum
  • Descrivi come Adam ridimensiona ciascuna coordinata usando le medie mobili del gradiente
  • Riconosci la convergenza a un minimo locale anziché globale

Come si usa

  1. 1Scegli «Ciotola rotonda» con discesa del gradiente. Prova i tassi di apprendimento 0,1, 1 e 2,1. Descrivi i tre percorsi.
  2. 2Scegli «Valle stretta». Trova il tasso di apprendimento più alto per cui il metodo converge ancora e confrontalo con il limite di stabilità indicato sotto il cursore.
  3. 3Nella valle stretta, imposta η su 0,05. Conta i passaggi necessari alla discesa del gradiente per raggiungere una perdita di 1e-6, poi passa a Momentum con β = 0,9 e conta di nuovo.
  4. 4Scegli «Valle a banana» (la funzione di Rosenbrock). Confronta discesa del gradiente, Momentum e Adam dopo 300 passaggi.
  5. 5Scegli «Due minimi». Partendo dal punto iniziale predefinito, la discesa del gradiente si ferma nel bacino poco profondo a destra. Fai clic sui punti iniziali da entrambi i lati del crinale: quali raggiungono il bacino più profondo?
  6. 6Torna al punto iniziale predefinito e passa a Momentum con β = 0,9 e η = 0,1. Perché ora il percorso supera il crinale?

Il modello

Discesa del gradiente con tasso di apprendimento η
Momentum della palla pesante: la velocità tiene memoria dei gradienti passati
Adam, per coordinata, con medie corrette per il bias e β₂ = 0,999
Per una funzione quadratica con autovalori dell’Hessiana λᵢ, ogni direzione si contrae di un fattore 1 − ηλᵢ a ogni passo.

Ipotesi

  • I gradienti sono esatti. Nell’addestramento reale vengono stimati da mini-batch, il che aggiunge rumore (discesa stocastica del gradiente).
  • Le superfici di perdita sono funzioni fisse a due variabili: una conca arrotondata ½(x² + y²), una valle stretta ½(0.5x² + 5y²), la funzione di Rosenbrock (1 − x)² + 10(y − x²)² e un doppio pozzo inclinato.
  • Ogni esecuzione si interrompe dopo 300 passi con un tasso di apprendimento fisso. Non ci sono programmi di variazione del tasso di apprendimento.
  • Le esecuzioni sono deterministiche: lo stesso punto di partenza e le stesse impostazioni producono sempre lo stesso percorso.

Provalo in classe

  1. Q1Nella valle stretta, il limite stabile è determinato dalla direzione più ripida, ma il progresso è limitato da quella più dolce. Spiegalo usando i fattori 1 − ηλ.
  2. Q2Perché il momentum può convergere più velocemente anche se a ogni passo si usa lo stesso gradiente?
  3. Q3Adam compie passi di dimensione approssimativamente η, indipendentemente da quanto sia ripida la superficie. Quando è un vantaggio e quando un problema?
  4. Q4Le funzioni di perdita delle reti neurali hanno milioni di dimensioni. Secondo te, i minimi locali o i punti di sella rappresentano l’ostacolo maggiore? Perché?
  5. Q5Suggerisci un programma del tasso di apprendimento che combini progressi rapidi all’inizio con una convergenza precisa.

Domande frequenti

Perché un tasso di apprendimento troppo elevato fa aumentare la perdita?

A ogni passo si supera il fondo della valle e si atterra più in alto sulla parete opposta. In una funzione quadratica, il superamento moltiplica la distanza per |1 − ηλ| a ogni passo: un valore maggiore di uno quando η è maggiore di 2/λ.

Che effetto ha il momentum in una valle stretta?

I gradienti a zigzag che attraversano la valle puntano in direzioni opposte e si annullano nella velocità accumulata, mentre i piccoli gradienti lungo la valle puntano tutti nella stessa direzione e si sommano. Il percorso si raddrizza e accelera lungo il fondo della valle.

Adam è sempre migliore della discesa del gradiente?

No. Adam è robusto e richiede poche regolazioni, motivo per cui è molto usato per addestrare le reti. Tuttavia, nei problemi semplici e ben condizionati, la discesa del gradiente semplice o il momentum possono convergere più rapidamente o trovare soluzioni migliori.