Kursinnhold
Grunnleggende Datamaskinsyn
Grunnleggende Datamaskinsyn
Konvolusjonslag
Forståelse av konvolusjonslag
Konvolusjonslag utgjør kjernen i konvolusjonelle nevrale nettverk (CNN-er). De utfører konvolusjon, der en liten matrise kalt et filter (eller kjerne) beveger seg over et bilde for å oppdage kanter, teksturer og former. Dette gjør at CNN-er kan behandle bilder mer effektivt enn tradisjonelle nettverk.
I stedet for å analysere hele bildet samtidig, deler CNN-er det opp i mindre seksjoner og oppdager egenskaper på ulike nivåer. Tidlige lag gjenkjenner enkle mønstre som kanter, mens dypere lag oppdager komplekse strukturer.
Hvordan konvolusjon fungerer
Konvolusjon innebærer at et filter (kjerne) beveger seg over et bilde, og følger disse trinnene:
Plasser kjernen øverst til venstre i bildet.
Utfør elementvis multiplikasjon mellom kjernen og pikselverdiene.
Summer produktene for å generere en utgangspiksel.
Flytt kjernen i henhold til steget og gjenta.
Generer et egenskapskart som fremhever oppdagede mønstre.
Flere filtre gjør at CNN-er kan fange opp ulike egenskaper, som vertikale kanter, kurver og teksturer.
Filtre (Kjerner):
Filtre spiller en avgjørende rolle i å trekke ut meningsfulle mønstre fra bilder. Ulike typer filtre er spesialisert på å identifisere ulike trekk:
Kantdeteksjonsfiltre: identifiserer objektgrenser ved å oppdage brå endringer i intensitet (f.eks. Sobel-, Prewitt- og Laplacian-filtre);
Teksturfiltre: fanger opp repeterende mønstre som bølger eller rutenett (f.eks. Gabor-filtre);
Skarphetsfiltre: forsterker bildedetaljer ved å forsterke høyfrekvente komponenter;
Uskarphetsfiltre: reduserer støy og glatter ut bilder (f.eks. Gaussisk uskarphetsfilter);
Pregningsfiltre: fremhever kanter og gir en 3D-effekt ved å understreke dybde.
Hvert filter trenes til å oppdage spesifikke mønstre og bidrar til å bygge hierarkiske representasjoner av trekk i dype CNN-er.
Konvolusjonslag gjenbruker samme filter over et bilde, noe som reduserer antall parametere og gjør CNN-er effektive. Spesialiserte lokalt tilkoblede lag bruker derimot forskjellige filtre for ulike regioner når det er nødvendig.
Ved å stable konvolusjonslag kan CNN-er trekke ut detaljerte mønstre, noe som gjør dem kraftige for bildeklassifisering, objektdeteksjon og synsoppgaver.
Hyperparametere:
Steglengde (stride): styrer hvor langt filteret flyttes per steg;
Utfylling (padding): legger til piksler for å kontrollere utgangsstørrelsen (samme utfylling bevarer størrelsen, gyldig utfylling reduserer den);
Antall filtre (dybde): flere filtre forbedrer trekkdeteksjon, men øker beregningsmengden.
Før neste kapittel må du huske:
Selv om konvolusjonslag kan redusere utdataens størrelse, er deres primære formål funksjonsekstraksjon, ikke dimensjonsreduksjon. Pooling-lag derimot, reduserer eksplisitt dimensjonalitet samtidig som viktig informasjon beholdes, noe som sikrer effektivitet i dypere lag.
1. Hva er hovedrollen til et konvolusjonslag i et CNN?
2. Hvilken hyperparameter bestemmer hvor langt et filter beveger seg under konvolusjon?
3. Hva er formålet med å bruke flere filtre i et konvolusjonslag?
Takk for tilbakemeldingene dine!