Sadržaj[Sakrij][Prikaži]
- 1. Šta je zapravo duboko učenje?
- 2. Šta razlikuje duboko učenje od mašinskog učenja?
- 3. Kakva su vaša trenutna razumijevanja neuronskih mreža?
- 4. Šta je zapravo perceptron?
- 5. Šta je zapravo duboka neuronska mreža?
- 6. Šta je zapravo višeslojni perceptron (MLP)?
- 7. Koju svrhu imaju funkcije aktivacije u neuronskoj mreži?
- 8. Šta je zapravo Gradijentno spuštanje?
- 9. Šta je zapravo funkcija troškova?
- 10. Kako duboke mreže mogu nadmašiti plitke?
- 11. Opišite propagaciju naprijed.
- 12. Šta je backpropagation?
- 13. U kontekstu dubokog učenja, kako shvaćate isecanje gradijenta?
- 14. Koje su Softmax i ReLU funkcije?
- 15. Može li se model neuronske mreže trenirati sa svim težinama postavljenim na 0?
- 16. Šta razlikuje epohu od serije i iteracije?
- 17. Šta su paketna normalizacija i napuštanje?
- 18. Šta odvaja stohastički gradijentni spust od grupnog gradijentnog spuštanja?
- 19. Zašto je ključno uključiti nelinearnosti u neuronske mreže?
- 20. Šta je tenzor u dubokom učenju?
- 21. Kako biste odabrali funkciju aktivacije za model dubokog učenja?
- 22. Šta mislite pod CNN?
- 23. Koji su to mnogi CNN slojevi?
- 24. Koji su efekti prekomjerne i nedovoljne opreme i kako ih možete izbjeći?
- 25. U dubokom učenju, šta je RNN?
- 26. Opišite Adam Optimizer
- 27. Duboki autoenkoderi: šta su oni?
- 28. Šta Tenzor znači u Tensorflowu?
- 29. Objašnjenje računskog grafa
- 30. Generativne adversarijske mreže (GAN): šta su one?
- 31. Kako ćete odabrati broj neurona i skrivenih slojeva koje ćete uključiti u neuronsku mrežu dok dizajnirate arhitekturu?
- 32. Koje vrste neuronskih mreža se koriste u učenju sa dubokim potkrepljenjem?
- zaključak
Duboko učenje nije potpuno nova ideja. Umjetne neuronske mreže služe kao jedini temelj podskupa mašinskog učenja poznatog kao duboko učenje.
Duboko učenje je imitacija ljudskog mozga, baš kao što su neuronske mreže, jer su stvorene da oponašaju ljudski mozak.
To je bilo neko vrijeme. Ovih dana svi pričaju o tome jer nemamo ni približno toliko procesorske snage ili podataka kao sada.
Tokom proteklih 20 godina, duboko učenje i mašinsko učenje su se pojavili kao rezultat dramatičnog porasta kapaciteta obrade.
Kako bismo vam pomogli da se pripremite za sve upite s kojima se možete suočiti kada tražite posao iz snova, ovaj će vas post voditi kroz niz pitanja za intervjue za duboko učenje, od jednostavnih do komplikovanih.
1. Šta je zapravo duboko učenje?
Ako pohađate a duboko učenje intervjuu, nesumnjivo razumete šta je duboko učenje. Anketar, međutim, očekuje da date detaljan odgovor zajedno sa ilustracijom kao odgovor na ovo pitanje.
Da bi trenirao neuronske mreže za duboko učenje moraju se koristiti značajne količine organizovanih ili nestrukturiranih podataka. Da bi pronašao skrivene obrasce i karakteristike, radi komplikovane procedure (na primjer, razlikuje sliku mačke od slike psa).
2. Šta razlikuje duboko učenje od mašinskog učenja?
Kao grana vještačke inteligencije poznata kao mašinsko učenje, mi obučavamo računare koristeći podatke i statističke i algoritamske tehnike kako bi vremenom postajali sve bolji.
Kao aspekt mašinsko učenje, duboko učenje imitira arhitekturu neuronske mreže koja se vidi u ljudskom mozgu.
3. Kakva su vaša trenutna razumijevanja neuronskih mreža?
Veštački sistemi poznati kao neuronske mreže veoma liče na organske neuronske mreže koje se nalaze u ljudskom telu.
Koristeći tehniku koja liči na ljudski mozak funkcije, neuronska mreža je kolekcija algoritama koja ima za cilj da identifikuje osnovne korelacije u komadu podataka.
Ovi sistemi stiču znanje specifično za zadatak tako što se izlažu nizu skupova podataka i primjera, umjesto da slijede bilo koja pravila koja su specifična za zadatak.
Ideja je da, umjesto da ima unaprijed programirano razumijevanje ovih skupova podataka, sistem uči karakteristike razlikovanja od podataka koje dobija.
Tri mrežna sloja koji se najčešće koriste u neuronskim mrežama su sljedeća:
- Ulazni sloj
- Skriveni sloj
- Izlazni sloj
4. Šta je zapravo perceptron?
Biološki neuron koji se nalazi u ljudskom mozgu je uporediv sa perceptronom. Perceptron prima više ulaza, koji zatim izvodi brojne transformacije i funkcije i proizvodi izlaz.
Linearni model nazvan perceptron koristi se u binarnoj klasifikaciji. On simulira neuron sa različitim ulazima, svaki sa različitom težinom.
Neuron izračunava funkciju koristeći ove ponderisane ulaze i daje rezultate.
5. Šta je zapravo duboka neuronska mreža?
Duboka neuronska mreža je umjetna neuronska mreža (ANN) s nekoliko slojeva između ulaznog i izlaznog sloja (DNN).
Duboke neuronske mreže su neuronske mreže duboke arhitekture. Riječ "duboko" odnosi se na funkcije s mnogo nivoa i jedinica u jednom sloju. Precizniji modeli se mogu kreirati dodavanjem više i većih slojeva kako bi se uhvatili veći nivoi uzoraka.
6. Šta je zapravo višeslojni perceptron (MLP)?
Ulazni, skriveni i izlazni slojevi prisutni su u MLP-ovima, slično kao u neuronskim mrežama. Izgrađen je slično kao jednoslojni perceptron sa jednim ili više skrivenih slojeva.
Binarni izlaz perceptrona jednog sloja može kategorizirati samo linearne odvojive klase (0,1), dok MLP može klasificirati nelinearne klase.
7. Koju svrhu imaju funkcije aktivacije u neuronskoj mreži?
Funkcija aktivacije određuje da li se neuron treba aktivirati na najosnovnijem nivou. Bilo koja funkcija aktiviranja može prihvatiti ponderisani zbir ulaza plus pristranost kao ulaz. Aktivacijske funkcije uključuju funkciju koraka, Sigmoid, ReLU, Tanh i Softmax.
8. Šta je zapravo Gradijentno spuštanje?
Najbolji pristup za minimiziranje funkcije troškova ili greške je gradijentni pad. Pronalaženje lokalno-globalnih minimuma funkcije je cilj. Ovo specificira putanju koju model treba slijediti da bi se pogreška svela na minimum.
9. Šta je zapravo funkcija troškova?
Funkcija troškova je metrika za procjenu koliko dobro vaš model radi; ponekad je poznat kao "gubitak" ili "greška". Tokom propagacije unazad, koristi se za izračunavanje greške izlaznog sloja.
Iskorištavamo tu nepreciznost kako bismo unaprijedili procese obuke neuronske mreže tako što smo je gurali nazad kroz neuronsku mrežu.
10. Kako duboke mreže mogu nadmašiti plitke?
Skriveni slojevi se dodaju neuronskim mrežama pored ulaznih i izlaznih slojeva. Između ulaznog i izlaznog sloja, plitke neuronske mreže koriste jedan skriveni sloj, dok duboke neuronske mreže koriste brojne nivoe.
Plitka mreža zahtijeva nekoliko parametara da bi se mogla uklopiti u bilo koju funkciju. Duboke mreže mogu bolje odgovarati funkcijama čak i sa malim brojem parametara jer uključuju nekoliko slojeva.
Duboke mreže su sada poželjnije zbog njihove svestranosti u radu sa bilo kojom vrstom modeliranja podataka, bilo da se radi o prepoznavanju govora ili slike.
11. Opišite propagaciju naprijed.
Unosi se prenose zajedno sa težinama do zakopanog sloja u procesu poznatom kao prosleđivanje propagacije.
Izlaz funkcije aktivacije se izračunava u svakom zakopanom sloju prije nego što obrada može ići na sljedeći sloj.
Proces počinje na ulaznom sloju i napreduje do krajnjeg izlaznog sloja, dakle širenje imena naprijed.
12. Šta je backpropagation?
Kada se težine i pristranosti prilagođavaju u neuronskoj mreži, propagacija unazad se koristi za smanjenje funkcije troškova tako što se prvo promatra kako se vrijednost mijenja.
Razumijevanje gradijenta na svakom skrivenom sloju čini izračunavanje ove promjene jednostavnim.
Proces, poznat kao propagacija unazad, počinje na izlaznom sloju i kreće se nazad do ulaznih slojeva.
13. U kontekstu dubokog učenja, kako shvaćate isecanje gradijenta?
Odsecanje gradijenta je metoda za rešavanje problema eksplodirajućih gradijenata koji nastaju tokom propagacije unazad (stanje u kojem se tokom vremena akumuliraju značajni netačni gradijenti, što dovodi do značajnih prilagođavanja težina modela neuronske mreže tokom treninga).
Eksplodirajući gradijenti je problem koji se javlja kada gradijenti postanu preveliki tokom treninga, čineći model nestabilnim. Ako je gradijent prešao očekivani raspon, vrijednosti gradijenta se guraju element po element na unaprijed definiranu minimalnu ili maksimalnu vrijednost.
Odsecanje gradijenta poboljšava numeričku stabilnost neuronske mreže tokom treninga, ali ima minimalan uticaj na performanse modela.
14. Koje su Softmax i ReLU funkcije?
Aktivacijska funkcija zvana Softmax proizvodi izlaz u rasponu između 0 i 1. Svaki izlaz je podijeljen tako da je zbroj svih izlaza jedan. Za izlazne slojeve, Softmax se često koristi.
Ispravljena linearna jedinica, ponekad poznata kao ReLU, je najčešće korištena aktivacijska funkcija. Ako je X pozitivan, on daje X, u suprotnom daje nule. ReLU se redovno nanosi na ukopane slojeve.
15. Može li se model neuronske mreže trenirati sa svim težinama postavljenim na 0?
Neuronska mreža nikada neće naučiti da završi dati posao, stoga nije moguće trenirati model inicijalizacijom svih težina na 0.
Derivati će ostati isti za svaku težinu u W [1] ako se sve težine inicijaliziraju na nulu, što će rezultirati da neuroni uče iste karakteristike iterativno.
Ne samo inicijalizacija pondera na 0, već na bilo koji oblik konstante vjerovatno će rezultirati podparnim rezultatom.
16. Šta razlikuje epohu od serije i iteracije?
Različiti oblici obrade skupova podataka i tehnike gradijentnog spuštanja uključuju seriju, iteraciju i epohu. Epoha uključuje jednokratnu neuronsku mrežu s punim skupom podataka, kako naprijed tako i nazad.
Da bi se pružili pouzdani rezultati, skup podataka se često prosljeđuje nekoliko puta jer je prevelik za prolazak u jednom pokušaju.
Ova praksa uzastopnog pokretanja male količine podataka kroz neuronsku mrežu naziva se iteracija. Kako bi se zajamčilo da skup podataka uspješno prolazi kroz neuronske mreže, može se podijeliti na nekoliko grupa ili podskupova, što je poznato kao batching.
Ovisno o veličini zbirke podataka, sve tri metode – epoha, iteracija i veličina serije – su u suštini načini korištenja algoritam gradijentnog spuštanja.
17. Šta su paketna normalizacija i napuštanje?
Ispadanje sprečava preopterećenje podataka tako što nasumično uklanja i vidljive i skrivene mrežne jedinice (obično se ispušta 20 posto čvorova). To udvostručuje broj iteracija potrebnih da bi se mreža konvergirala.
Normalizacijom ulaza u svakom sloju da imaju srednju izlaznu aktivaciju od nule i standardnu devijaciju od jedan, batch normalizacija je strategija za poboljšanje performansi i stabilnosti neuronskih mreža.
18. Šta odvaja stohastički gradijentni spust od grupnog gradijentnog spuštanja?
Batch Gradijentni spuštanje:
- Kompletan skup podataka se koristi za konstruisanje gradijenta za batch gradijent.
- Ogromna količina podataka i ponderi koji se sporo ažuriraju otežavaju konvergenciju.
Stohastički gradijentni pad:
- Stohastički gradijent koristi jedan uzorak za izračunavanje gradijenta.
- Zbog češćih promjena težine, konvergira znatno brže od gradijenta serije.
19. Zašto je ključno uključiti nelinearnosti u neuronske mreže?
Bez obzira na to koliko slojeva ima, neuronska mreža će se ponašati kao perceptron u odsustvu nelinearnosti, čineći izlaz linearno zavisnim od ulaza.
Drugim riječima, neuronska mreža s n slojeva i m skrivenih jedinica i linearnih aktivacijskih funkcija je ekvivalentna linearnoj neuronskoj mreži bez skrivenih slojeva i sa sposobnošću da detektuje isključivo granice linearnog razdvajanja.
Bez nelinearnosti, neuronska mreža nije u stanju riješiti komplikovane probleme i precizno kategorizirati ulaz.
20. Šta je tenzor u dubokom učenju?
Višedimenzionalni niz poznat kao tenzor služi kao generalizacija matrica i vektora. To je ključna struktura podataka za duboko učenje. N-dimenzionalni nizovi osnovnih tipova podataka koriste se za predstavljanje tenzora.
Svaka komponenta tenzora ima isti tip podataka, a ovaj tip podataka je uvijek poznat. Moguće je da je poznat samo komad oblika – naime, koliko dimenzija ima i kolika je svaka od njih.
U situacijama kada su i ulazi potpuno poznati, većina operacija proizvodi potpuno poznate tenzore; u drugim slučajevima, forma tenzora se može uspostaviti samo tokom izvršavanja grafa.
21. Kako biste odabrali funkciju aktivacije za model dubokog učenja?
- Ima smisla koristiti linearnu aktivacijsku funkciju ako je ishod koji se mora anticipirati stvaran.
- Sigmoidnu funkciju treba koristiti ako je izlaz koji se mora predvidjeti vjerovatnoća binarne klase.
- Tanh funkcija se može koristiti ako projektovani izlaz sadrži dvije klasifikacije.
- Zbog svoje lakoće izračunavanja, ReLU funkcija je primjenjiva u širokom rasponu situacija.
22. Šta mislite pod CNN?
Duboke neuronske mreže koje su specijalizovane za evaluaciju vizuelnih slika uključuju konvolucione neuronske mreže (CNN ili ConvNet). Ovdje, umjesto u neuronskim mrežama gdje vektor predstavlja ulaz, ulaz je višekanalna slika.
Višeslojni perceptroni se koriste na poseban način od strane CNN-a koji zahtijeva vrlo malo predprocesiranja.
23. Koji su to mnogi CNN slojevi?
Konvolucijski sloj: Glavni sloj je konvolucijski sloj, koji ima niz filtera koji se mogu naučiti i prijemčivo polje. Ovaj početni sloj uzima ulazne podatke i izdvaja njihove karakteristike.
ReLU sloj: Čineći mreže nelinearnim, ovaj sloj pretvara negativne piksele u nulu.
Sloj objedinjavanja: Minimiziranjem obrade i mrežnih postavki, sloj objedinjavanja postupno minimizira prostornu veličinu reprezentacije. Max pooling je najčešće korištena metoda udruživanja.
24. Koji su efekti prekomjerne i nedovoljne opreme i kako ih možete izbjeći?
Ovo je poznato kao prekomjerno prilagođavanje kada model nauči zamršenosti i šum u podacima obuke do tačke u kojoj to negativno utječe na korištenje novih podataka od strane modela.
Vjerovatnije je da će se to dogoditi s nelinearnim modelima koji su prilagodljiviji dok uče funkciju cilja. Model se može osposobiti za otkrivanje automobila i kamiona, ali može biti u stanju identificirati samo vozila s određenim oblikom kutije.
S obzirom da je bio obučen samo za jednu vrstu kamiona, možda neće moći otkriti kamion s ravnim platformama. Na podacima o obuci, model radi dobro, ali ne u stvarnom svijetu.
Nedovoljno opremljen model odnosi se na onaj koji nije dovoljno obučen za podatke ili nije u stanju da generalizira na nove informacije. Ovo se često dešava kada se model obučava sa nedovoljnim ili netačnim podacima.
Preciznost i performanse su ugrožene nedostatkom opreme.
Ponovno uzorkovanje podataka za procjenu tačnosti modela (K-struka unakrsna validacija) i korištenje skupa podataka za provjeru valjanosti za procjenu modela su dva načina da se izbjegne preopterećenje i nedovoljno uklapanje.
25. U dubokom učenju, šta je RNN?
Rekurentne neuronske mreže (RNN), uobičajena vrsta umjetnih neuronskih mreža, idu pod skraćenicom RNN. Koriste se za obradu genoma, rukopisa, teksta i nizova podataka, između ostalog. Za potrebnu obuku, RNN koriste propagaciju unazad.
26. Opišite Adam Optimizer
Adam optimizator, također poznat kao adaptivni momentum, je tehnika optimizacije razvijena za rukovanje bučnim situacijama s rijetkim gradijentima.
Pored pružanja ažuriranja po parametru za bržu konvergenciju, Adam optimizator poboljšava konvergenciju kroz zamah, osiguravajući da model ne bude zarobljen u tački sedla.
27. Duboki autoenkoderi: šta su oni?
Duboki autoenkoder je zajednički naziv za dvije simetrične duboke mreže vjerovanja koje općenito uključuju četiri ili pet plitkih slojeva za polovinu mreže za kodiranje i drugi set od četiri ili pet slojeva za polovinu dekodiranja.
Ovi slojevi čine temelj dubokih mreža vjerovanja i ograničeni su Boltzmannovim mašinama. Nakon svakog RBM-a, duboki automatski koder primjenjuje binarne promjene na skup podataka MNIST.
Mogu se koristiti i u drugim skupovima podataka gdje bi Gausove ispravljene transformacije bile poželjnije u odnosu na RBM.
28. Šta Tenzor znači u Tensorflowu?
Ovo je još jedno pitanje za intervju za duboko učenje koje se redovno postavlja. Tenzor je matematički koncept koji se vizualizira kao nizovi više dimenzije.
Tenzori su ovi nizovi podataka koji se daju kao ulaz u neuronsku mrežu i imaju različite dimenzije i rangiranje.
29. Objašnjenje računskog grafa
Osnova TensorFlow-a je konstrukcija računskog grafa. Svaki čvor funkcionira u mreži čvorova, gdje čvorovi označavaju matematičke operacije, a ivice za tenzore.
Ponekad se naziva „Graf protoka podataka“ jer podaci teku u obliku grafikona.
30. Generativne adversarijske mreže (GAN): šta su one?
U dubokom učenju, generativno modeliranje se postiže korištenjem generativnih suparničkih mreža. To je posao bez nadzora gdje se rezultat proizvodi identificiranjem obrazaca u ulaznim podacima.
Diskriminator se koristi za kategorizaciju instanci proizvedenih od strane generatora, dok se generator koristi za proizvodnju novih primjera.
31. Kako ćete odabrati broj neurona i skrivenih slojeva koje ćete uključiti u neuronsku mrežu dok dizajnirate arhitekturu?
S obzirom na poslovni izazov, precizan broj neurona i skrivenih slojeva potrebnih za izgradnju arhitekture neuronske mreže ne može se odrediti nikakvim čvrstim i brzim pravilima.
U neuronskoj mreži, veličina skrivenog sloja bi trebala pasti negdje na sredinu veličine ulaznog i izlaznog sloja.
Ipak, početak u kreiranju dizajna neuronske mreže može se postići na nekoliko jednostavnih metoda:
Počevši od nekog osnovnog sistematskog testiranja da se vidi šta bi najbolje radilo za bilo koji određeni skup podataka na osnovu prethodnog iskustva s neuronskim mrežama u sličnim postavkama u stvarnom svijetu, najbolji je način da se uhvati u koštac sa svakim jedinstvenim izazovom prediktivnog modeliranja u stvarnom svijetu.
Mrežna konfiguracija se može izabrati na osnovu nečijeg znanja o domenu problema i prethodnog iskustva u neuronskoj mreži. Kada se procjenjuje podešavanje neuronske mreže, broj slojeva i neurona koji se koriste za srodne probleme je dobro mjesto za početak.
Složenost neuronske mreže treba postepeno povećavati na osnovu projektovanog izlaza i tačnosti, počevši od jednostavnog dizajna neuronske mreže.
32. Koje vrste neuronskih mreža se koriste u učenju sa dubokim potkrepljenjem?
- U paradigmi mašinskog učenja koja se zove učenje uz potkrepljenje, model djeluje tako da maksimizira ideju kumulativne nagrade, baš kao što to rade žive stvari.
- Igre i samovozeća vozila opisani su kao problemi koji uključuju učenje ojačavanja.
- Ekran se koristi kao ulaz ako je problem koji se predstavlja igra. Da bi proizveo izlaz za naredne faze, algoritam uzima piksele kao ulaz i obrađuje ih preko mnogih slojeva konvolucionih neuronskih mreža.
- Rezultati djelovanja modela, povoljni ili loši, djeluju kao potkrepljenje.
zaključak
Duboko učenje je poraslo u popularnosti tokom godina, sa primenama u gotovo svim oblastima industrije.
Kompanije sve više traže kompetentne stručnjake koji mogu dizajnirati modele koji repliciraju ljudsko ponašanje koristeći pristupe dubokog učenja i mašinskog učenja.
Kandidati koji povećavaju svoje vještine i održavaju svoje znanje o ovim najsuvremenijim tehnologijama mogu pronaći širok spektar radnih prilika uz atraktivnu platu.
Možete započeti s intervjuima sada kada ste dobro shvatili kako odgovoriti na neka od najčešće traženih pitanja za intervju za duboko učenje. Poduzmite sljedeći korak na osnovu vaših ciljeva.
Posjetite Hashdork's Interview Series da se pripremi za intervjue.
Ostavite odgovor