In dit bericht zal ik veelgebruikte architecturen voor convolutionele netwerken bespreken. Zoals u zult zien, volgen bijna alle CNN-architecturen dezelfde algemene ontwerpprincipes van het achtereenvolgens toepassen van convolutionele lagen op de invoer, periodiek downsampling van de ruimtelijke dimensies terwijl het verhogen van het aantal feature maps.,

terwijl de klassieke netwerkarchitecturen gewoon bestonden uit gestapelde convolutielagen, verkennen moderne architecturen nieuwe en innovatieve manieren om convolutielagen te construeren op een manier die efficiënter leren mogelijk maakt. Bijna al deze architecturen zijn gebaseerd op een herhaalbare eenheid die in het hele netwerk wordt gebruikt.

deze architecturen dienen als algemene ontwerprichtlijnen die machine learning beoefenaars vervolgens zullen aanpassen om verschillende computer vision taken op te lossen., Deze architecturen dienen als rijke feature extractors die kunnen worden gebruikt voor beeldclassificatie, objectdetectie, beeldsegmentatie en vele andere meer geavanceerde taken.

Klassieke netwerk architecturen (meegeleverd voor historische doeleinden)

  • LeNet-5
  • AlexNet
  • VGG 16

Moderne netwerk architecturen

  • Begin
  • ResNet
  • ResNeXt
  • DenseNet

LeNet-5

Yann Lecun de LeNet-5 model werd in 1998 ontwikkeld voor het identificeren handgeschreven cijfers voor zip-code erkenning van de postdiensten., Dit baanbrekende model introduceerde grotendeels het convolutionele neurale netwerk zoals we het vandaag de dag kennen.

architectuur

convolutionele lagen gebruiken een subset van de kanalen van de vorige laag voor elk filter om berekening te verminderen en een breuk van symmetrie in het netwerk te forceren. De subsampling lagen gebruiken een vorm van gemiddelde pooling.

Parameters: 60.000

papier: Gradiëntgebaseerd leren toegepast op Documentherkenning

AlexNet

AlexNet werd ontwikkeld door Alex Krizhevsky et al. in 2012 om deel te nemen aan de ImageNet competitie., De algemene architectuur is vrij vergelijkbaar met LeNet-5, hoewel dit model aanzienlijk groter is. Het succes van dit model (dat de eerste plaats innam in de 2012 ImageNet competitie) overtuigde veel van de computer vision gemeenschap om een serieuze blik te werpen op deep learning voor computer vision taken.

architectuur

Parameters: 60 miljoen

Paper: ImageNet Classification with Deep Convolutional Neural Networks

VGG-16

Het VGG-netwerk, geà ntroduceerd in 2014, biedt een diepere maar eenvoudigere variant van de hierboven besproken convolutionele structuren., Op het moment van de invoering werd dit model als zeer diep beschouwd.

architectuur

Parameters: 138 miljoen

papier: Very Deep Convolutional Networks for Large-Scale Image Recognition

Inception (GoogLeNet)

in 2014 introduceerden onderzoekers van Google het Inception network, dat de eerste plaats innam in de 2014 ImageNet competition for classification and detection challenges.

het model bestaat uit een basiseenheid die een “Begincel” wordt genoemd, waarin we een reeks convoluties op verschillende schalen uitvoeren en vervolgens de resultaten samenvoegen., Om berekening te besparen, worden 1×1 windingen gebruikt om de diepte van het invoerkanaal te verminderen. Voor elke cel, leren we een set van 1×1, 3×3, en 5×5 filters die kunnen leren om functies te extraheren op verschillende schalen van de invoer. Max pooling wordt ook gebruikt, zij het met “zelfde” padding om de afmetingen te behouden zodat de output goed kan worden aaneengeschakeld.

deze onderzoekers publiceerden een vervolgdocument dat efficiëntere alternatieven introduceerde voor de oorspronkelijke Begincel., Convoluties met grote ruimtelijke filters (zoals 5×5 of 7×7) zijn gunstig in termen van hun expressiviteit en het vermogen om functies op grotere schaal te extraheren, maar de berekening is onevenredig duur. De onderzoekers wezen erop dat een 5×5 convolutie goedkoper kan worden weergegeven door twee gestapelde 3×3 filters.

terwijl een$ 5 \maal 5 \ maal c $ filter $25c $ parameters vereist, vereisen twee$ 3 \maal 3 \maal c $ filters slechts$ 18c $ parameters. Om een 5×5 filter zo nauwkeurig mogelijk weer te geven, moeten we geen niet-lineaire activeringen tussen de twee 3×3 lagen gebruiken., Er werd echter ontdekt dat “lineaire activering altijd inferieur was aan het gebruik van gerectificeerde lineaire eenheden in alle stadia van de factorisatie.”

