Deep Learning Academy · leksjon

Stride, padding og pooling

Kontroller utdataenes størrelse og nedskaler

Leksjon 2 av 413 trinn

Stride, padding og pooling er en gratis leksjon i Deep Learning Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Deep Learning Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Deep Learning Academy inneholder totalt 4 leksjoner.

Resultatet blir som standard mindre

Når en 3x3-kjerne glir over et bilde, har den ikke plass ved kantene. Derfor blir utgangens funksjonskart litt mindre enn inndataene.

Utfylling legger til en kant

Utfylling legger en ring med nuller rundt bildet, slik at kjernen kan nå hjørnene. Da kan resultatet beholde samme størrelse som inndataene.

Same-padding i kode

For en 3x3-kjerne holder utfylling på 1 den romlige størrelsen uendret. Dette kalles same-padding.

conv = nn.Conv2d(3, 16, kernel_size=3, padding=1)

Stride bestemmer steglengden

Stride er hvor langt kjernen hopper for hver bevegelse. En stride på 1 besøker hver posisjon, mens en større stride hopper lenger frem.

Stride 2 halverer kartet

Med stride 2 hopper kjernen to piksler om gangen, så resultatet blir omtrent halvparten så bredt og høyt. Det er en rimelig måte å nedskalere på. ⬇️

Stride og utfylling sammen

Kombiner dem for å kontrollere den nøyaktige størrelsen på resultatet. Her nedskalerer stride 2 med utfylling 1, samtidig som hjørnene dekkes.

conv = nn.Conv2d(16, 32, 3, stride=2, padding=1)

Hvorfor nedskalere i det hele tatt?

Ved å gjøre kartene mindre reduseres beregningene, og senere lag kan se et bredere område av originalbildet med hver kjerne.

Pooling: En annen måte å gjøre det mindre på

Pooling nedskalerer også, men uten lærte vekter. Den oppsummerer bare hvert lille område til én enkelt verdi.

Maks-pooling beholder det sterkeste

Maks-pooling tar den største verdien i hvert 2x2-område. Den beholder det sterkeste signalet og forkaster resten uten videre.

pool = nn.MaxPool2d(kernel_size=2)

Gjennomsnittspooling jevner ut

Gjennomsnittspooling tar gjennomsnittet av hvert område i stedet for maksimumsverdien, og gir en jevnere og mykere oppsummering av området.

pool = nn.AvgPool2d(kernel_size=2)

Pooling gir litt invarians

Fordi pooling oppsummerer et område, endrer en liten forskyvning i inndataene resultatet svært lite. Dette gir en viss translasjonsinvarians.

Hurtigsjekk

La oss teste hva utfylling faktisk gjør i en konvolusjon.

Oppsummering: Kontroller formen

De lærte at utfylling bevarer størrelsen, stride bestemmer steget og nedskalerer, mens pooling gjør kartene mindre og gir litt toleranse for forskyvninger. 🎯

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Stride, padding og pooling» gratis?

Ja – hele teksten i «Stride, padding og pooling» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Deep Learning Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Deep Learning Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Stride, padding og pooling»?

Kontroller utdataenes størrelse og nedskaler Du øver på Deep Learning Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Deep Learning Academy?

Ingen tidligere erfaring er nødvendig. Deep Learning Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Stride, padding og pooling»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Deep Learning Academy-leksjonen?

Ja. Alle Deep Learning Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Konvolusjon: Kjerner glir over piksler
  2. Stride, padding og pooling
  3. Kanaler, egenskapskart og reseptive felt
  4. Sett sammen en CNN-bildeklassifikator
← Tilbake til Deep Learning Academy