i dette indlæg vil jeg diskutere almindeligt anvendte arkitekturer til konvolutionelle netværk. Som du vil se, følger næsten alle CNN-arkitekturer de samme generelle designprincipper for successivt at anvende konvolutionelle lag på input, med jævne mellemrum nedstempling af de rumlige dimensioner, mens antallet af funktionskort øges.,

Mens den klassiske netarkitekturer var der består simpelthen af stablede convolutional lag, moderne arkitekturer udforske nye og innovative måder til at konstruere convolutional lag på en måde, der giver mulighed for mere effektiv læring. Næsten alle disse arkitekturer er baseret på en gentagelig enhed, der bruges i hele netværket.

disse arkitekturer fungerer som generelle design retningslinjer, som machine learning praktikere derefter vil tilpasse sig til at løse forskellige computer vision opgaver., Disse arkitekturer fungerer som rige funktionsekstraktorer, som kan bruges til billedklassificering, objektdetektion, billedsegmentering og mange andre mere avancerede opgaver.

klassiske netværksarkitekturer (inkluderet til historiske formål)

  • LeNet-5
  • Ale )net
  • VGG 16

moderne netværksarkitekturer

  • Inception
  • ResNet
  • Resne )t
  • denset

LeNet-5

Yann lecuns lenet-5-model blev udviklet i 1998 for at identificere håndskrevne cifre til Postnummergenkendelse i posttjenesten., Denne banebrydende model introducerede stort set det konvolutionelle neurale netværk, som vi kender det i dag.

arkitektur

Konvolutionelle lag bruger en delmængde af det foregående lags kanaler for hvert filter for at reducere beregningen og tvinge en symmetribrud i netværket. De subsampling lag bruger en form for gennemsnitlig pooling.

Parametre: 60,000

Papir: Gradient-baseret læring anvendes til at dokumentere anerkendelse

AlexNet

AlexNet blev udviklet af Alex Krizhevsky et al. i 2012 at konkurrere i ImageNet konkurrence., Den generelle arkitektur er meget lig LeNet-5, Selv om denne model er betydeligt større. Succesen med denne model (som tog førstepladsen i 2012 ImageNet-konkurrencen) overbeviste mange af computervisionssamfundet om at tage et seriøst kig på dyb læring til computervisionsopgaver.

arkitektur

parametre: 60 millioner

papir: ImageNet-klassificering med dybe Konvolutionelle neurale netværk

VGG-16

VGG-netværket, der blev introduceret i 2014, tilbyder en dybere, men enklere variant af de konvolutionelle strukturer, der er diskuteret ovenfor., På tidspunktet for introduktionen blev denne model anset for at være meget dyb.

Arkitektur

Parametre: 138 millioner

Papir: Meget Dyb Convolutional Netværk for Stort Billede Anerkendelse

Inception (GoogLeNet)

I 2014, forskere på Google indført Starten netværk, der fandt først sted i 2014 ImageNet konkurrence om klassifikation og registrering udfordringer.

modellen består af en basisenhed, der kaldes en “Inception cell”, hvor vi udfører en række svingninger i forskellige skalaer og derefter aggregerer resultaterne., For at spare beregning bruges 1 .1 omdrejninger til at reducere indgangskanaldybden. For hver celle lærer vi et sæt 1 .1, 3 .3 og 5 .5 filtre, som kan lære at udtrække funktioner i forskellige skalaer fra input. Ma.pooling bruges også, omend med “samme” polstring for at bevare dimensionerne, så udgangen kan sammenkædes korrekt.

disse forskere offentliggjorde et opfølgningspapir, der introducerede mere effektive alternativer til den oprindelige Inceptioncelle., Vindinger med store rumlige filtre (såsom 5×5 eller 7×7) er gavnlig i forhold til deres udtryksfuldhed og evnen til at udtrække features på en større skala, men beregningen er uforholdsmæssigt dyrt. Forskerne påpegede, at en 5 .5-konvolution kan repræsenteres billigere af to stablede 3 .3-filtre.mens et$ 5 \gange 5 \gange C $ filter kræver$ 25c $ parametre, kræver to $ 3 \ gange 3 \ gange c$ filtre kun$ 18c $ parametre. For at mest præcist repræsentere en 5 .5 filter, bør vi ikke bruge nogen ikke-lineære aktiveringer mellem de to 3 .3 lag., Det blev imidlertid opdaget ,at ” lineær aktivering altid var ringere end at anvende korrigerede lineære enheder i alle faser af faktoriseringen.”