Er werd ook aangetoond dat 3×3 windingen verder konden worden gedeconstrueerd in opeenvolgende 3×1 en 1×3 windingen.

generaliseren van dit inzicht, kunnen we efficiënter een $n \times n$ convolution berekenen als een $1 \times n$ convolution gevolgd door een $n \times 1$ convolution.

architectuur

om de algehele netwerkprestaties te verbeteren, worden twee auxiliary outputs in het hele netwerk toegevoegd., Later werd ontdekt dat de vroegste auxiliary output geen waarneembaar effect had op de uiteindelijke kwaliteit van het netwerk. De toevoeging van auxiliary outputs kwam vooral ten goede aan de eindprestaties van het model, convergerend op een iets betere waarde dan dezelfde netwerkarchitectuur zonder een auxiliary branch. Er wordt aangenomen dat de toevoeging van auxiliary outputs een regulariserend effect op het netwerk had.

een herziene, diepere versie van het Inception network die gebruik maakt van de efficiëntere Inceptioncellen wordt hieronder weergegeven.,

Parameters: 5 miljoen (V1) en 23 miljoen (V3)

Papers:

  • dieper gaan met convoluties
  • herdenken van de Beginarchitectuur voor computervisie

ResNet

diepe restnetwerken waren een baanbrekend idee dat de ontwikkeling van veel diepere netwerken mogelijk maakte (honderden lagen in tegenstelling tot tientallen lagen).

Het is een algemeen aanvaard principe dat diepere netwerken in staat zijn complexere functies en representaties van de input te leren die tot betere prestaties moeten leiden., Veel onderzoekers merkten echter op dat het toevoegen van meer lagen uiteindelijk een negatief effect had op de uiteindelijke prestaties. Dit gedrag werd niet intuïtief verwacht, zoals uitgelegd door de auteurs hieronder.

laten we een ondiepere architectuur en zijn diepere tegenhanger bekijken die er meer lagen aan toevoegt. Er bestaat een oplossing door constructie voor het diepere model: de toegevoegde lagen zijn identity mapping, en de andere lagen zijn gekopieerd van het geleerde ondiepere model., Het bestaan van deze geconstrueerde oplossing geeft aan dat een dieper model geen hogere trainingsfout mag veroorzaken dan zijn ondiepere tegenhanger. Maar experimenten tonen aan dat onze huidige oplossers niet in staat zijn om oplossingen te vinden die vergelijkbaar goed of beter zijn dan de geconstrueerde oplossing (of niet in staat om dit te doen in haalbare tijd).,

dit fenomeen wordt door de auteurs aangeduid als het degradatieprobleem – een verwijzing naar het feit dat, hoewel betere parameterinitialisatietechnieken en batchnormalisatie het mogelijk maken dat diepere netwerken convergeren, ze vaak convergeren met een hoger foutenpercentage dan hun ondiepere tegenhangers. In the limit, gewoon stapelen meer lagen degradeert de ultieme prestaties van het model.,

De auteurs stellen een oplossing voor dit degradatieprobleem voor door residuele blokken in te voeren waarin tussenliggende lagen van een blok een residuele functie leren met verwijzing naar de blokinvoer. U kunt deze resterende functie zien als een verfijningsstap waarin we leren hoe we de invoerfunctiekaart kunnen aanpassen voor functies van hogere kwaliteit. Dit is te vergelijken met een “gewoon” netwerk waarin elke laag naar verwachting nieuwe en verschillende feature maps leert., In het geval dat er geen verfijning nodig is, kunnen de tussenliggende lagen leren om geleidelijk hun gewicht naar nul aan te passen, zodat het resterende blok een identiteitsfunctie vertegenwoordigt.

opmerking: later werd ontdekt dat een kleine wijziging van de oorspronkelijk voorgestelde eenheid betere prestaties biedt doordat gradiënten zich tijdens de training efficiënter via het netwerk kunnen verspreiden.,hoewel het oorspronkelijke ResNet-document gericht was op het creëren van een netwerkarchitectuur om diepere structuren mogelijk te maken door het degradatieprobleem te verlichten, hebben andere onderzoekers er sindsdien op gewezen dat het vergroten van de breedte van het netwerk (kanaaldiepte) een efficiëntere manier kan zijn om de totale capaciteit van het netwerk uit te breiden.

architectuur

elk gekleurd blok van lagen vertegenwoordigt een reeks kronkels van dezelfde dimensie., De functie mapping wordt periodiek gedemonstreerd door gestreepte convolutie vergezeld van een toename van de kanaaldiepte om de tijdscomplexiteit per laag te behouden. Stippellijnen geven restverbindingen aan waarin we de input via een 1×1 convolutie projecteren om de afmetingen van het nieuwe blok aan te passen.

