i det här inlägget kommer jag att diskutera vanliga arkitekturer för konvolutionella nätverk. Som du ser följer nästan alla CNN-arkitekturer samma allmänna designprinciper för att successivt tillämpa konvolutionala lager till ingången, och sänker periodiskt de rumsliga dimensionerna samtidigt som antalet funktionskartor ökar.,

medan de klassiska nätverksarkitekturerna helt enkelt bestod av staplade sammanvecklade lager, utforskar moderna arkitekturer nya och innovativa sätt att konstruera invecklade lager på ett sätt som möjliggör effektivare lärande. Nästan alla dessa arkitekturer är baserade på en repeterbar enhet som används i hela nätverket.

dessa arkitekturer fungerar som allmänna designriktlinjer som maskininlärning utövare sedan kommer att anpassa sig för att lösa olika datorseende uppgifter., Dessa arkitekturer fungerar som rika funktion extraktorer som kan användas för bildklassificering, objektdetektering, bildsegmentering och många andra mer avancerade uppgifter.

klassiska nätverksarkitekturer (ingår för historiska ändamål)

  • LeNet-5
  • AlexNet
  • vgg 16

moderna nätverksarkitekturer

  • Inception
  • ResNet
  • ResNeXt
  • DenseNet

LeNet-5

Yann lecun lenet-5 modell utvecklades 1998 för att identifiera handskrivna siffror för Postnummer erkännande i posttjänsten., Denna banbrytande modell introducerade i stor utsträckning det konvolutionella neurala nätverket som vi känner till det idag.

arkitektur

invecklade lager använder en delmängd av det föregående lagets kanaler för varje filter för att minska beräkningen och tvinga ett avbrott i symmetrin i nätverket. Subsamplingskikten använder en form av genomsnittlig sammanslagning.

parametrar: 60.000

papper: Gradientbaserat lärande som tillämpas på dokumentigenkänning

AlexNet

AlexNet utvecklades av Alex Krizhevsky et al. 2012 för att tävla i ImageNet-tävlingen., Den allmänna arkitekturen är ganska lik LeNet-5, även om denna modell är betydligt större. Framgången för denna modell (som tog första plats i 2012 ImageNet konkurrens) övertygade en hel del av dator vision samhället att ta en seriös titt på djupt lärande för dator vision uppgifter.

arkitektur

parametrar: 60 miljoner

papper: ImageNet-klassificering med djupa Konvolutionella neurala nätverk

vgg-16

vgg-nätverket, som introducerades 2014, erbjuder en djupare men enklare variant av de konvolutionella strukturer som diskuterades ovan., Vid tidpunkten för introduktionen ansågs denna modell vara mycket djup.

arkitektur

parametrar: 138 miljoner

papper: mycket djupa invecklade nätverk för storskalig bildigenkänning

Inception (GoogLeNet)

2014 introducerade forskare på Google Inception network som tog första plats i 2014 ImageNet competition for classification and detection challenges.

modellen består av en grundläggande enhet som kallas en ”Startcell” där vi utför en serie av varv vid olika skalor och därefter aggregerar resultaten., För att spara beräkning används 1×1 varv för att minska ingångskanalens djup. För varje cell lär vi oss en uppsättning av 1×1, 3×3 och 5×5 filter som kan lära sig att extrahera funktioner på olika skalor från ingången. Max pooling används också, om än med ”samma” stoppning för att bevara dimensionerna så att utgången kan vara korrekt sammanfogad.

dessa forskare publicerade ett uppföljningsdokument som introducerade effektivare alternativ till den ursprungliga Startcellen., Konvolutioner med stora rumsliga filter (som 5×5 eller 7×7) är fördelaktiga när det gäller deras uttrycksförmåga och förmåga att extrahera funktioner i större skala, men beräkningen är oproportionerligt dyr. Forskarna påpekade att en 5×5-konvolution kan vara billigare representerad av två staplade 3×3-filter.

medan ett$ 5 \gånger 5 \ gånger C $ – filter kräver$ 25c $ – parametrar, kräver två$ 3 \gånger 3 \ gånger C$ – filter endast $18c$ – parametrar. För att mest exakt representera ett 5×5-filter bör vi inte använda några olinjära aktiveringar mellan de två 3×3-skikten., Det upptäcktes emellertid att ” linjär aktivering alltid var sämre än att använda rektifierade linjära enheter i alla stadier av faktoriseringen.”