det blev også vist, at 3 .3 vindinger kunne dekonstrueres yderligere i successive 3 .1 og 1 .3 vindinger.generalisering af denne indsigt kan vi mere effektivt beregne en$ n \times n $ convolution som en $ 1 \ times n$ convolution efterfulgt af en $n \times 1$ convolution.

arkitektur

for at forbedre den samlede netværksydelse tilføjes to hjælpeudgange i hele netværket., Det blev senere opdaget, at den tidligste hjælpeudgang ikke havde nogen mærkbar effekt på netværkets endelige kvalitet. Tilføjelse af ekstra udgange primært nydt udgangen af den model, konvergerende i en lidt bedre værdi end den samme netværk arkitektur uden en ekstra gren. Det antages, at tilføjelsen af hjælpeudgange havde en regulariserende effekt på netværket.

en revideret, dybere version af Inception-netværket, der drager fordel af de mere effektive Inception-celler, er vist nedenfor.,

Parametre: 5 millioner (V1), og 23 millioner (V3)

Papirer:

  • Gå dybere med snoninger
  • Nytænkning Starten Arkitektur for Computer Vision

ResNet

Dybt resterende netværk var et gennembrud idé, som gjorde det muligt at udvikle meget dybere netværk (hundreder af lag i modsætning til mange af lag).

det er et generelt accepteret princip, at dybere netværk er i stand til at lære mere komplekse funktioner og repræsentationer af input, som skal føre til bedre ydeevne., Imidlertid observerede mange forskere, at tilføjelse af flere lag til sidst havde en negativ effekt på den endelige præstation. Denne adfærd var ikke intuitivt forventet, som forklaret af forfatterne nedenfor.

lad os overveje en lavere arkitektur og dens dybere modstykke, der tilføjer flere lag på den. Der findes en løsning ved konstruktion til den dybere model: de tilføjede lag er identitetskortlægning, og de andre lag kopieres fra den lærde lavvandede model., Eksistensen af denne konstruerede løsning indikerer, at en dybere model ikke bør give nogen højere træningsfejl end dens lavere modstykke. Men eksperimenter viser, at vores nuværende løsere på hånden ikke er i stand til at finde løsninger, der er sammenligneligt gode eller bedre end den konstruerede løsning (eller ude af stand til at gøre det i mulig tid).,

dette fænomen omtales af forfatterne som nedbrydningsproblemet – hvilket henviser til det faktum, at selvom bedre parameterinitialiseringsteknikker og batch normalisering tillader dybere netværk at konvergere, konvergerer de ofte med en højere fejlhastighed end deres lavere kolleger. I grænsen forringer blot stabling af flere lag modelens ultimative ydeevne.,

forfatterne foreslår et middel til dette nedbrydningsproblem ved at indføre resterende blokke, hvor mellemlag i en blok lærer en restfunktion med henvisning til blokindgangen. Du kan tænke på denne resterende funktion som et forfiningstrin, hvor vi lærer at justere inputfunktionskortet for funktioner af højere kvalitet. Dette sammenlignes med et “almindeligt” netværk, hvor hvert lag forventes at lære nye og forskellige funktionskort., I tilfælde af at der ikke er behov for forfining, kan mellemlagene lære at gradvist justere deres vægte mod nul, så den resterende blok repræsenterer en identitetsfunktion.Bemærk: Det blev senere opdaget, at en lille ændring af den oprindelige foreslåede enhed giver bedre ydeevne ved mere effektivt at tillade gradienter at formere sig gennem netværket under træning.,

Bred resterende netværk
Selv om den oprindelige ResNet papir fokuseret på at skabe et netværk arkitektur til at give en dybere strukturer ved at afbøde forringelse problem, andre forskere har siden påpeget, at øge netværkets bredde (kanal dybde) kan være en mere effektiv måde at udvide den samlede kapacitet i netværket.

arkitektur