het bovenstaande diagram visualiseert de ResNet 34 architectuur., Voor het ResNet 50-model vervangen we eenvoudig elk tweelaags restblok door een drielaags bottleneck-blok dat 1×1-kronkels gebruikt om de kanaaldiepte te verminderen en vervolgens te herstellen, waardoor een verminderde rekenbelasting mogelijk is bij het berekenen van de 3×3-kronkels.,

Parameters: 25 miljoen (ResNet 50)

Papers:

  • Deep Residual Learning for Image Recognition
  • Identity Mappings in Deep Residual Networks
  • Wide Residual Networks

De ResNeXt-architectuur is een uitbreiding van het deep residual network dat het standaard restblok vervangt door een dat gebruik maakt van een “split-transform-merge” – strategie (dwz. vertakte paden binnen een cel) gebruikt in de Beginselmodellen., Eenvoudig, in plaats van het uitvoeren van convoluties over de volledige input feature map, wordt de input van het blok geprojecteerd in een reeks lagere (kanaal) dimensionale representaties waarvan we afzonderlijk toepassen een paar convolutionele filters voordat het samenvoegen van de resultaten.

dit idee is vergelijkbaar met groepsconvoluties, een idee dat in het AlexNet-artikel werd voorgesteld als een manier om de convolutieberekening over twee GPU ‘ s te delen. In plaats van filters te maken met de volledige kanaaldiepte van de invoer, wordt de invoer kanaal-wise opgesplitst in groepen met elk, zoals hieronder getoond.,

Er werd ontdekt dat het gebruik van gegroepeerde convoluties leidde tot een mate van specialisatie tussen groepen waarbij afzonderlijke groepen zich richtten op verschillende kenmerken van het invoerbeeld.

Het resnext-papier verwijst naar het aantal takken of groepen als de kardinaliteit van de resnext-cel en voert een reeks experimenten uit om de relatieve prestatiewinst tussen het vergroten van de kardinaliteit, diepte en breedte van het netwerk te begrijpen. De experimenten tonen aan dat toenemende kardinaliteit effectiever is in het voordeel van modelprestaties dan het vergroten van de breedte of diepte van het netwerk., De experimenten suggereren ook dat ” residuele verbindingen nuttig zijn voor optimalisatie, terwijl geaggregeerde transformaties (nuttig voor) sterkere representaties zijn.”

architectuur

De resnext-architectuur bootst simpelweg de ResNet-modellen na en vervangt de ResNet-blokken voor het resnext-blok.

papier: geaggregeerde Resttransformaties voor diepe neurale netwerken

DenseNet

Het idee achter dichte convolutionele netwerken is eenvoudig: het kan nuttig zijn om te verwijzen naar feature maps van eerder in het netwerk., Zo wordt de functiekaart van elke laag samengevoegd met de invoer van elke opeenvolgende laag binnen een dicht blok. Hierdoor kunnen latere lagen binnen het netwerk direct gebruik maken van de functies van eerdere lagen, waardoor hergebruik van functies binnen het netwerk wordt aangemoedigd. De auteurs zeggen, ” aaneenschakelen feature-kaarten geleerd door verschillende lagen verhoogt de variatie in de invoer van de volgende lagen en verbetert de efficiëntie.”

toen ik dit model voor het eerst tegenkwam, dacht ik dat het een absurd aantal parameters zou hebben om de dichte verbindingen tussen lagen te ondersteunen., Echter, omdat het netwerk in staat is om direct gebruik te maken van een eerdere functie kaart, de auteurs vonden dat ze konden werken met zeer kleine output kanaal diepten (dwz. 12 filters per laag), waardoor het totale aantal benodigde parameters aanzienlijk wordt verminderd. De auteurs verwijzen naar het aantal filters dat in elke convolutielaag wordt gebruikt als een “groeisnelheid”, $k$, omdat elke opeenvolgende laag meer kanalen zal hebben dan de laatste (als gevolg van het accumuleren en samenvoegen van alle vorige lagen met de invoer).,

in vergelijking met ResNet-modellen leveren DenseNets betere prestaties met minder complexiteit.

architectuur

voor een meerderheid van de experimenten in de paper bootsten de auteurs de Algemene ResNet-modelarchitectuur na, door simpelweg het dichte blok als de herhaalde eenheid in te wisselen.

Parameters:

  • 0,8 miljoen (DenseNet-100, k = 12)
  • 15.,3 miljoen (DenseNet-250, k=24)
  • 40 miljoen (DenseNet-190, k=40)

papier: dicht met elkaar verbonden convolutionele netwerken
Video: CVPR 2017 Best Paper Award: dicht met elkaar verbonden convolutionele netwerken

verder lezen