Inleiding tot convolutionele neurale netwerken

Convolutionele neurale netwerken, ook bekend als CNN of ConvNet, behoren tot de categorie van kunstmatige neurale netwerken die worden gebruikt voor beeldverwerking en visualisatie. Kunstmatige intelligentie gebruikt diep leren om de taak uit te voeren. Neurale netwerken zijn hardware of software geprogrammeerd als neuronen in het menselijk brein. Het traditionele neurale netwerk neemt alleen beelden van verminderde resolutie als input. CNN lost dat probleem op door hun neuronen te rangschikken als de frontale kwab van menselijke hersenen. Voorbewerking op CNN is veel minder in vergelijking met andere algoritmen. Convolution, een lineaire wiskundige bewerking wordt toegepast op CNN. Het gebruikt convolutie in plaats van algemene matrixvermenigvuldiging in een van zijn lagen.

Lagen in convolutionele neurale netwerken

Hieronder zijn de lagen van convolutionele neurale netwerken:

1. Afbeeldingsinvoerlaag

De invoerlaag geeft invoer (meestal afbeeldingen) en normalisatie wordt uitgevoerd. Invoergrootte moet hier worden vermeld.

2. Convolutionele laag

Convolutie wordt in deze laag uitgevoerd en de afbeelding wordt verdeeld in perceptrons (algoritme), er worden lokale velden gemaakt die leiden tot compressie van perceptrons om kaarten te presenteren als een matrix met de grootte mx n.

3. Niet-lineariteitslaag

Hier worden functiekaarten als invoer genomen en activeringskaarten worden als uitvoer gegeven met behulp van de activeringsfunctie. De activeringsfunctie wordt in het algemeen geïmplementeerd als sigmoïde of hyperbolische tangensfuncties.

4. Rectificatielaag

Het cruciale onderdeel van CNN, deze laag doet de training sneller zonder de nauwkeurigheid te verminderen. Het voert elementgewijze absolute waardebewerking uit op activeringskaarten.

5. Gerectificeerde lineaire eenheden (ReLU)

ReLU combineert niet-lineaire en rectificatielagen op CNN. Dit doet de drempelbewerking waarbij negatieve waarden worden geconverteerd naar nul. ReLU verandert de grootte van de invoer echter niet.

6. Poollaag

De poollaag wordt ook de downsampling-laag genoemd, omdat deze verantwoordelijk is voor het verkleinen van de activeringskaarten. Een filter en pas van dezelfde lengte worden op het ingangsvolume toegepast. Minder significante gegevens worden door deze laag genegeerd, dus beeldherkenning gebeurt in een kleinere weergave. Deze laag vermindert overfitting. Omdat het aantal parameters wordt gereduceerd met behulp van de poollaag, worden de kosten ook verlaagd. De invoer is verdeeld in rechthoekige poolgebieden en maximum of gemiddelde wordt berekend, wat bijgevolg maximum of gemiddelde retourneert. Max Pooling is populair.

7. Dropout-laag

Deze laag stelt de invoerlaag willekeurig in op nul met een gegeven waarschijnlijkheid. Meer resultaten in verschillende elementen worden na deze bewerking verwijderd. Deze laag helpt ook om overfitting te verminderen. Het maakt het netwerk overbodig. Er vindt geen leren plaats in deze laag. Deze bewerking wordt alleen tijdens de training uitgevoerd.

8. Volledig verbonden laag

Activeringskaarten, die de uitvoer zijn van eerdere lagen, worden in deze laag omgezet in een klassenkansverdeling. FC-laag vermenigvuldigt de invoer met een gewichtsmatrix en voegt de voorspanningsvector toe.

9. Uitvoerlaag

FC-laag wordt gevolgd door softmax- en classificatielagen. De softmax-functie wordt op de invoer toegepast. De classificatielaag berekent de cross-entropie en verliesfunctie voor classificatieproblemen.

10. Regressielaag

Halfgemiddelde kwadraatfout wordt berekend in deze laag. Deze laag moet de FC-laag volgen.

Architectuur van convolutioneel neuraal netwerk

Hieronder staan ​​de architectuur van convolutionele neurale netwerken:

1. LeNet

