tässä viestissä keskustelen yleisesti käytetyistä arkkitehtuureista convolutionary-verkoissa. Kuten näette, lähes kaikki CNN arkkitehtuurit noudattavat samoja yleisiä suunnittelun periaatteita soveltamalla peräkkäin convolutional kerrosta tulo, ajoittain downsampling paikkatietojen mitat, kun kasvava määrä ominaisuus karttoja.,

Kun klassinen verkon arkkitehtuurit olivat kuului yksinkertaisesti pinottu konvoluutio-kerrokset, moderni arkkitehtuurit tutkia uusia ja innovatiivisia tapoja rakentaa konvoluutio-tasot tavalla, joka mahdollistaa tehokkaamman oppimisen. Lähes kaikki nämä arkkitehtuurit perustuvat toistettavaan yksikköön, jota käytetään koko verkossa.

Nämä arkkitehtuurit toimivat yleiset suunnitteluohjeet, jotka koneoppimisen harjoittajia sitten sopeutua ratkaista erilaisia konenäkö tehtäviä., Nämä arkkitehtuurit toimivat rikas ominaisuus ulosvetimet, jota voidaan käyttää kuvan luokitus, kohteen tunnistus, kuvan segmentointia, ja monia muita kehittyneempiä tehtäviä.

Klassinen verkon arkkitehtuurit (mukana historiallisia tarkoituksia varten)

  • LeNet-5
  • AlexNet
  • VGG 16

Moderni arkkitehtuurit

  • Alusta
  • ResNet
  • ResNeXt
  • DenseNet

LeNet-5

Yann Lecun on LeNet-5-malli on kehitetty vuonna 1998 tunnistaa käsinkirjoitettuja numeroinen postinumero tunnustamista postal service., Tämä uraauurtava malli esitteli suurelta osin perustuslain mukaisen hermoverkon sellaisena kuin sen tunnemme nykyään.

Arkkitehtuuri

Konvoluutio-kerrosta käyttää osajoukko edellisen kerroksen kanavat kunkin suodatin vähentää laskenta ja pakottaa rikkoa symmetria verkossa. Alijäähtyneet kerrokset käyttävät eräänlaista keskijäähtymistä.

Parametrit: 60,000

Paperi: Kaltevuus-pohjainen oppiminen soveltaa document recognition

AlexNet

AlexNet on kehittänyt Alex Krizhevsky et al. vuonna 2012 kilpailemaan ImageNet-kilpailuun., Yleinen arkkitehtuuri muistuttaa melko paljon LeNet-5: tä, vaikka tämä malli onkin huomattavasti suurempi. Menestys tämän mallin (joka otti ensimmäisen sijan vuonna 2012 ImageNet kilpailu) vakuuttunut siitä paljon konenäkö yhteisö ottaa vakavasti tarkastella, syvä oppiminen konenäön tehtävät.

Arkkitehtuuri

Parametrit: 60 miljoonaa

Paperi: ImageNet Luokittelu Syvä Convolutional neuroverkkojen

VGG-16

VGG verkko, joka otettiin käyttöön vuonna 2014, tarjoaa syvempää vielä yksinkertaisempi muunnos-konvoluutio-rakenteet edellä., Mallia pidettiin käyttöönottohetkellä hyvin syvänä.

Arkkitehtuuri

Parametrit: 138 miljoonaa euroa

Paperi: Erittäin Syvä Konvoluutio-Verkkojen laajamittainen Kuva Tunnustaminen

Lähtien (GoogLeNet)

Vuonna 2014, tutkijat Google esitteli Lähtien verkosto, joka otti ensimmäisen sijan 2014 ImageNet kilpailu luokittelu ja tunnistus haasteita.

