Cursusinhoud
Essentiële Computervisie
Essentiële Computervisie
Afvlakken
Overgang van Kenmerkextractie naar Classificatie
Nadat convolutionele en pooling-lagen essentiële kenmerken uit een afbeelding hebben geëxtraheerd, is de volgende stap in een convolutioneel neuraal netwerk (CNN) classificatie. Omdat volledig verbonden lagen een eendimensionale invoer vereisen, moeten we de multidimensionale kenmerkkaarten omzetten in een formaat dat geschikt is voor classificatie.
Omzetten van Kenmerkkaarten naar een 1D-vector
Flattening is het proces waarbij de uitvoer van convolutionele en pooling-lagen wordt omgevormd tot één lange vector. Als een kenmerkkaart de afmetingen X × Y × Z
heeft, zet flattening deze om in een 1D array
met lengte X × Y × Z
.
Als bijvoorbeeld de uiteindelijke kenmerkkaart de afmetingen 7 × 7 × 64
heeft, zet flattening dit om in een (7 × 7 × 64) = 3136-dimensional
vector. Hierdoor kunnen de volledig verbonden lagen de geëxtraheerde kenmerken efficiënt verwerken.
Belang van Flattening vóór het Aanbieden aan Volledig Verbonden Lagen
Volledig verbonden lagen werken volgens een standaardstructuur van een neuraal netwerk, waarbij elke neuron is verbonden met elke neuron in de volgende laag. Zonder flattening kan het model de ruimtelijke structuur van de kenmerkkaarten niet correct interpreteren. Flattening zorgt voor:
Juiste overgang van kenmerkdetectie naar classificatie;
Naadloze integratie met volledig verbonden lagen;
Efficiënt leren door het behouden van geëxtraheerde patronen voor de uiteindelijke besluitvorming.
Door de kenmerkkaarten te flattenen, kunnen CNN's gebruikmaken van hoog-niveau kenmerken die tijdens convolutie en pooling zijn geleerd, wat een nauwkeurige classificatie van objecten binnen een afbeelding mogelijk maakt.
1. Waarom is flattening noodzakelijk in een CNN?
2. Als een feature map afmetingen 10 × 10 × 32 heeft, wat is dan de grootte van de geflatteerde output?
Bedankt voor je feedback!