Kursinnehåll
Grundläggande Datorseende
Grundläggande Datorseende
Utplattning
Övergång från funktionsutvinning till klassificering
Efter att konvolutions- och poolningslager har extraherat viktiga egenskaper från en bild, är nästa steg i ett konvolutionellt neuralt nätverk (CNN) klassificering. Eftersom fullt anslutna lager kräver en endimensionell inmatning, måste vi konvertera de flerdimensionella funktionskartorna till ett format som är lämpligt för klassificering.
Omvandling av funktionskartor till en 1D-vektor
Flattening är processen att omforma utdata från konvolutions- och poolningslager till en enda lång vektor. Om en funktionskarta har dimensionerna X × Y × Z
, omvandlar flattening den till en 1D array
med längden X × Y × Z
.
Till exempel, om den slutliga funktionskartan har dimensionerna 7 × 7 × 64
, omvandlar flattening den till en (7 × 7 × 64) = 3136-dimensional
vektor. Detta gör att de fullt anslutna lagren kan bearbeta de extraherade egenskaperna effektivt.
Betydelsen av flattening innan inmatning till fullt anslutna lager
Fullt anslutna lager arbetar enligt en standardstruktur för neurala nätverk, där varje neuron är kopplad till varje neuron i nästa lager. Utan flattening kan modellen inte tolka den rumsliga strukturen hos funktionskartorna korrekt. Flattening säkerställer:
Korrekt övergång från funktionsdetektion till klassificering;
Sömlös integration med fullt anslutna lager;
Effektiv inlärning genom att bevara extraherade mönster för slutgiltigt beslutsfattande.
Genom att flattena funktionskartorna kan CNN dra nytta av högre nivåers egenskaper som lärts in under konvolution och poolning, vilket möjliggör noggrann klassificering av objekt i en bild.
1. Varför är flattening nödvändigt i ett CNN?
2. Om en feature map har dimensionerna 10 × 10 × 32, vad blir storleken på den flattenade utmatningen?
Tack för dina kommentarer!