Batchnorm en layernorm
Stabiliseer activaties om dieper te kunnen trainen.
Batchnorm en layernorm is een gratis Deep Learning Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Deep Learning Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Deep Learning Academy bevat in totaal 4 lessen.
Waarom activaties normaliseren
Terwijl signalen door lagen stromen, verandert hun schaal en vertraagt het trainen. Normalisatie houdt activaties binnen een stabiel, voorspelbaar bereik. ⚖️
Batchnormalisatie in één regel
Batchnormalisatie schaalt elke eigenschap opnieuw met behulp van het gemiddelde en de variantie die over de huidige minibatch zijn berekend.
Batchnormalisatie toevoegen
Je voegt een batchnormalisatielaag toe na een lineaire of convolutionele laag. Gebruik nn.BatchNorm1d voor dichte kenmerken en BatchNorm2d voor afbeeldingen.
self.bn = nn.BatchNorm1d(128)
x = torch.relu(self.bn(self.fc(x)))Aanpasbare schaal en verschuiving
Batchnormalisatie voegt twee trainbare parameters toe, gamma en beta, zodat het netwerk de genormaliseerde uitvoer naar behoefte opnieuw kan schalen en verschuiven.
Zo kun je dieper trainen
Doordat batchnormalisatie activaties stabiliseert, kun je hogere leersnelheden gebruiken en diepere netwerken trainen die anders moeilijk te trainen zouden zijn.
Statistieken voor trainen en evalueren
Tijdens het trainen gebruikt batchnormalisatie batchstatistieken; tijdens de evaluatie schakelt het over op voortschrijdende gemiddelden. Roep daarom model.eval() aan voordat je gaat toetsen.
Batchgrootte is belangrijk
Batchnormalisatie is afhankelijk van de batch. Bij zeer kleine batches worden de statistieken onbetrouwbaar en kan het voordeel verdwijnen.
Maak kennis met laagnormalisatie
Laagnormalisatie normaliseert over de kenmerken van één voorbeeld, en is daardoor helemaal niet afhankelijk van de batch.
Laagnormalisatie toevoegen
Laagnormalisatie komt goed tot zijn recht in transformers en RNN's. Je voegt het toe met nn.LayerNorm en geeft de grootte van de te normaliseren kenmerken mee.
self.ln = nn.LayerNorm(256)
x = self.ln(x)Hetzelfde gedrag in beide modi
Omdat laagnormalisatie statistieken per voorbeeld gebruikt, gedraagt ze zich tijdens het trainen en evalueren hetzelfde. Dat is geschikt voor variabele batchgroottes.
Welke kies je
Kies batchnormalisatie in convolutionele visiemodellen en laagnormalisatie in sequentie- en transformermodellen, waar batches en lengtes variëren.
Korte controle
Haal het belangrijkste verschil tussen de twee normalisatiestijlen terug.
Samenvatting
Je hebt normalisatie vergeleken: batchnormalisatie gebruikt batchstatistieken en helpt CNN's, terwijl laagnormalisatie per voorbeeld werkt en transformers ondersteunt. 🚀
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Batchnorm en layernorm” gratis?
Ja — de volledige tekst van “Batchnorm en layernorm” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Deep Learning Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Deep Learning Academy bevat in totaal 4 lessen.
Wat leer ik in “Batchnorm en layernorm”?
Stabiliseer activaties om dieper te kunnen trainen. Je oefent met Deep Learning Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Deep Learning Academy te beginnen?
Ervaring vooraf is niet nodig. Deep Learning Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Batchnorm en layernorm”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Deep Learning Academy?
Ja. Elke les over Deep Learning Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- De train/val-kloof lezen
- Dropout: neuronen willekeurig uitschakelen
- Batchnorm en layernorm
- Data-augmentatie als gratis data