tynkä Mitä ovat CNN:t (Convolutional Neural Networks)? - Unite.AI
Liity verkostomme!

AI 101

Mitä ovat CNN:t (Convolutional Neural Networks)?

mm
Päivitetty on

Ehkä olet miettinyt, kuinka Facebook tai Instagram pystyy tunnistamaan kasvot automaattisesti kuvassa tai kuinka Google antaa sinun etsiä verkosta samankaltaisia ​​kuvia lataamalla oman valokuvasi. Nämä ominaisuudet ovat esimerkkejä tietokonenäöstä, ja ne saavat virtansa konvoluutiohermoverkot (CNN). Mutta mitä konvoluutiohermoverkot tarkalleen ottaen ovat? Sukeltakaamme syvälle CNN:n arkkitehtuuriin ja ymmärrämme, kuinka ne toimivat.

Mitä ovat hermoverkot?

Ennen kuin alamme puhua konvoluutiohermoverkoista, määritetään säännöllinen hermoverkko. Siellä on toinen artikkeli käytettävissä olevista neuroverkoista, joten emme mene niihin liian syvälle tässä. Lyhyesti määriteltäessä ne ovat kuitenkin ihmisaivojen inspiroimia laskennallisia malleja. Neuraaliverkko toimii ottamalla vastaan ​​dataa ja manipuloimalla dataa säätämällä "painoja", jotka ovat oletuksia siitä, miten syöteominaisuudet liittyvät toisiinsa ja objektin luokkaan. Kun verkkoa koulutetaan, painojen arvoja säädetään ja ne toivottavasti lähentyvät painotuksiin, jotka kuvaavat tarkasti ominaisuuksien välisiä suhteita.

Näin eteenpäinsyöttöhermoverkko toimii, ja CNN:t koostuvat kahdesta puolikkaasta: myötäkytkentäisestä hermoverkosta ja ryhmästä konvoluutiokerroksia.

Mitä ovat konvoluutiohermoverkot (CNN)?

Mitä ovat "konvoluutiot", joita tapahtuu konvoluutiohermoverkossa? Konvoluutio on matemaattinen operaatio, joka luo joukon painoja ja luo olennaisesti esityksen kuvan osista. Tätä painosarjaa kutsutaan nimellä ydin tai suodatin. Luotava suodatin on pienempi kuin koko syöttökuva, ja se kattaa vain kuvan alaosan. Suodattimen arvot kerrotaan kuvan arvoilla. Suodatin siirretään sitten muodostamaan esitys uudesta kuvan osasta, ja prosessia toistetaan, kunnes koko kuva on peitetty.

Toinen tapa ajatella tätä on kuvitella tiiliseinä, jossa tiilet edustavat syöttökuvan pikseleitä. "Ikkunaa" liu'utetaan edestakaisin seinää pitkin, joka on suodatin. Ikkunan läpi näkyvät palikat ovat pikseleitä, joiden arvo kerrotaan suodattimen arvoilla. Tästä syystä tätä menetelmää painojen luomiseksi suodattimella kutsutaan usein "liukuikkunoiden" tekniikaksi.

Koko syöttökuvan ympäri siirrettävien suodattimien tulos on kaksiulotteinen matriisi, joka edustaa koko kuvaa. Tätä taulukkoa kutsutaan a "Ominaisuuskartta".

Miksi konvoluutiot ovat välttämättömiä

Mikä on konvoluutioiden luomisen tarkoitus? Konvoluutioita tarvitaan, koska hermoverkon on kyettävä tulkitsemaan kuvan pikselit numeerisina arvoina. Konvoluutiokerrosten tehtävänä on muuntaa kuva numeerisiksi arvoiksi, joita hermoverkko voi tulkita ja sitten poimia asiaankuuluvia kuvioita. Konvoluutioverkon suodattimien tehtävänä on luoda kaksiulotteinen joukko arvoja, jotka voidaan siirtää hermoverkon myöhemmille kerroksille, jotka oppivat kuvan kuviot.

Suodattimet ja kanavat

Kuva: cecebur Wikimedia Commonsin kautta, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)

CNN:t eivät käytä vain yhtä suodatinta oppiakseen kuvioita syöttökuvista. Useita suodattimia käytetään, koska eri suodattimien luomat erilaiset taulukot johtavat syötekuvan monimutkaisempaan ja monipuolisempaan esitykseen. CNN-verkkojen suodattimien yleiset määrät ovat 32, 64, 128 ja 512. Mitä enemmän suodattimia on, sitä enemmän CNN:llä on mahdollisuuksia tutkia syöttödataa ja oppia siitä.

CNN analysoi pikseliarvojen erot määrittääkseen objektien rajat. Harmaasävykuvassa CNN tarkastelee eroja vain mustan ja valkoisen, vaaleasta tummaan. Kun kuvat ovat värikuvia, CNN ei vain ota huomioon pimeyttä ja vaaleaa, vaan sen on otettava huomioon myös kolme eri värikanavaa – punainen, vihreä ja sininen. Tässä tapauksessa suodattimissa on 3 kanavaa, aivan kuten itse kuvassa. Suodattimen kanavien määrää kutsutaan sen syvyydeksi, ja suodattimen kanavien lukumäärän on vastattava kuvan kanavien määrää.

Konvoluutiohermoverkko (CNN) arkkitehtuuri

Katsotaanpa koko arkkitehtuuria konvoluutiohermoverkko. Jokaisen konvoluutioverkon alusta löytyy konvoluutiokerros, koska kuvatiedot on muutettava numeerisiksi matriiseiksi. Konvoluutiokerrokset voivat kuitenkin tulla myös muiden konvoluutiokerrosten jälkeen, mikä tarkoittaa, että nämä kerrokset voidaan pinota päällekkäin. Useiden konvoluutiokerrosten omaaminen tarkoittaa, että yhden kerroksen lähdöt voivat käydä läpi lisää konvoluutioita ja ryhmitellä yhteen asiaankuuluviin kuvioihin. Käytännössä tämä tarkoittaa sitä, että kun kuvadata etenee konvoluutiokerrosten läpi, verkko alkaa "tunnistaa" kuvan monimutkaisempia piirteitä.

ConvNetin varhaiset kerrokset vastaavat matalan tason ominaisuuksien, kuten yksinkertaisten viivojen muodostavien pikselien, erottamisesta. Myöhemmät ConvNetin tasot yhdistävät nämä viivat yhteen muodoiksi. Pintatason analyysistä syvän tason analyysiin siirtyminen jatkuu, kunnes ConvNet tunnistaa monimutkaisia ​​muotoja, kuten eläimiä, ihmisten kasvoja ja autoja.

Kun data on kulkenut kaikkien konvoluutiokerrosten läpi, se etenee CNN:n tiiviisti yhdistettyyn osaan. Tiheästi yhdistetyt kerrokset ovat sitä, miltä perinteinen myötäkytkentäinen hermoverkko näyttää, sarja solmuja, jotka on järjestetty kerroksiin, jotka ovat yhteydessä toisiinsa. Data etenee näiden tiiviisti yhdistettyjen kerrosten läpi, joka oppii konvoluutiokerrosten poimimat kuviot, jolloin verkko pystyy tunnistamaan esineitä.

Bloggaaja ja ohjelmoija erikoisaloilla Koneen oppiminen ja Deep Learning aiheita. Daniel toivoo voivansa auttaa muita käyttämään tekoälyn voimaa yhteiskunnalliseen hyvään.