Batch Norm och Layer Norm
Stabilisera aktiveringar för att kunna träna djupare
Batch Norm och Layer Norm är en gratis lektion i Deep Learning Academy på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Deep Learning Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Deep Learning Academy innehåller totalt 4 lektioner.
Varför aktiveringar normaliseras
När signaler flödar genom lagren förändras deras skala och träningen blir långsammare. Normalisering håller aktiveringarna inom ett stabilt och välkontrollerat intervall. ⚖️
Batchnormalisering på en rad
Batchnormalisering skalar om varje egenskap med hjälp av medelvärdet och variansen som beräknas över den aktuella minibatchen.
Lägg till batchnormalisering
Du lägger till ett batchnormaliseringslager efter ett linjärt lager eller ett konvolutionslager. Använd nn.BatchNorm1d för täta egenskaper och BatchNorm2d för bilder.
self.bn = nn.BatchNorm1d(128)
x = torch.relu(self.bn(self.fc(x)))Lärbar skalning och förskjutning
Batchnormalisering lägger till två träningsbara parametrar, gamma och beta, så att nätverket kan skala om och förskjuta den normaliserade utdatan efter behov.
Det gör att du kan träna djupare
Genom att stabilisera aktiveringarna gör batchnormalisering det möjligt att använda högre inlärningshastigheter och djupare nätverk som annars skulle vara svåra att träna.
Statistik vid träning och utvärdering
Under träningen använder batchnormalisering batchens statistik. Vid utvärdering växlar den till löpande medelvärden, så anropa model.eval() innan du testar.
Batchstorleken spelar roll
Batchnormalisering är beroende av batchen. Med mycket små batcher blir statistiken brusig och fördelen kan försvinna.
Nu introducerar vi lagernormalisering
Lagernormalisering normaliserar över egenskaperna i ett enskilt exempel, så den är inte alls beroende av batchen.
Lägg till lagernormalisering
Lagernormalisering passar särskilt bra i transformers och RNN:er. Du lägger till den med nn.LayerNorm och anger storleken på de egenskaper som ska normaliseras.
self.ln = nn.LayerNorm(256)
x = self.ln(x)Samma beteende i båda lägena
Eftersom lagernormalisering använder statistik per exempel fungerar den likadant under träning och utvärdering, vilket passar varierande batchstorlekar.
Vilken ska du välja?
Välj batchnormalisering i konvolutionella bildmodeller och lagernormalisering i sekvens- och transformermodeller, där batcher och längder varierar.
Snabb kontroll
Kom ihåg den viktigaste skillnaden mellan de två normaliseringsmetoderna.
Sammanfattning
Du har jämfört normalisering: batchnormalisering använder batchstatistik och hjälper CNN:er, medan lagernormalisering arbetar per exempel och är viktig för transformers. 🚀
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Batch Norm och Layer Norm” gratis?
Ja – hela texten till ”Batch Norm och Layer Norm” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Deep Learning Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Deep Learning Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Batch Norm och Layer Norm”?
Stabilisera aktiveringar för att kunna träna djupare Ni övar på Deep Learning Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Deep Learning Academy?
Du behöver inga förkunskaper. Utbildningen i Deep Learning Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Batch Norm och Layer Norm”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Deep Learning Academy-lektionen?
Ja. Varje Deep Learning Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Tolka gapet mellan träning och validering
- Dropout: släpp neuroner slumpmässigt
- Batch Norm och Layer Norm
- Dataaugmentering som gratis data