stub Mis on CNN-id (konvolutsioonilised närvivõrgud)? - Ühendage.AI
Ühenda meile

AI 101

Mis on CNN-id (konvolutsioonilised närvivõrgud)?

mm
Ajakohastatud on

Võib-olla olete mõelnud, kuidas Facebook või Instagram suudab pildil olevaid nägusid automaatselt ära tunda või kuidas Google võimaldab teil otsida veebist sarnaseid fotosid, laadides üles lihtsalt enda tehtud foto. Need funktsioonid on arvutinägemise näited ja neid toidab konvolutsioonilised närvivõrgud (CNN). Kuid mis täpselt on konvolutsioonilised närvivõrgud? Sukeldume sügavalt CNN-i arhitektuuri ja mõistame, kuidas need toimivad.

Mis on närvivõrgud?

Enne kui hakkame rääkima konvolutsioonilistest närvivõrkudest, defineerime tavalist närvivõrku. Seal on teine ​​artikkel saadaolevate närvivõrkude teemal, nii et me ei lähe nendesse siin liiga sügavale. Lühidalt määratledes on need aga inimajust inspireeritud arvutuslikud mudelid. Närvivõrk toimib, võttes andmeid ja manipuleerides andmetega, kohandades "kaalu", mis on eeldused selle kohta, kuidas sisendfunktsioonid on üksteise ja objekti klassiga seotud. Võrgu treenimisel kohandatakse kaalude väärtusi ja loodetavasti lähenevad need kaaludele, mis kajastavad täpselt funktsioonide vahelisi seoseid.

Nii toimib edasisuunaline närvivõrk ja CNN-id koosnevad kahest poolest: edasisuunavast närvivõrgust ja konvolutsioonikihtide rühmast.

Mis on konvolutsiooninärvivõrgud (CNN)?

Millised on "konvolutsioonid", mis toimuvad konvolutsioonilises närvivõrgus? Konvolutsioon on matemaatiline tehe, mis loob kaalude komplekti, luues sisuliselt kujutise osade esituse. Seda raskuste komplekti nimetatakse kernel või filter. Loodud filter on väiksem kui kogu sisendpilt, kattes vaid pildi alamjaotise. Filtri väärtused korrutatakse pildi väärtustega. Seejärel liigutatakse filtrit, et moodustada kujutise uus osa, ja protsessi korratakse, kuni kogu pilt on kaetud.

Teine võimalus sellele mõelda on kujutleda telliskiviseina, kus tellised esindavad sisendpildi piksleid. Mööda seina, mis on filter, libistatakse edasi-tagasi "akent". Akna kaudu kuvatavad tellised on pikslid, mille väärtus on korrutatud filtris olevate väärtustega. Sel põhjusel nimetatakse seda filtriga kaalude loomise meetodit sageli "libisevate akende" tehnikaks.

Kogu sisendpildi ümber teisaldatavate filtrite väljund on kahemõõtmeline massiiv, mis esindab kogu pilti. Seda massiivi nimetatakse a "funktsioonide kaart".

Miks on konvolutsioonid olulised?

Mis on ikkagi keerdude loomise eesmärk? Konvolutsioonid on vajalikud, kuna närvivõrk peab suutma tõlgendada pildi piksleid arvväärtustena. Konvolutsioonikihtide ülesanne on teisendada pilt arvväärtusteks, mida närvivõrk saab tõlgendada ja seejärel eraldada neist asjakohased mustrid. Konvolutsioonivõrgu filtrite ülesanne on luua kahemõõtmeline väärtuste massiiv, mida saab edastada närvivõrgu hilisematesse kihtidesse, need, mis õpivad pildil olevaid mustreid.

Filtrid Ja Kanalid

Foto: cecebur Wikimedia Commonsi kaudu, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)

CNN-id ei kasuta sisendpiltide mustrite õppimiseks ainult ühte filtrit. Kasutatakse mitut filtrit, kuna erinevate filtrite loodud erinevad massiivid annavad sisendpildi keerukama ja rikkalikuma esituse. CNN-i filtrite tavalised arvud on 32, 64, 128 ja 512. Mida rohkem filtreid on, seda rohkem on CNN-il võimalusi sisendandmeid uurida ja neist õppida.

CNN analüüsib piksliväärtuste erinevusi, et määrata objektide piire. Halltoonides pildis vaataks CNN ainult mustvalgete, heledast tumedani erinevusi. Kui pildid on värvilised, ei võta CNN arvesse mitte ainult tumedat ja heledat, vaid ka kolme erinevat värvikanalit – punast, rohelist ja sinist. Sel juhul on filtritel 3 kanalit, nagu ka pildil endal. Filtril olevate kanalite arvu nimetatakse selle sügavuseks ja filtris olevate kanalite arv peab ühtima pildil olevate kanalite arvuga.

Konvolutsiooniline närvivõrk (CNN) Arhitektuur

Heidame pilgu kogu arhitektuurile konvolutsiooniline närvivõrk. Konvolutsioonikiht leitakse iga konvolutsioonivõrgu alguses, kuna on vaja kujutise andmed teisendada numbrilisteks massiivideks. Kuid konvolutsioonilised kihid võivad järgneda ka teistele keerdkihtidele, mis tähendab, et neid kihte saab virnastada üksteise peale. Mitme konvolutsioonilise kihi olemasolu tähendab, et ühe kihi väljundid võivad läbida täiendavaid keerdumusi ja olla rühmitatud asjakohaste mustrite järgi. Praktiliselt tähendab see seda, et kui pildiandmed liiguvad läbi konvolutsioonikihtide, hakkab võrk “ära tundma” pildi keerukamaid omadusi.

ConvNeti varased kihid vastutavad madala taseme funktsioonide, näiteks lihtsate joonte moodustavate pikslite eraldamise eest. ConvNeti hilisemad kihid ühendavad need jooned kujunditeks. Pinnataseme analüüsilt süvatasandi analüüsile ülemineku protsess jätkub seni, kuni ConvNet tuvastab keerukad kujundid, nagu loomad, inimeste näod ja autod.

Pärast seda, kui andmed on läbinud kõik konvolutsioonilised kihid, liiguvad need CNN-i tihedalt ühendatud osasse. Tihedalt ühendatud kihid on sellised, nagu näeb välja traditsiooniline edasisuunaline närvivõrk, sõlmede jada, mis on järjestatud üksteisega ühendatud kihtidena. Andmed liiguvad läbi nende tihedalt ühendatud kihtide, mis õpivad tundma konvolutsioonikihtide eraldatud mustreid ja seda tehes muutub võrk võimeliseks objekte ära tundma.

Erialadega blogija ja programmeerija Masinõpe ja Sügav õppimine teemasid. Daniel loodab aidata teistel kasutada tehisintellekti jõudu sotsiaalseks hüvanguks.