Batch norm e layer norm
Stabilizzi le attivazioni per addestrare reti più profonde
Batch norm e layer norm è una lezione Deep Learning Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Deep Learning Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Deep Learning Academy include 4 lezioni in totale.
Perché normalizzare le attivazioni
Man mano che i segnali attraversano i layer, la loro scala varia e il training rallenta. La normalizzazione mantiene le attivazioni in un intervallo stabile e ben comportato. ⚖️
La batch norm in una riga
La batch normalization ridimensiona ogni feature usando la media e la varianza calcolate sul mini-batch corrente.
Aggiungete la batch norm
Inserite un layer di batch norm dopo un layer lineare o convoluzionale. Usate nn.BatchNorm1d per le feature dense e BatchNorm2d per le immagini.
self.bn = nn.BatchNorm1d(128)
x = torch.relu(self.bn(self.fc(x)))Scala e traslazione apprendibili
La batch norm aggiunge due parametri addestrabili, gamma e beta, così la rete può ridimensionare e traslare l’output normalizzato secondo necessità.
Permette di addestrare reti più profonde
Stabilizzando le attivazioni, la batch norm consente di usare learning rate più elevati e reti più profonde, che altrimenti sarebbero difficili da addestrare.
Statistiche di training e valutazione
Durante il training, la batch norm usa le statistiche del batch; in fase di valutazione passa alle medie mobili, quindi chiamate model.eval() prima dei test.
La dimensione del batch conta
La batch norm dipende dal batch. Con batch molto piccoli, le statistiche diventano rumorose e il vantaggio può scomparire.
Entra in scena la layer norm
La layer normalization normalizza le feature di un singolo campione, quindi non dipende affatto dal batch.
Aggiungete la layer norm
La layer norm è particolarmente efficace nei transformer e nelle RNN. Potete aggiungerla con nn.LayerNorm, passando la dimensione delle feature da normalizzare.
self.ln = nn.LayerNorm(256)
x = self.ln(x)Stesso comportamento in entrambe le modalità
Poiché la layer norm usa statistiche calcolate per campione, si comporta allo stesso modo durante il training e la valutazione, adattandosi bene a batch di dimensioni variabili.
Quale scegliere
Scegliete la batch norm nei modelli convoluzionali per la computer vision e la layer norm nei modelli sequenziali e nei transformer, dove batch e lunghezze variano.
Verifica rapida
Ricordate la differenza fondamentale tra i due tipi di normalizzazione.
Riepilogo
Avete confrontato la normalizzazione: la batch norm usa le statistiche del batch e aiuta le CNN, mentre la layer norm opera per campione ed è alla base dei transformer. 🚀
Domande Frequenti
La lezione «Batch norm e layer norm» è gratuita?
Sì — il testo completo di «Batch norm e layer norm» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Deep Learning Academy, passa a CoddyKit PRO. Il corso Deep Learning Academy include 4 lezioni in totale.
Cosa imparerò in «Batch norm e layer norm»?
Stabilizzi le attivazioni per addestrare reti più profonde Eserciti Deep Learning Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Deep Learning Academy?
Non è richiesta alcuna esperienza precedente. Deep Learning Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Batch norm e layer norm»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Deep Learning Academy?
Sì. Ogni lezione Deep Learning Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Leggere il divario tra training e validation
- Dropout: eliminare neuroni casualmente
- Batch norm e layer norm
- Data augmentation come dati gratuiti