Stride, padding och pooling
Styr utdatas storlek och sampla ned
Stride, padding och pooling är en gratis lektion i Deep Learning Academy på CoddyKit. Detta är lektion 2 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.
Utdata blir mindre som standard
När en 3x3-kärna glider över en bild finns det inget utrymme vid kanterna. Därför blir feature map i utdatan lite mindre än indata.
Padding lägger till en kant
Padding omger bilden med en ring av nollor så att kärnan kan nå hörnen. Då kan utdatan behålla samma storlek som indata.
Same padding i kod
För en 3x3-kärna behåller padding på 1 den spatiala storleken. Detta kallas same-padding.
conv = nn.Conv2d(3, 16, kernel_size=3, padding=1)Stride bestämmer steglängden
Stride anger hur långt kärnan hoppar vid varje förflyttning. Med stride 1 besöks varje position, medan en större stride hoppar över positioner.
Stride 2 halverar kartan
Med stride 2 hoppar kärnan två pixlar åt gången, så utdatan blir ungefär hälften så bred och hög. Det är ett billigt sätt att sampla ned. ⬇️
Stride och padding tillsammans
Kombinera dem för att styra den exakta storleken på utdatan. Här samplar stride 2 med padding 1 ned samtidigt som hörnen täcks.
conv = nn.Conv2d(16, 32, 3, stride=2, padding=1)Varför sampla ned över huvud taget?
Om du förminskar kartorna minskar beräkningarna, och senare lager kan se ett större område av originalbilden med varje kärna.
Pooling: ännu ett sätt att förminska
Pooling samplar också ned, men utan inlärda vikter. Den sammanfattar helt enkelt varje litet område till ett enda värde.
Max pooling behåller det starkaste
Max pooling tar det största värdet i varje 2x2-område. Den behåller den starkaste signalen och tar tyst bort resten.
pool = nn.MaxPool2d(kernel_size=2)Average pooling jämnar ut
Average pooling tar medelvärdet av varje område i stället för det största värdet, vilket ger en jämnare och mjukare sammanfattning av området.
pool = nn.AvgPool2d(kernel_size=2)Pooling ger viss invarians
Eftersom pooling sammanfattar ett område påverkar en liten förskjutning av indata knappt utdatan. Det ger en viss translationsinvarians.
Snabb kontroll
Låt oss testa vad padding faktiskt gör i en konvolution.
Sammanfattning: Kontrollera formen
Du har lärt dig att padding bevarar storleken, att stride bestämmer steget och samplar ned, och att pooling förminskar kartor samtidigt som den ger viss tolerans mot förskjutningar. 🎯
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 ”Stride, padding och pooling” gratis?
Ja – hela texten till ”Stride, padding och pooling” 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 ”Stride, padding och pooling”?
Styr utdatas storlek och sampla ned 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 2 av 4.
Hur lång tid tar lektionen ”Stride, padding och pooling”?
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
- Konvolution: kärnor glider över pixlar
- Stride, padding och pooling
- Kanaler, feature maps och receptiva fält
- Sätt ihop en CNN-bildklassificerare