stubbur Hvað eru CNN (Convolutional Neural Networks)? - Unite.AI
Tengja við okkur

AI 101

Hvað eru CNN (Convolutional Neural Networks)?

mm
Uppfært on

Kannski hefur þú velt því fyrir þér hvernig Facebook eða Instagram er fær um að bera kennsl á andlit sjálfkrafa á mynd, eða hvernig Google gerir þér kleift að leita á vefnum að svipuðum myndum með því að hlaða upp eigin mynd. Þessir eiginleikar eru dæmi um tölvusjón og þeir eru knúnir af snúningstauganet (CNN). Samt hvað nákvæmlega eru snúnings tauganet? Við skulum kafa djúpt í arkitektúr CNN og skilja hvernig þeir starfa.

Hvað eru taugakerfi?

Áður en við byrjum að tala um snúnings tauganet skulum við taka smá stund til að skilgreina venjulegt tauganet. Þarna er önnur grein um efnið tauganet sem eru tiltæk, svo við förum ekki of djúpt í þau hér. Hins vegar, til að skilgreina þau í stuttu máli, þá eru þau reiknilíkön innblásin af mannsheilanum. Taugakerfi starfar með því að taka inn gögn og vinna með gögnin með því að stilla „þyngd“, sem eru forsendur um hvernig inntakseiginleikarnir tengjast hver öðrum og flokki hlutarins. Eftir því sem netið er þjálfað eru gildi lóðanna stillt og þau munu vonandi renna saman að lóðum sem fanga nákvæmlega tengslin milli eiginleika.

Svona virkar tauganet sem er straum-forward og CNN eru samsett úr tveimur helmingum: feed-forward tauganeti og hópi snúningslaga.

Hvað eru Convolution Neural Networks (CNN)?

Hverjar eru „snúningarnar“ sem gerast í taugakerfi sem er samfellt? Snúningur er stærðfræðileg aðgerð sem býr til sett af lóðum, sem skapar í raun framsetningu hluta myndarinnar. Þetta sett af lóðum er vísað til sem kjarna eða síu. Sían sem er búin til er minni en öll inntaksmyndin og nær aðeins yfir undirhluta myndarinnar. Gildin í síunni eru margfölduð með gildunum á myndinni. Síðan er sían færð yfir til að mynda framsetningu á nýjum hluta myndarinnar og ferlið er endurtekið þar til búið er að hylja alla myndina.

Önnur leið til að hugsa um þetta er að ímynda sér múrsteinsvegg, þar sem múrsteinarnir tákna punktana í inntaksmyndinni. Það er verið að renna „glugga“ fram og til baka meðfram veggnum, sem er sían. Múrsteinarnir sem hægt er að skoða í gegnum gluggann eru punktarnir sem hafa gildi þeirra margfaldað með gildunum innan síunnar. Af þessum sökum er þessi aðferð við að búa til lóð með síu oft kölluð „rennigluggar“ tæknin.

Úttakið frá síunum sem verið er að færa um alla inntaksmyndina er tvívítt fylki sem táknar alla myndina. Þessi fylking er kölluð a „eiginleikakort“.

Af hverju snúningar eru nauðsynlegar

Hver er tilgangurinn með því að búa til snúninga? Snúningar eru nauðsynlegar vegna þess að tauganet þarf að geta túlkað pixla í mynd sem tölugildi. Hlutverk sveigjulaganna er að breyta myndinni í tölugildi sem tauganetið getur túlkað og síðan dregið úr viðeigandi mynstrum. Hlutverk síanna í snúningsnetinu er að búa til tvívíddar fylki af gildum sem hægt er að senda inn í síðari lög tauganetsins, þau sem munu læra mynstrin í myndinni.

Síur og rásir

Mynd: cecebur í gegnum Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)

CNN notar ekki bara eina síu til að læra mynstur af inntaksmyndunum. Margar síur eru notaðar, þar sem mismunandi fylki sem mismunandi síur búa til leiða til flóknari, ríkari framsetningar inntaksmyndarinnar. Algengar tölur sía fyrir CNN eru 32, 64, 128 og 512. Því fleiri síur sem eru, því fleiri tækifæri hefur CNN til að skoða inntaksgögnin og læra af þeim.

CNN greinir muninn á pixlagildum til að ákvarða landamæri hluta. Í grátónamynd myndi CNN aðeins líta á muninn á svörtu og hvítu, ljósu til myrkri skilmálum. Þegar myndirnar eru litmyndir tekur CNN ekki aðeins með í reikninginn dökk og ljós, heldur verður það að taka tillit til þriggja mismunandi litarása - rauða, græna og bláa - líka. Í þessu tilviki hafa síurnar 3 rásir, alveg eins og myndin sjálf gerir. Fjöldi rása sem sía hefur er nefnd dýpt hennar og fjöldi rása í síunni verður að passa við fjölda rása á myndinni.

Convolutional Neural Network (CNN) arkitektúr

Við skulum kíkja á heildar arkitektúr snúnings tauganet. Snúningslag er að finna í upphafi hvers flækjunets, þar sem nauðsynlegt er að umbreyta myndgögnum í tölulegar fylki. Hins vegar geta snúningslög einnig komið á eftir öðrum snúningslögum, sem þýðir að hægt er að stafla þessum lögum ofan á annað. Að hafa mörg snúningslög þýðir að úttakið úr einu lagi getur farið í frekari snúninga og verið flokkað saman í viðeigandi mynstrum. Í raun þýðir þetta að þegar myndgögnin halda áfram í gegnum snúningslögin, byrjar netið að „þekkja“ flóknari eiginleika myndarinnar.

Fyrstu lög ConvNet eru ábyrg fyrir því að draga út lágstigs eiginleikana, svo sem punktana sem mynda einfaldar línur. Seinni lög af ConvNet munu tengja þessar línur saman í form. Þetta ferli að fara frá yfirborðsgreiningu yfir í djúpgreiningu heldur áfram þar til ConvNet er að þekkja flókin form eins og dýr, andlit manna og bíla.

Eftir að gögnin hafa farið í gegnum öll snúningslögin halda þau áfram inn í þétttengda hluta CNN. Þétttengdu lögin eru það sem hefðbundið straum-forward tauganet lítur út, röð hnúta raðað í lög sem tengjast hvert öðru. Gögnin halda áfram í gegnum þessi þétttengdu lög, sem læra mynstrin sem voru dregin út af snúningslögunum, og með því verður netið fært um að þekkja hluti.

Bloggari og forritari með sérsvið í vél Learning og Deep Learning efni. Daniel vonast til að hjálpa öðrum að nota kraft gervigreindar í félagslegum tilgangi.