det visades också att 3×3 varv kunde dekonstrueras ytterligare i successiva 3×1 och 1×3 varv.

generalisera denna insikt, vi kan mer effektivt beräkna en $n \ gånger n$ convolution som en $ 1 \ gånger n$ convolution följt av en $n \gånger 1$ convolution.

arkitektur

för att förbättra den totala nätverksprestandan läggs två extra utgångar till i hela nätverket., Det upptäcktes senare att den tidigaste hjälputgången inte hade någon märkbar effekt på nätverkets slutliga kvalitet. Tillägget av hjälputgångar gynnade i första hand modellens slutprestanda, vilket konvergerade till ett något bättre värde än samma nätverksarkitektur utan en extra filial. Man tror att tillägget av hjälputgångar hade en reglerande effekt på nätverket.

en reviderad, djupare version av startnätet som utnyttjar de mer effektiva Startcellerna visas nedan.,

parametrar: 5 miljoner (V1) och 23 miljoner (V3)

papper:

  • gå djupare med varv
  • ompröva starten arkitektur för datorseende

ResNet

djupa kvarvarande nätverk var ett genombrott idé som möjliggjorde utvecklingen av mycket djupare nätverk (hundratals lager i motsats till tiotals lager).

det är en allmänt accepterad princip att djupare nätverk kan lära sig mer komplexa funktioner och representationer av inmatningen vilket bör leda till bättre prestanda., Men många forskare observerade att lägga till fler lager så småningom hade en negativ effekt på slutresultatet. Detta beteende förväntades inte intuitivt, vilket förklaras av författarna nedan.

låt oss överväga en grundare arkitektur och dess djupare motsvarighet som lägger till fler lager på den. Det finns en lösning genom konstruktion till den djupare modellen: de tillagda lagren är identitetsmappning och de andra lagren kopieras från den lärda grundare modellen., Förekomsten av denna konstruerade lösning indikerar att en djupare modell inte bör ge något högre träningsfel än sin grundare motsvarighet. Men experiment visar att våra nuvarande lösare till hands inte kan hitta lösningar som är jämförbart bra eller bättre än den konstruerade lösningen (eller inte kan göra det i genomförbar tid).,

detta fenomen hänvisas till av författarna som nedbrytningsproblemet – anspelar på det faktum att även om bättre parameterinitieringstekniker och batch normalisering tillåter djupare nätverk att konvergera, konvergerar de ofta vid en högre felfrekvens än sina grundare motsvarigheter. I gränsen, helt enkelt stapla fler lager försämrar modellens ultimata prestanda.,

författarna föreslår ett botemedel mot detta nedbrytningsproblem genom att införa kvarstående block där mellanliggande lager av ett block lär sig en kvarstående funktion med hänvisning till blockingången. Du kan tänka på denna restfunktion som ett förfiningssteg där vi lär oss hur du justerar inmatningsfunktionskartan för högre kvalitetsfunktioner. Detta kan jämföras med ett” vanligt ” nätverk där varje lager förväntas lära sig nya och distinkta funktionskartor., I händelse av att ingen förfining behövs kan de mellanliggande lagren lära sig att gradvis justera sina vikter mot noll så att restblocket representerar en identitetsfunktion.

Obs: Det upptäcktes senare att en liten ändring av den ursprungliga föreslagna enheten ger bättre prestanda genom att mer effektivt tillåta gradienter att sprida sig genom nätverket under träning.,

breda restnät
även om det ursprungliga ResNet-papperet fokuserade på att skapa en nätverksarkitektur för att möjliggöra djupare strukturer genom att lindra nedbrytningsproblemet, har andra forskare sedan påpekat att en ökning av nätverkets bredd (kanaldjup) kan vara ett effektivare sätt att utöka nätverkets övergripande kapacitet.

arkitektur

varje färgat lagerblock representerar en serie varv av samma dimension., Funktionen kartläggning periodiskt nedsamplas av avskalade faltning tillsammans med en ökning av kanaldjup för att bevara tidskomplexiteten per lager. Prickade linjer betecknar återstående anslutningar där vi projicerar ingången via en 1×1-konvolution för att matcha dimensionerna på det nya blocket.

