#dan17. CNN-Convolutional neural networks— uvod 1. #100daychallenge
Mali help: neuronske ili neuralne, konvolucijske ili konvolucione?
Za sada ih zovem — konvolucijske neuronske mreže.
Konvolucijske neuronske mreže baziraju se na klasifikaciji ulaznih podataka, tako da izlaz mogu biti dve ili više klasa. Za trening set ulaznih podataka je poznat izlaz pa samim tim ove mreže spadaju u nadgledano učenje. Kao ulaz mogu biti različite forme podataka kao što su audio snimci, video (Karpathy i dr. 2014, Kamilaris i Boldu 2017), slike kao i podaci za obradu govora i prevoda u duhu određenog jezika (Natural Language Processing — NLP), (Abdel-Hamid i dr. 2014, Kim 2014). Najširu primenu konvolucijske neuronske mreže našle su u oblasti mašinskog vida. Ove mreže su dobile ime na osnovu operacije konvolucije, koja se primenjuje u obradi signala i slike (Fisher i dr. 2014). Intenzivnije istraživanje se beleži poslednje dve decenije.
Od 2012. godine ove mreže zvanično postaju jedna od glavnih tema kako naučno-istraživačkih radova, tako i realne primene na različite digitalne i industrijske sisteme. Konvolucijske neuronske mreže, za razliku od drugih metoda veštačke inteligencije, obrađuju daleko veći broj podataka. Ideja konvolucijskih mreža jeste da se postavi veći broj slojeva za otkrivanje bitnih karakteristika ulaznih podataka. Odavde proizilazi potreba za značajnim hardverskim resursima jer se za treniranje modela koristi veliki broj slika, tzv. Big Data. Količina podataka igra jednu od ključnih uloga. Ipak prema nekim istraživanjima, dolazi se i do zadovoljavajućih rezultata sa manjim brojem uzoraka.
Kao što je napomenuto, duboko učenje se oslanja na neuronske mreže (NN). Kada su u pitanju konvolucijske mreže, one se sastoje od ulaza i izlaza (kao kod klasičnih NN) i između njih se nalaze slojevi gde konvolucijsku neuronsku mrežu sačinjava jedan ili više konvolucijskih slojeva koji se nalaze na početku (oni se potpuno razlikuju od klasičnih NN) i jedan ili više potpuno povezanih slojeva koji su isti kao kod klasičnih NN, koji se obično nalaze na kraju mreže. Domaći autori Dabović i Tartalja u radu (Dabovic i Tartalja 2017) prikazali su osnove konvolucijskih filtera, funkcionisanje slojeva sažimanja i potpuno povezanih slojeva. U narednim pričama će biti dat detaljniji opis mogućih slojeva mreže.
Duboko učenje se generalno sastoji od velikog broja lejera. Koliko lejera je potrebno za neki problem određuje se pošto se izvrši znatan broj eksperimenata.
U većini novih istraživanja koristi se prenosno učenje (eng. Transfer learning) gde može da se menja samo poslednji sloj sa novim podacima u već istreniranoj neuronskoj mreži. Za treniranje nove mreže ponekad je potrebno više dana, čak i nedelja u zavisnosti od kompleksnosti problema i količini trening podataka, pa se upotrebom prenosnog učenja smanjuje vreme učenja/treniranja jer se koriste već istrenirani težinski faktori (Stanford Univ., CS231n 2016).
U mojim pričama koje se odnose na mašinski vid, ulazni podatak je slika. Računar vidi ulazni podatak (sliku) kao matricu. U zavisnosti od toga da li je slika crno-bela ili u boji, ulazni podatak će biti u vidu jedne ili tri matrice (npr. RGB — tri kanala: crvena, zelena, plava boja), tako da se ulazni podatak zapisuje u formatu HxWxC (eng. Height — visina; Width — širina; Channels — broj kanala).
Za ovaj prvi deo sažeto-uopštena priča i najbitniji delovi, a već u sledećoj se fokusiram na deo po deo detaljnije.
Reference:
Karpathy, A., Toderici, G., Shetty, S., Leung, T., Sukthankar, R., Fei-Fei, L. 2014. Large-scale video classification with convolutional neural networks. IEEE Conference on Computer Vision and Pattern Recognition pp. 1725–1732.
Kamilaris, A., Prenafeta-Boldú, F.X. 2018. A review of the use of convolutional neural network. The Journal of Agricultural Science. doi:10.1017/S0021859618000436
Abdel-Hamid, O., Mohamed, A.R., Jiang, H., Deng, L., Penn, G., Yu, D. 2014. Convolutional neural networks for speech recognition. IEEE/ACM Transactions on Audio, Speech, and Language Processing. Vol. 22. pp.1533–1545. doi:10.1109/TASLP.2014.2339736
Kim, Y. 2014. Convolutional neural networks for sentence classification. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). pp. 1746–1751.
Fisher, R., Breckon, T., Dawson-Howe, K., Fitzgibbon, A., Robertson, C., Trucco, E., Williams, C. 2014. Dictionary of computer vision and image processing. Second Edition, Wiley.
Dabovic, M., Tartalja, I. 2017. Duboke konvolucijske neuronske mreže — koncepti i aktuelna istraživanja. Zbornik 61. Konferencije za elektroniku, telekomunikacije, računarstvo, automatiku i nuklearnu tehniku, ETRAN 2017. VI1.1.1–6.Kadovo, Srbija.
Do sutra…zapamtite poslednju sliku, odnosno da računar razume sliku kao brojeve.