malli koostuu perusyksikkö kutsutaan ”Alkaen solu”, jossa me suorittaa useita convolutions eri mittakaavoissa ja myöhemmin yhdistää tulokset., Laskennan säästämiseksi käytetään 1×1 konvolutiota, joilla vähennetään tulokanavan syvyyttä. Jokaiselle solulle opimme joukon 1×1 -, 3×3-ja 5×5-suodattimia, jotka voivat oppia poimimaan ominaisuuksia eri asteikoilla syötöstä. Max pooling käytetään myös, vaikka ”sama” pehmuste säilyttää mitat niin, että tuotos voidaan oikein concatenated.

nämä tutkijat julkaisivat seurantapapaperin, jossa esiteltiin tehokkaampia vaihtoehtoja alkuperäiselle Alkuainesolulle., Convolutions suuri paikkatietojen suodattimet (kuten 5×5 tai 7×7) ovat hyödyllisiä niiden ilmaisukyky ja kyky poimia ominaisuuksia laajemmassa mittakaavassa, mutta laskenta on suhteettoman kallista. Tutkijat huomauttivat, että 5×5 konvoluutio voidaan esittää edullisemmin kahdella pinotulla 3×3-suodattimella.

kun taas $5 \kertaa 5 \kertaa C$ suodatin vaatii $25c$ parametrit, kaksi $3 \kertaa 3 \kertaa C$ suodattimet vaativat vain $18C$ parametrit. Jotta voidaan parhaiten edustaa 5×5 suodatin, meidän ei pitäisi käyttää epälineaarisia aktivointeja kahden 3×3 kerrosta., Kuitenkin, se on havaittu, että ”lineaarinen aktivointi oli aina huonompi käyttäen korjannut lineaariyksiköt kaikissa vaiheissa tekijöihin.”

– Se oli myös osoittanut, että 3×3 convolutions voitaisiin edelleen erottaa osaksi peräkkäisten 3×1 ja 1×3 convolutions.

Yleistäen tätä tietoa, voimme tehokkaammin laskea on $n \times n$ konvoluutio kuin $1 \times n$ konvoluutio seuraa $n \times 1$ konvoluutio.

Arkkitehtuuri

yleisen verkon suorituskyvyn parantamiseksi lisätään koko verkkoon kaksi lisälähdettä., Myöhemmin havaittiin, että varhaisimmalla aputuotoksella ei ollut havaittavaa vaikutusta verkon lopulliseen laatuun. Lisäksi ylimääräisten lähdöt ensisijaisesti saanut loppuun suorituskyky malli, lähentyvät hieman parempi arvo kuin saman verkon arkkitehtuuri ilman ylimääräisiä haara. Uskotaan, että ylimääräisten ulostulojen lisäämisellä oli regularisoiva vaikutus verkkoon.

alla on päivitetty, syvempi versio Inception Networkista, jossa hyödynnetään tehokkaampia alku-soluja.,

Parametrit: 5 miljoonaa euroa (V1) ja 23 euroa (V3)

Paperit:

  • Menee syvemmälle convolutions
  • Uudelleenarviointia Alusta-Arkkitehtuuri, Tietokone Visio

ResNet

Syvä jäljellä verkostot olivat läpimurto idea, jonka avulla kehitystä paljon syvemmälle verkostoihin (satoja kerroksia, toisin kuin kymmeniä kerroksia).

Sen yleisesti hyväksytty periaate, että tiiviimmät verkostot pystyvät oppimaan monimutkaisempia toimintoja ja esityksiä tulo, jonka pitäisi johtaa parempaan suorituskykyyn., Monet tutkijat kuitenkin havaitsivat, että kerrosten lisääminen vaikutti lopulta kielteisesti lopulliseen suorituskykyyn. Tällaista käyttäytymistä ei intuitiivisesti odotettu, kuten alla olevat kirjoittajat selittävät.