diagrammet ovan visualiserar ResNet 34-arkitekturen., För ResNet 50-modellen ersätter vi helt enkelt varje tvåskiktsresterblock med ett treskiktsflaskblock som använder 1×1-varv för att minska och därefter återställa kanaldjupet, vilket möjliggör en minskad beräkningsbelastning vid beräkning av 3×3-faltningen.,

parametrar: 25 miljoner (ResNet 50)

papper:

  • djup återstående inlärning för bildigenkänning
  • Identitetsmappningar i djupa kvarvarande nätverk
  • breda kvarvarande nätverk

ResNeXt-arkitekturen är en förlängning av det djupa kvarvarande nätverket som ersätter standardresterblocket med en som utnyttjar en ”split-transform-merge” – strategi (dvs. förgrenade vägar inom en cell) som används i startmodeller., Helt enkelt, snarare än att utföra varv över hela inmatningsfunktionskartan, projiceras blockets ingång till en serie lägre (kanal) dimensionella representationer som vi separat tillämpar några invecklade filter innan vi slår samman resultaten.

denna idé är ganska lik gruppvarv, vilket var en idé som föreslogs i AlexNet-papperet som ett sätt att dela konvolutionsberäkningen över två GPU: er. I stället för att skapa filter Med ingångens fulla kanaldjup delas ingången kanalvis i grupper med var och en enligt nedan.,

det upptäcktes att användning av grupperade varv ledde till en grad av specialisering bland grupper där separata grupper fokuserade på olika egenskaper hos inmatningsbilden.

ResNeXt-papperet refererar till antalet grenar eller grupper som kardinaliteten hos ResNeXt-cellen och utför en serie experiment för att förstå relativa prestandavinster mellan att öka kardinaliteten, djupet och bredden på nätverket. Experimenten visar att ökad kardinalitet är effektivare för att gynna modellprestanda än att öka nätverkets bredd eller djup., Experimenten tyder också på att ” återstående anslutningar är till hjälp för optimering, medan aggregerade omvandlingar är (till hjälp för) starkare representationer.”

arkitektur

resnext-arkitekturen efterliknar helt enkelt ResNet-modellerna och ersätter ResNet-blocken för ResNeXt-blocket.

papper: aggregerade Resttransformationer för djupa neurala nätverk

DenseNet

tanken bakom täta konvolutionella nätverk är enkel: det kan vara användbart att referera till funktionskartor från tidigare i nätverket., Således sammanfogas varje lags funktionskarta till ingången av varje efterföljande lager inom ett tätt block. Detta gör det möjligt för senare lager i nätverket att direkt utnyttja funktionerna från tidigare lager, uppmuntra funktionen återanvändning inom nätverket. Författarna säger, ” sammanlänkande funktion-kartor som lärs av olika lager ökar variationen i inmatningen av efterföljande lager och förbättrar effektiviteten.”

När jag först kom över den här modellen tänkte jag att det skulle ha ett absurt antal parametrar för att stödja de täta anslutningarna mellan skikten., Men eftersom nätverket kan direkt använda någon tidigare funktionskarta, fann författarna att de kunde arbeta med mycket små utgångskanaldjup (dvs. 12 filter per lager), kraftigt minska det totala antalet parametrar som behövs. Författarna hänvisar till antalet filter som används i varje convolutional lager som en ”tillväxttakt”, $k$, eftersom varje efterföljande lager kommer att ha $k$ fler kanaler än den sista (som ett resultat av att ackumulera och sammanfoga alla tidigare lager till ingången).,

jämfört med ResNet modeller, densenets rapporteras till acheive bättre prestanda med mindre komplexitet.

arkitektur

för en majoritet av experimenten i papperet efterliknade författarna den allmänna ResNet-modellarkitekturen och bytte helt enkelt i det täta blocket som den upprepade enheten.

parametrar:

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

Papper: Tätt Ansluten Convolutional Nätverk
Video: CVPR 2017 Best Paper Award: Tätt Ansluten Convolutional Nätverk

lästips