Duboko učenje

**Duboko učenje** je podoblast mašinskog učenja zasnovana na  korišćenju neuronskih mreža. Pridjev "duboko" odnosi se na korištenje više slojeva u mreži. Korištene metode mogu biti supervizirane, polu-supervizirane ili nesupervizirane .

Arhitekture dubokog učenja kao što su duboke neuronske mreže, mreže dubokih verovanja, rekurentne neuronske mreže, konvolucione neuronske mreže i transformeri primenjuju se u oblastima uključujući računarsku viziju, prepoznavanje govora, prirodno jezičko procesiranje, mašinsko prevođenje, bioinformatiku, dizajn lekova, analiza medicinskih slika, klimatske nauke, inspekciju materijala i programe za društvene igre, gde su postigli rezultate koji su ponekad nadmašili ljudsku stručnost.

Rani oblici neuronskih mreža inspirisane su procesiranjem informacija i distribuiranim komunikacionim čvorovima u biološkim sistemima, posebno u ljudskom mozgu. Međutim, trenutne neuronske mreže ne pokušavaju da modeliraju funkciju mozga organizama i generalno se smatraju modelima niskog kvaliteta za tu svrhu 

## Pregled
Moderni algoritmi dubokog učenja se zasnivaju na neuronskim mrežama sa više slojeva. Slojevi se sastoje od neurona. Neki od tipa neuronskih mreža koje imaju ovakvu arhitekturu jesu konvolucione neuronske mreže, kao i transformeri..

U suštini, duboko učenje se odnosi na algoritme mašinskog učenja koji imaju određenu hijerarhiju slojeva. Ova sekvencija slojeva služi da pretvori ulazne podatke u neku određenu astrakciju i složenu reprezentaciju tog ulaza. U slučaju računarskoj vida, prvi sloj može predstavljati apstrakcije u vidu linija i krugova, zatim drugi sloj, može prepoznati ivice, dok sledeći sloj može prepoznavati kompleksnije oblike, poput nosa, usta i očiju u slučaju rešavanja problema detekcije lica.

Važno je napomenuti da proces dubokog učenja može *sam* da nađe mesto gde će koje karakteristike naučiti u arhitekturi. Prije dubokog učenja, tehnike mašinskog učenja često su uključivale ručno pravljene karakteristike gde bi se podaci transformisali u prikladniji oblik za algoritam sa kojim će raditi. U pristupu dubokog učenja, karakteristike nisu ručno izrađene i model automatski otkriva korisne karakteristike iz podataka. Ovo ne eliminiše potrebu za ručnim podešavanjem; na primjer, parametri poput broj slojeva i broj neurona po sloju mogu različito uticati na proces konvergencije i pronalaženje modela koji najbolje radi za dati problem.

Riječ "duboko" u terminu "duboko učenje" odnosi se na broj slojeva kroz koje se podaci transformiraju. Preciznije, sistemi dubokog učenja imaju značajnu dubinu *kreditnog puta* (eng. credi assignment path, *CAP*). CAP je lanac transformacija od ulaza do izlaza. CAP-ovi opisuju potencijalno uzročne veze između ulaza i izlaza. Za "feedforward" neuronsku mrežu, dubina CAP-ova je dubina mreže, gde predstavlja broj skrivenih slojeva plus jedan (pošto je izlazni sloj također parametriran). Za rekurentne neuronske mreže, u kojima se signal može propagirati kroz sloj više puta, dubina CAP-a je potencijalno neograničena. Nijedan univerzalno dogovoreni prag dubine ne dijeli plitko učenje od dubokog učenja, ali većina istraživača se slaže da duboko učenje uključuje CAP dubinu veću od 2. Pokazalo se da je CAP dubine 2 univerzalni aproksimator u smislu da može emulirati bilo koju funkciju. Osim toga, više slojeva ne doprinosi boljoj sposobnosti aproksimatora funkcije mreže. Duboki modeli (CAP > 2) mogu izdvojiti bolje karakteristike od plitkih modela i stoga dodatni slojevi pomažu u efikasnom učenju karakteristika, ali veći broj slojeva takođe može dovesti i do problema  modela.

Arhitekture mreža dubokog učenja mogu biti konstruisane po principu pohlepnog algoritma za svaki sloj u arhitekturi. Svaki sloj pronalazi najoptimalnije rešenje za taj sloj, dok metode dubokog učenja pomažu da odluče koje od ovih apstrakcija najoptimalnije rešavaju zadati problem.