mietitäänpä matalampi arkkitehtuuri ja sen syvempi vastine, joka tuo lisää kerroksia päälle. On olemassa ratkaisu, jonka rakentaminen syvempi malli: lisätty kerrokset ovat identiteetin kartoitus, ja muut kerrokset ovat kopioitu oppinut, matalampi malli., Tämän rakennetun ratkaisun olemassaolo osoittaa, että syvemmän mallin ei pitäisi tuottaa korkeampaa koulutusvirhettä kuin sen matalamman vastineen. Mutta kokeet osoittavat, että nykyinen ratkaisussa käsillä pysty löytämään ratkaisuja, jotka ovat verrattain hyvä tai parempi kuin laskennallinen ratkaisu (tai pysty tekemään niin toteutettavissa aikaa).,

Tämä ilmiö viittaa siihen, että kirjoittajat kuten pilaantumisen ongelma – viittaamatta siihen, että vaikka parempi parametri alustus tekniikoita ja erä normalisointi mahdollistaa syvemmälle verkot yhtyvät, ne päätyvät usein korkeampi virhetaso on matalampi kuin niiden kollegansa. Äärirajoilla pelkkä useamman kerroksen pinoaminen heikentää mallin perimmäistä suorituskykyä.,

kirjoittajat ehdottavat korjata tämä hajoaminen ongelman ottamalla käyttöön jäljellä lohkot, jotka välikerrokset lohko oppia jäljellä toiminto viitaten lohko input. Voit ajatella tämä jäljellä oleva toiminto kuin hienostuneisuutta vaiheen, jossa me oppia, miten säätää input ominaisuus kartta laadukkaampia ominaisuuksia. Tämä vertautuu ”tavalliseen” verkkoon, jossa jokaisen kerroksen odotetaan oppivan uusia ja erillisiä ominaisuuskarttoja., Siinä tapauksessa, että ei ole tarkentaminen on tarpeen, väli-kerrokset voivat oppia vähitellen säätää niiden painot kohti nollaa siten, että jäljellä oleva lohko edustaa identiteettiä toiminto.

Huomautus: myöhemmin havaittiin, että vähäisiä muutoksia alkuperäiseen ehdotettu yksikkö tarjoaa parempaa suorituskykyä tehokkaammin, jolloin kaltevuudet levittää verkon kautta koulutuksen aikana.,

Leveä jäljellä verkostot
Vaikka alkuperäinen ResNet paperi keskittynyt luomaan verkon arkkitehtuuri mahdollistaa syvemmälle rakenteita keventämällä hajoaminen ongelma, muut tutkijat ovat sittemmin huomautti, että lisääntyvä verkon leveys (kanavan syvyys) voi olla tehokkaampi keino laajentaa yleistä kapasiteettia verkkoon.

Arkkitehtuuri

Jokainen värillinen korttelin kerrokset edustavat useita convolutions sama ulottuvuus., Ominaisuus kartoitus on ajoittain downsampled, jonka strided konvoluutio mukana lisääntyminen kanavan syvyys säilyttää aikakompleksisuus per kerros. Katkoviivoilla tarkoitetaan jäljellä yhteyksiä, joissa projisoimme Tulo kautta 1×1 konvoluutio vastaamaan mitat uuden lohkon.

yllä oleva kaavio visualisoi ResNet 34-arkkitehtuurin., Sillä ResNet 50 malli, me yksinkertaisesti korvata kukin kaksi kerros jäljellä oleva lohko, jossa on kolme kerros pullonkaula lohko, joka käyttää 1×1 convolutions vähentää ja myöhemmin palauttaa kanavan syvyys, jolloin vähennetyn laskennallisen kuorman laskettaessa 3×3 konvoluutio.,

Parametrit: 25 miljoonaa euroa (ResNet 50)

Paperit:

  • Syvä Jäljellä Oppiminen Kuva Tunnustaminen
  • Identiteetin Kuvaukset Syvässä Jäljellä Verkostot
  • Leveä Jäljellä Verkostot

ResNeXt arkkitehtuuri on laajennus syvä jäljellä oleva verkko, joka korvaa standardin jäljellä oleva lohko, jossa yksi, joka hyödyntää ”split-transform-merge” – strategia (eli. haarautuneet polut solun sisällä) käytetään Inception-malleissa., Yksinkertaisesti, eikä suorittamalla convolutions koko input ominaisuus kartta, lohko tulo on ennustettu useita pienempi (channel) – ulotteinen esityksiä, joita emme erikseen hakea muutaman konvoluutio suodattimet ennen yhdistämällä tuloksia.