hver farvet blok af lag repræsenterer en række svingninger af samme dimension., De funktionen mapping (kortlægning) er periodisk downsampled af strided foldning ledsaget af en stigning i kanal dybde for at bevare den tid kompleksitet per lag. Stiplede linjer angiver resterende forbindelser, hvor vi projicerer input via en 1 .1-foldning for at matche dimensionerne på den nye blok.

diagrammet ovenfor visualiserer resnet 34-arkitekturen., For ResNet 50 model, vi blot erstatte hver to lag resterende blok med tre lag flaskehals blok, som bruger 1×1 vindinger for at reducere og derefter gendanne den kanal dybde, der giver mulighed for en reduceret beregningsmæssige belastning ved beregning af 3×3 foldning.,

Parametre: 25 millioner (ResNet 50)

Papirer:

  • Dybt Resterende Læring for Billede Anerkendelse
  • Identitet Tilknytninger i Dyb Resterende Netværk
  • Bred Resterende Netværk

ResNeXt og optimering er en udvidelse af den dybe resterende netværk, som erstatter standard resterende blok med en, der benytter sig af en “split-transform-flet” – strategi (dvs. forgrenede stier i en celle), der anvendes i starten modeller., I stedet for at udføre konvolutioner over det fulde inputfunktionskort projiceres blokkens input i en række lavere (kanal) dimensionelle repræsentationer, som vi separat anvender et par konvolutionsfiltre, før vi fusionerer resultaterne.

denne ID.er meget lig gruppe vindinger, som var en ID. foreslået i ale .net papir som en måde at dele foldning beregning på tværs af to GPU ‘ er. Snarere end at skabe filtre med fuld kanal dybde af input, input er delt kanal-wiseise i grupper med hver som vist nedenfor.,

det blev opdaget, at anvendelse af grupperede svingninger førte til en grad af specialisering blandt grupper, hvor separate grupper fokuserede på forskellige egenskaber ved inputbilledet.resne .t-papiret refererer til antallet af grene eller grupper som kardinaliteten af Resne .t-cellen og udfører en række eksperimenter for at forstå relative præstationsgevinster mellem at øge kardinaliteten, dybden og bredden af netværket. Forsøgene viser, at stigende kardinalitet er mere effektiv til gavn model ydeevne end at øge bredden eller dybden af netværket., Eksperimenterne antyder også, at ” resterende forbindelser er nyttige til optimering, mens aggregerede transformationer er (nyttige til) stærkere repræsentationer.”

arkitektur

Resne .t-arkitekturen efterligner simpelthen ResNet-modellerne og erstatter ResNet-blokke for Resne .t-blokken.

papir: aggregerede resterende transformationer for dybe neurale netværk

DenseNet

ideen bag tætte konvolutionelle netværk er enkel: det kan være nyttigt at henvise til funktionskort fra tidligere i netværket., Således er hvert lags funktionskort sammenkædet med indgangen til hvert efterfølgende lag inden for en tæt blok. Dette gør det muligt for senere lag i netværket direkte at udnytte funktionerne fra tidligere lag, hvilket tilskynder til genbrug af funktioner i netværket. Forfatterne siger, “sammenkædning funktion-kort lært af forskellige lag øger variation i input af efterfølgende lag og forbedrer effektiviteten.”

da jeg først stødte på denne model, regnede jeg med, at det ville have et absurd antal parametre til at understøtte de tætte forbindelser mellem lag., Fordi netværket er i stand til direkte at bruge ethvert tidligere funktionskort, fandt forfatterne, at de kunne arbejde med meget små outputkanaldybder (dvs. 12 filtre pr lag), betydeligt reducere det samlede antal parametre, der er nødvendige. Forfatterne henviser til antallet af filtre, der bruges i hvert sammenfaldende lag som en “vækstrate”, $k$, da hvert efterfølgende lag vil have $k$ flere kanaler end det sidste (som et resultat af at akkumulere og sammenkæde alle tidligere lag til input).,

sammenlignet med ResNet-modeller rapporteres DenseNets at opnå bedre ydelse med mindre kompleksitet.

arkitektur

for et flertal af eksperimenterne i papiret efterlignede forfatterne den generelle ResNet-modelarkitektur, blot bytte i den tætte blok som den gentagne enhed.

Parametre:

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

Papir: Tæt Forbundet Convolutional Netværk
Video: CVPR 2017 Best Paper Award: Tæt Forbundet Convolutional Netværk

Yderligere læsning