LeNet werd in 1998 geïntroduceerd voor optische en tekenherkenning in documenten. Het is klein en perfect voor gebruik in de CPU. LeNet is klein en gemakkelijk te begrijpen. Dit is gebouwd met drie hoofdideeën: lokale ontvankelijke velden gedeelde gewichten en ruimtelijke subsampling. Het netwerk toont de beste interne weergave van onbewerkte afbeeldingen. Het heeft drie convolutionele lagen, twee poollagen, een volledig verbonden laag en een uitvoerlaag. Eén convolutionele laag werd onmiddellijk gevolgd door de poollaag. Alle lagen worden hierboven uitgelegd.

2. AlexNet

AlexNet werd ontwikkeld in 2012. Deze architectuur populair CNN in Computer vision. Het heeft vijf convolutionele en drie volledig verbonden lagen waar ReLU wordt toegepast na elke laag. Het heeft de voordelen van zowel de lagen als een convolutionele laag heeft weinig parameters en een lange berekening en het tegenovergestelde voor een volledig verbonden laag. Overfitting werd sterk gereduceerd door gegevensvergroting en uitval. AlexNet was dieper, groter en convolutionele lagen worden niet gescheiden door pooling in vergelijking met LeNet.

3. ZF Net

ZF Net werd ontwikkeld in 2013, een gemodificeerde versie van AlexNet. De grootte van de middelste convolutionele laag werd uitgebreid en de pas en filtergrootte van de eerste convolutionele laag werden kleiner gemaakt. Het heeft zojuist de tekortkomingen van AlexNet herkend en een superieure ontwikkeld. Alle lagen zijn hetzelfde als AlexNet. ZF Net past de laagparameters aan, zoals filtergrootte of stap van het AlexNet, waardoor de foutenpercentages worden verlaagd.

4. GoogLeNet

Deze architectuur is ontwikkeld in 2014. De startlaag is het kernconcept. Deze laag bedekt het grotere gebied maar noteert kleine informatie over de afbeelding. Om de prestaties te verbeteren, worden negen startmodules gebruikt in GoogLeNet. Omdat de startlaag vatbaar is voor overfitting, worden hier meer niet-lineariteiten en minder parameters gebruikt. Max pooling-laag wordt gebruikt om de uitvoer van de vorige laag samen te voegen. Deze architectuur heeft 22 lagen en parameters zijn 12x minder. Dit is nauwkeuriger dan AlexNet, ook sneller. Het foutenpercentage is relatief lager. De gemiddelde poollaag wordt aan het einde gebruikt in plaats van een volledig verbonden laag. Berekening wordt verminderd, diepte en breedte worden vergroot. Veel startmodules zijn verbonden om dieper in de architectuur te gaan. GoogLeNet deed het beter dan alle andere tot 2014 ontwikkelde architecturen. Voor deze architectuur zijn verschillende vervolgversies beschikbaar.

5. VGG Net

Dit was een verbetering ten opzichte van ZFNet en vervolgens ten opzichte van AlexNet. Het heeft 16 lagen met 3 × 3 convolutionele lagen, 2 × 2 pooling-lagen en volledig verbonden lagen. Deze architectuur neemt de eenvoudigste netwerkstructuur aan, maar heeft de meeste parameters.

6. ResNet

Residual Network-architectuur is ontwikkeld in 2015. Het maakt gebruik van batchnormalisatie en slaat het gebruik van FC-lagen over. Deze architectuur gebruikt 152 lagen en maakt gebruik van skip-verbindingen. ResNet wordt nu meestal in alle deep learning-algoritmen gebruikt.

Conclusie

Facebook gebruikt CNN voor het taggen van afbeeldingen, Amazon voor productaanbevelingen en Google om te zoeken tussen gebruikersfoto's. Al deze worden gedaan met grotere nauwkeurigheid en efficiëntie. De vooruitgang in diep leren bereikte een stadium waarin CNN werd ontwikkeld en op veel manieren helpt. Naarmate gecompliceerd CNN wordt, helpt het bij het verbeteren van de efficiëntie.

Aanbevolen artikel

Dit is een gids voor convolutionele neurale netwerken. Hier bespreken we de inleiding tot convolutionele neurale netwerken en de lagen ervan samen met de architectuur. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Classificatie van neuraal netwerk
  2. Machine learning versus neuraal netwerk
  3. Overzicht van neurale netwerkalgoritmen
  4. Terugkerende neurale netwerken (RNN)
  5. Implementatie van neurale netwerken
  6. Top 6 Vergelijkingen tussen CNN en RNN

Categorie: