#dan12. Deep learning — Duboko učenje #100daychallenge
Kako je ovo jedan od najčitanijih tekstova, planiram u narednim danima da ga detaljnije usavršim, što bi se reklo - do konca. Tako da ću u ovom tekstu dodati glavne delove ostalih mojih tekstova tako da ova priča može poslužiti i kao Starter pack za Deep learning. Na kraju teksta će pisati datum poslednjeg ažuriranja.
Poslednja razvijena grana mašinskog učenja je duboko učenje (eng. Deep Learning). Duboko učenje je ime koje se koristi za opis skupa algoritama zasnovanih na konceptu neuronskih mreža. Uopšteno govoreći, ovi algoritmi pokušavaju da imitiraju funkcionalnost neurona mozga, što im omogućava da efikasno uče iz primera i potom naučeno primenjuju na nove podatke.
Deep learning se najčešće povezuje sa Machine Vision (mašinskim vidom (vizijom)) i NLP (Natural Language Processing) a ovom tekstu ću se bazirati na mašinski vid i konvolucijske neuronske mreže jer je to tema koju sam izučavala i pravila modele a NLP počinjem od sredine 2021. godine.
U čemu je razlika između klasičnih i dubokih neuronskih mreža? Bacite pogled na sledeću sliku. Da biste uopše razumeli ovo jednostavno objašnjenje potrebno je da znate šta su neuronske mreže. Pretpostavljam da većina ima predznanje čim čita ovaj tekst ali ako nema, bacite pogled na ovaj kratki video kako biste razumeli suštinu. A za dublje razumevanje, naknadno ću postaviti linkove odnosno napraviti cheatsheet.
Napomena da je ovo baš baš pojednostavljen prikaz. Iz kog razloga? Klasične neuronske mreže mogu imati više skrivenih lejera, od jednog prikazanog na slici, a duboke mreže mogu imati više desetina.
Dolazimo do sledećeg pojednostavljenog pitanja: da li postoji graničan broj skrivenih lejera, kada klasična neuronska mreža prelazi u duboku neuronsku mrežu? Odgovor je NE. Iz više razloga. Prvi, jer zavisi od procesorske moći računara na kojem trenirate vašu mrežu, a drugi koji problem rešavate mrežom?
Glavna razlika je ta što dubokim neuronskim mrežama možemo da rešavamo daleko kompleksnije probleme sa više miliona ulaznih podataka (najblaže rečeno) i da ulazni podatak može biti slika, zvuk… Već sam napomenula da će većina narednih priča da se bavi mašinskim vidom gde su duboke neuronske mreže našle najveći značaj. Kratak jednostavan primer: slika dimenzije 150x150 piksela (a uglavnom su u pitanju veće rezolucije), pretvara se u 22500 neurona u ulaznom sloju što predstavlja veliki problem za klasične neuronske mreže. Slike u boji koje su predstavljene u različitim kolor prostorima, obično imaju po 3 kanala (npr. RGB. CIE Lab, HSI…) što daje 67500 neurona u samo jednom sloju! Za klasifikaciju slika se koriste konvolucijske neuronske mreže (Convolutional Neural Networks) i o njima ću vrlo brzo u nekoj sledećoj priči detaljnije.
Skorašnje povećanje interesovanja za duboko učenje je u velikoj meri rezultat dostupnosti snažnih grafičkih procesora (GPU) koji mogu efikasno da treniraju i izvršavaju algoritme dubokog učenja. To je naučnoj zajednici omogućilo da ubrza istraživanja i primenu u ovoj oblasti i odvelo algoritme do tačke u kojoj po performansama prevazilaze većinu tradicionalnih algoritama mašinskog učenja u nekoliko kategorija. Najveća primena je u oblasti mašinskog vida kao što sam već napomenula. Intenzivnije istraživanje u okviru ove oblasti beleži se poslednje dve decenije.
Ko sve koristi duboke mreže? Apsolutno svi veliki igrači počev od Googla do malih — mene koja sam koristila da klasifikujem maline :D :D :D
Uh, za to je potrebna posebna priča, super što imam još 88 kratkih na raspolaganju :)
E sad, ako se odlučite da zavirite u svet dubokog učenja a sigurno hoćete jer predstavjla obećavajući put tehnologije, nakon zavšenog kursa Machine learning, na kurseri imate specijalizaciju za Deep learning koju isto predaje Andrew Ng kao predstavnik deeplearning.ai. Sastoji se od 5 zasebnih kurseva i možete ih položiti sve i dobiti sertifikat za svaki + krajnji sertifikat, primer mog na sledećoj slici.
Nastavak u sledećoj priči jer toliko imam vremena za danas.
Do sutra…
15.05.2021.