Algoritmi dubokog učenja mogu se primijeniti na zadatke učenja bez supervizije. Ovo je važna prednost jer su nelabelirani podaci mnogo brojniji od labeliranih podataka. Primjeri ovakvih struktura koje se mogu obučiti na način bez supervizije su mreže duboke verovatnoće  .

## Interpretacije
Duboke neuronske mreže se generalno tumače u terminima teoreme univerzalne aproksimacije   ili probabilističkog zaključivanja .

## Historija
Inicijalno su postojale su dvije vrste veštačkih neuronskih mreža (ANN): feedforward neuronske mreže  (FNN) i rekurentne neuronske mreže (RNN). RNN-ovi su bazirani na cikličnom povezivanju u svojoj arhitekturi, dok FNN nisu. Wilhelm Lenz i Ernst Ising su kreirali Izingov model  koji je u suštini RNN arhitektura koja se ne može trenirati i koja se sastoji od elemenata sličnih neuronima. Godine 1972. Shun'ichi Amari je ovu arhitekturu učinio adaptivnom. Njegovu RNN koja može da uči, jeste popularizirao John Hopfield 1982.

### Revolucija dubokog učenja

Krajem 2000-ih, duboko učenje je počelo da nadmašuje druge metode u takmičenjima u mašinskom učenju. Godine 2009., LSTM mreža (Alex Graves et al)  je bio prvi RNN koji je pobijedio na takmičenjima, pobijedivši u tri takmičenja u  prepoznavanju rukopisa.

Značajni uticaji na prepoznavanje slika ili objekata osjetili su se od 2011. do 2012. godine. Iako su CNN-ovi obučeni propagacijom unazad postojali decenijama, kao i GPU implementacije neuronskih mreža godinama, uključujući i CNN-ove, bile su potrebne brže implementacije CNN-a na GPU-ima za napredak u kompjuterskom vidu . Godine 2011. *DanNet*  Dana Ciresana, Ueli Meier, Jonathan Masci, Luca Maria Gambardella i Jürgen Schmidhuber postigao je prvi put nadljudsku izvedbu na takmičenju u prepoznavanju vizuelnih obrazaca, nadmašujući tradicionalne metode za faktor od 3  Takođe 2011. DanNet je pobijedio na ICDAR takmičenju kineskog rukopisa, u maju 2012. pobijedio je na ISBI takmičenju za segmentaciju slika.  CNN-ovi do 2011. nisu igrali veliku ulogu na konferencijama o kompjuterskom vidu, ali je u junu 2012. objavljen rad Ciresana et al. na vodećoj konferenciji CVPR  pokazao je kako maksimalno udruživanje CNN-ova na GPU može dramatično poboljšati mnoge rekorde za mjerenje vida. U septembru 2012. DanNet je također pobijedio na ICPR takmičenju za analizu velikih medicinskih slika za otkrivanje raka, a naredne godine i na MICCAI Grand Challenge-u na istu temu. U oktobru 2012. sličan AlexNet od Alexa Krizhevskyja, Ilye Sutskevera i Geoffreya Hintona  pobijedio je na velikom takmičenju ImageNet sa značajnom razlikom u odnosu na plitke metode mašinskog učenja. Mreža VGG-16 Karen Simonyan i Andrewa Zissermana  dodatno je smanjila stopu greške i pobijedila na takmičenju ImageNet 2014, prateći sličan trend u prepoznavanju govora velikih razmjera.

Klasifikacija slika je zatim proširena na izazovniji zadatak generiranja opisa (naslova) za slike, često kao kombinacija CNN-a i LSTM-a.

## Neuralne mreže
**Veštačke neuronske mreže** ( **ANN** ) ili **konekcionistički sistemi** su računarski sistemi inspirisani biološkim neuronskim mrežama koje čine životinjski mozak. Takvi sistemi uče (progresivno poboljšavaju svoju sposobnost) da rade zadatke razmatranjem primjera, općenito bez programiranja specifičnog za zadatak. Na primjer, u prepoznavanju slika, mogli bi naučiti identificirati slike koje sadrže mačke analizom primjera slika koje su ručno označene kao "mačka" ili "bez mačke" i korištenjem analitičkih rezultata za identifikaciju mačaka na drugim slikama. Najviše su koristili u aplikacijama koje je teško izraziti tradicionalnim kompjuterskim algoritmom koristeći programiranje zasnovano na pravilima .

## Reference