Tämä idea on varsin samanlainen ryhmä convolutions, joka oli idea ehdotettu AlexNet kirjan tapa jakaa konvoluution laskenta yli kaksi Näytönohjainta. Sen sijaan, että luotaisiin suodattimia, joissa on koko kanavan syvyys tulo, tulo on jaettu kanava-viisas ryhmiin kunkin alla esitetyllä tavalla.,

huomattiin, että käyttämällä ryhmitelty convolutions johti erikoistuminen joukossa ryhmiä, joissa erilliset ryhmät keskittyivät eri ominaisuudet input kuva.

ResNeXt paperi viittaa määrä oksat tai ryhmien mahtavuus on ResNeXt solujen ja suorittaa useita kokeita ymmärtää, suhteellinen suorituskyky voitot välillä kasvaa kardinaliteetti, syvyys ja leveys verkkoon. Kokeet osoittavat, että lisäämällä kardinaliteetti on tehokkaampaa hyödyttää malli suorituskyky kuin kasvava leveys tai syvyys verkkoon., Kokeet viittaavat myös siihen, että ”jäljellä yhteydet ovat hyödyllisiä optimointi, kun taas yhteenlasketut muunnokset ovat (hyödyllistä) vahvempi.”

Arkkitehtuuri

ResNeXt arkkitehtuuri yksinkertaisesti mimicks, että ResNet mallit, korvaa ResNet lohkot ResNeXt estää.

Paperi: Yhteenlasketut Jäljellä Muutoksia Syvät neuroverkot

DenseNet

ajatuksena tiheä konvoluutio-verkkoja on yksinkertainen: se voi olla hyödyllistä viitata ominaisuus karttoja aiemmin verkkoon., Siten jokaisen kerroksen ominaisuuskartta on tiivistetty jokaisen peräkkäisen kerroksen tuloon tiheässä lohkossa. Tämän ansiosta verkon myöhemmät kerrokset voivat suoraan hyödyntää aikaisempien kerrosten ominaisuuksia, mikä kannustaa ominaisuuden uudelleenkäyttöä verkossa. Kirjoittajat toteavat, ”ketjuttamalla ominaisuus-kartat oppinut eri kerroksia lisää vaihtelua panos seuraavien kerrosten ja parantaa tehokkuutta.”

kun törmäsin tähän malliin, ajattelin, että siinä olisi absurdi määrä muuttujia tukemaan kerrosten välisiä tiheitä yhteyksiä., Kuitenkin, koska verkko pystyy suoraan käyttäen kaikki edellisen ominaisuus kartta, kirjoittajat huomasivat, että he voivat työskennellä hyvin pieni lähtö kanavan syvyyksistä (eli. 12 suodatinta per kerros), mikä vähentää huomattavasti tarvittavien parametrien kokonaismäärää. Kirjoittajat viittaavat useita suodattimia käytetään kunkin konvoluutio-kerros kuin ”kasvu”, $k$, koska jokainen peräkkäinen kerros on $k$ enemmän kanavia kuin viimeksi (seurauksena kertyvät ja ketjuttamalla kaikki aikaisemmat kerrokset input).,

ResNet-malleihin verrattuna Densenetsin raportoidaan parantavan suorituskykyä vähemmän monimutkaisella tavalla.

Arkkitehtuuri

suurin osa kokeista paperi, kirjoittajat matkia yleisten ResNet malli arkkitehtuuri, yksinkertaisesti vaihtamalla tiheä lohko kuin toistuva yksikkö.

Ominaisuudet:

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

Paperi: Tiheästi Yhteydessä Konvoluutio-Verkostot
Video: CVPR 2017 Best Paper Award: Tiheästi Yhteydessä Konvoluutio-Verkostot

kirjallisuutta