Obsah[Skryť][Šou]
- 1. Čo to vlastne Deep Learning je?
- 2. Čo odlišuje hlboké učenie od strojového učenia?
- 3. Aké sú vaše súčasné chápanie neurónových sietí?
- 4. Čo je to vlastne perceptrón?
- 5. Čo je to vlastne hlboká neurónová sieť?
- 6. Čo presne je viacvrstvový perceptrón (MLP)?
- 7. Aký účel zohrávajú aktivačné funkcie v neurónovej sieti?
- 8. Čo presne je gradientný zostup?
- 9. Čo presne je nákladová funkcia?
- 10. Ako môžu hlboké siete prekonať tie plytké?
- 11. Opíšte dopredné šírenie.
- 12. Čo je spätná propagácia?
- 13. Ako chápete orezávanie gradientov v kontexte hlbokého učenia?
- 14. Aké sú funkcie Softmax a ReLU?
- 15. Dá sa trénovať model neurónovej siete so všetkými váhami nastavenými na 0?
- 16. Čo odlišuje epochu od dávky a iterácie?
- 17. Čo je normalizácia dávky a výpadok?
- 18. Čo oddeľuje zostup stochastického gradientu od zostupu dávkového gradientu?
- 19. Prečo je kľúčové zahrnúť nelinearity do neurónových sietí?
- 20. Čo je to tenzor v hlbokom učení?
- 21. Ako by ste si vybrali aktivačnú funkciu pre model hlbokého učenia?
- 22. Čo myslíš CNN?
- 23. Aké sú mnohé vrstvy CNN?
- 24. Aké sú účinky nadmerného a nedostatočného vybavenia a ako sa im môžete vyhnúť?
- 25. Čo je to RNN v hlbokom učení?
- 26. Opíšte Adam Optimizer
- 27. Hlboké automatické kódovače: čo to je?
- 28. Čo znamená Tensor v Tensorflow?
- 29. Vysvetlenie výpočtového grafu
- 30. Generatívne adversariálne siete (GAN): čo sú to?
- 31. Ako zvolíte počet neurónov a skrytých vrstiev, ktoré sa majú zahrnúť do neurónovej siete pri navrhovaní architektúry?
- 32. Aké druhy neurónových sietí sa využívajú pri hlbokom posilňovaní učenia?
- záver
Hlboké učenie nie je úplne nová myšlienka. Umelé neurónové siete slúžia ako jediný základ podmnožiny strojového učenia známeho ako hlboké učenie.
Hlboké učenie je napodobenina ľudského mozgu, rovnako ako neurónové siete, pretože boli vytvorené na napodobňovanie ľudského mozgu.
Už to tu bolo nejaký čas. V dnešnej dobe o tom každý hovorí, pretože nemáme ani zďaleka toľko výpočtového výkonu alebo údajov ako teraz.
Za posledných 20 rokov sa v dôsledku dramatického nárastu kapacity spracovania objavili hlboké učenie a strojové učenie.
Aby sme vám pomohli pripraviť sa na akékoľvek otázky, ktorým by ste mohli čeliť pri hľadaní svojej vysnívanej práce, tento príspevok vás prevedie množstvom otázok na pohovore, od jednoduchých až po zložité.
1. Čo to vlastne Deep Learning je?
Ak sa zúčastňujete a hlboké vzdelávanie rozhovore, nepochybne chápete, čo je hlboké učenie. Anketár však očakáva, že ako odpoveď na túto otázku poskytnete podrobnú odpoveď spolu s ilustráciou.
S cieľom trénovať neurálne siete pre hlboké učenie sa musí použiť značné množstvo organizovaných alebo neštruktúrovaných údajov. Na nájdenie skrytých vzorcov a charakteristík robí komplikované postupy (napríklad rozlišovanie obrazu mačky od obrazu psa).
2. Čo odlišuje hlboké učenie od strojového učenia?
Ako odvetvie umelej inteligencie známe ako strojové učenie trénujeme počítače pomocou údajov a štatistických a algoritmických techník, aby sa časom zlepšovali.
Ako aspekt strojové učenie, hlboké učenie napodobňuje architektúru neurónovej siete videnú v ľudskom mozgu.
3. Aké sú vaše súčasné chápanie neurónových sietí?
Umelé systémy známe ako neurónové siete sa veľmi podobajú organickým neurónovým sieťam nachádzajúcim sa v ľudskom tele.
Pomocou techniky, ktorá sa podobá tomu, ako ľudského mozgu funkcií, neurónová sieť je súbor algoritmov, ktorých cieľom je identifikovať základné korelácie v časti údajov.
Tieto systémy získavajú znalosti špecifické pre danú úlohu tým, že sa vystavujú rôznym súborom údajov a príkladov, a nie dodržiavaním pravidiel špecifických pre danú úlohu.
Ide o to, že namiesto predprogramovaného chápania týchto súborov údajov sa systém učí rozlišovať charakteristiky od údajov, ktoré dodáva.
Tri sieťové vrstvy, ktoré sa najčastejšie používajú v neurónových sieťach, sú nasledovné:
- Vstupná vrstva
- Skrytá vrstva
- Výstupná vrstva
4. Čo je to vlastne perceptrón?
Biologický neurón nachádzajúci sa v ľudskom mozgu je porovnateľný s perceptrónom. Viacnásobné vstupy prijíma perceptrón, ktorý potom vykonáva početné transformácie a funkcie a vytvára výstup.
Pri binárnej klasifikácii sa používa lineárny model nazývaný perceptrón. Simuluje neurón s rôznymi vstupmi, z ktorých každý má inú váhu.
Neurón vypočíta funkciu pomocou týchto vážených vstupov a vygeneruje výsledky.
5. Čo je to vlastne hlboká neurónová sieť?
Hlboká neurónová sieť je umelá neurónová sieť (ANN) s niekoľkými vrstvami medzi vstupnou a výstupnou vrstvou (DNN).
Hlboké neurónové siete sú neurónové siete hlbokej architektúry. Slovo „hlboký“ sa vzťahuje na funkcie s mnohými úrovňami a jednotkami v jednej vrstve. Presnejšie modely možno vytvoriť pridaním ďalších a väčších vrstiev na zachytenie väčších úrovní vzorov.
6. Čo presne je viacvrstvový perceptrón (MLP)?
Vstupná, skrytá a výstupná vrstva sú prítomné v MLP, podobne ako v neurónových sieťach. Je postavený podobne ako jednovrstvový perceptrón s jednou alebo viacerými skrytými vrstvami.
Binárny výstup jednovrstvového perceptrónu môže kategorizovať iba lineárne separovateľné triedy (0,1), zatiaľ čo MLP môže klasifikovať nelineárne triedy.
7. Aký účel zohrávajú aktivačné funkcie v neurónovej sieti?
Aktivačná funkcia určuje, či sa má neurón aktivovať na najzákladnejšej úrovni. Akákoľvek aktivačná funkcia môže akceptovať vážený súčet vstupov plus odchýlku ako vstup. Medzi aktivačné funkcie patrí kroková funkcia, sigmoid, ReLU, Tanh a Softmax.
8. Čo presne je gradientný zostup?
Najlepším prístupom k minimalizácii nákladovej funkcie alebo chyby je zostup gradientu. Cieľom je nájsť lokálne-globálne minimá funkcie. Toto špecifikuje cestu, ktorú by mal model nasledovať, aby sa minimalizovala chyba.
9. Čo presne je nákladová funkcia?
Nákladová funkcia je metrika na posúdenie výkonu vášho modelu; niekedy sa to nazýva „strata“ alebo „chyba“. Počas spätného šírenia sa používa na výpočet chyby výstupnej vrstvy.
Túto nepresnosť využívame na podporu tréningových procesov neurónovej siete tým, že ju posúvame späť cez neurónovú sieť.
10. Ako môžu hlboké siete prekonať tie plytké?
K neurónovým sieťam sa okrem vstupných a výstupných vrstiev pridávajú aj skryté vrstvy. Medzi vstupnou a výstupnou vrstvou využívajú plytké neurónové siete jedinú skrytú vrstvu, zatiaľ čo hlboké neurónové siete využívajú viaceré úrovne.
Plytká sieť vyžaduje niekoľko parametrov, aby sa mohla zmestiť do akejkoľvek funkcie. Hlboké siete môžu lepšie vyhovovať funkciám aj s malým počtom parametrov, pretože obsahujú niekoľko vrstiev.
Hlboké siete sú teraz preferované kvôli ich všestrannosti pri práci s akýmkoľvek typom dátového modelovania, či už ide o rozpoznávanie reči alebo obrazu.
11. Opíšte dopredné šírenie.
Vstupy sa prenášajú spolu so závažiami do podzemnej vrstvy v procese známom ako preposielanie.
Výstup aktivačnej funkcie je vypočítaný v každej jednej vrstve predtým, ako môže spracovanie prejsť na nasledujúcu vrstvu.
Proces začína na vstupnej vrstve a postupuje do konečnej výstupnej vrstvy, teda dopredného šírenia názvu.
12. Čo je spätná propagácia?
Keď sa váhy a odchýlky upravujú v neurónovej sieti, spätné šírenie sa používa na zníženie nákladovej funkcie tým, že sa najprv sleduje, ako sa mení hodnota.
Pochopenie gradientu v každej skrytej vrstve zjednodušuje výpočet tejto zmeny.
Proces, známy ako spätné šírenie, začína na výstupnej vrstve a presúva sa späť do vstupných vrstiev.
13. Ako chápete orezávanie gradientov v kontexte hlbokého učenia?
Gradient Clipping je metóda na vyriešenie problému explodujúcich gradientov, ktoré vznikajú počas spätného šírenia (stav, pri ktorom sa časom nahromadia významné nesprávne gradienty, čo vedie k významným úpravám váh modelu neurónovej siete počas tréningu).
Explodujúce prechody sú problém, ktorý vzniká, keď sa prechody počas tréningu príliš zväčšia, čím sa model stáva nestabilným. Ak gradient prekročí očakávaný rozsah, hodnoty gradientu sa posunú prvok po prvku na preddefinovanú minimálnu alebo maximálnu hodnotu.
Orezávanie prechodov zvyšuje numerickú stabilitu neurónovej siete počas tréningu, ale má minimálny vplyv na výkon modelu.
14. Aké sú funkcie Softmax a ReLU?
Aktivačná funkcia nazývaná Softmax vytvára výstup v rozsahu od 0 do 1. Každý výstup je rozdelený tak, aby súčet všetkých výstupov bol jeden. Pre výstupné vrstvy sa často používa Softmax.
Rectified Linear Unit, niekedy známa ako ReLU, je najpoužívanejšou aktivačnou funkciou. Ak je X kladné, na výstupe je X, inak na výstupe nuly. ReLU sa pravidelne aplikuje na zakopané vrstvy.
15. Dá sa trénovať model neurónovej siete so všetkými váhami nastavenými na 0?
Neurónová sieť sa nikdy nenaučí dokončiť danú úlohu, preto nie je možné trénovať model inicializáciou všetkých váh na 0.
Derivácie zostanú rovnaké pre každú váhu vo W [1], ak budú všetky váhy inicializované na nulu, čo bude mať za následok, že neuróny sa budú iteratívne učiť rovnaké vlastnosti.
Nielen inicializácia váh na 0, ale na akúkoľvek formu konštanty pravdepodobne povedie k podpriemernému výsledku.
16. Čo odlišuje epochu od dávky a iterácie?
Rôzne formy spracovania súborov údajov a techniky zostupu gradientu zahŕňajú dávkové, iterácie a epochy. Epocha zahŕňa jednorazovú neurónovú sieť s úplným súborom údajov, dopredu aj dozadu.
S cieľom poskytnúť spoľahlivé výsledky sa množina údajov často odovzdáva niekoľkokrát, pretože je príliš veľká na to, aby ju odovzdala na jeden pokus.
Táto prax opakovaného spúšťania malého množstva údajov cez neurónovú sieť sa označuje ako iterácia. Aby sa zaručilo, že súbor údajov úspešne prechádza neurónovými sieťami, môže byť rozdelený do niekoľkých dávok alebo podmnožín, čo je známe ako dávkovanie.
V závislosti od veľkosti zberu údajov sú všetky tri metódy – epocha, iterácia a veľkosť dávky – v podstate spôsoby použitia gradientový zostupový algoritmus.
17. Čo je normalizácia dávky a výpadok?
Výpadok zabraňuje preplneniu údajov náhodným odstránením viditeľných aj skrytých sieťových jednotiek (zvyčajne vypadne 20 percent uzlov). Zdvojnásobuje počet iterácií potrebných na konvergovanie siete.
Normalizáciou vstupov v každej vrstve tak, aby stredná aktivácia výstupu bola nula a štandardná odchýlka jedna, je dávková normalizácia stratégiou na zvýšenie výkonu a stability neurónových sietí.
18. Čo oddeľuje zostup stochastického gradientu od zostupu dávkového gradientu?
Dávkový zostup gradientu:
- Kompletná množina údajov sa používa na vytvorenie gradientu pre dávkový gradient.
- Obrovské množstvo údajov a pomaly sa aktualizujúce váhy sťažujú konvergenciu.
Stochastický gradientový zostup:
- Stochastický gradient používa na výpočet gradientu jednu vzorku.
- Vďaka častejším zmenám hmotnosti konverguje podstatne rýchlejšie ako dávkový gradient.
19. Prečo je kľúčové zahrnúť nelinearity do neurónových sietí?
Bez ohľadu na to, koľko vrstiev existuje, neurónová sieť sa bude správať ako perceptrón v neprítomnosti nelinearít, vďaka čomu bude výstup lineárne závislý od vstupu.
Inými slovami, neurónová sieť s n vrstvami a m skrytými jednotkami a lineárnymi aktivačnými funkciami je ekvivalentná lineárnej neurónovej sieti bez skrytých vrstiev a so schopnosťou detegovať iba lineárne separačné hranice.
Bez nelinearít nie je neurónová sieť schopná riešiť zložité problémy a presne kategorizovať vstupy.
20. Čo je to tenzor v hlbokom učení?
Viacrozmerné pole známe ako tenzor slúži ako zovšeobecnenie matíc a vektorov. Je to kľúčová dátová štruktúra pre hlboké učenie. Na reprezentáciu tenzorov sa používajú N-rozmerné polia základných dátových typov.
Každý komponent tenzora má rovnaký dátový typ a tento dátový typ je vždy známy. Je možné, že je známy iba kúsok tvaru – konkrétne, koľko rozmerov je a aký veľký je každý z nich – je známy.
V situáciách, keď sú vstupy tiež úplne známe, väčšina operácií produkuje úplne známe tenzory; v ostatných prípadoch môže byť forma tenzora stanovená iba počas vykonávania grafu.
21. Ako by ste si vybrali aktivačnú funkciu pre model hlbokého učenia?
- Má zmysel použiť lineárnu aktivačnú funkciu, ak je výsledok, ktorý je potrebné predvídať, skutočný.
- Sigmoidná funkcia by sa mala použiť, ak výstupom, ktorý sa má predpovedať, je pravdepodobnosť binárnej triedy.
- Funkciu Tanh možno použiť, ak projektovaný výstup obsahuje dve klasifikácie.
- Vďaka jednoduchosti výpočtu je funkcia ReLU použiteľná v širokej škále situácií.
22. Čo myslíš CNN?
Hlboké neurónové siete, ktoré sa špecializujú na vyhodnocovanie vizuálnych snímok, zahŕňajú konvolučné neurónové siete (CNN alebo ConvNet). Tu, skôr ako v neurónových sieťach, kde vektor predstavuje vstup, je vstupom viackanálový obraz.
Viacvrstvové perceptróny používajú CNN špeciálnym spôsobom, ktorý si vyžaduje veľmi malé predbežné spracovanie.
23. Aké sú mnohé vrstvy CNN?
Konvolučná vrstva: Hlavná vrstva je konvolučná vrstva, ktorá má rôzne naučiteľné filtre a receptívne pole. Táto počiatočná vrstva berie vstupné dáta a extrahuje ich charakteristiky.
Vrstva ReLU: Tým, že siete sú nelineárne, táto vrstva zmení negatívne pixely na nulu.
Združovacia vrstva: Minimalizáciou spracovania a nastavení siete združovacia vrstva postupne minimalizuje priestorovú veľkosť reprezentácie. Max pooling je najpoužívanejší spôsob združovania.
24. Aké sú účinky nadmerného a nedostatočného vybavenia a ako sa im môžete vyhnúť?
Toto je známe ako overfitting, keď sa model naučí zložitosti a šum v trénovacích údajoch do bodu, kedy to negatívne ovplyvní používanie nových údajov modelom.
Je pravdepodobnejšie, že sa to stane s nelineárnymi modelmi, ktoré sú prispôsobivejšie pri učení cieľovej funkcie. Model môže byť trénovaný na detekciu automobilov a nákladných vozidiel, ale môže byť schopný identifikovať iba vozidlá s konkrétnou krabicou.
Vzhľadom na to, že bol vyškolený len na jeden typ nákladného auta, nemusí byť schopný odhaliť valník. Na tréningových údajoch model funguje dobre, ale nie v skutočnom svete.
Nedostatočne prispôsobený model sa týka modelu, ktorý nie je dostatočne vyškolený na údajoch alebo nie je schopný zovšeobecniť nové informácie. K tomu často dochádza, keď je model trénovaný s nedostatočnými alebo nepresnými údajmi.
Presnosť a výkon sú ohrozené nedostatočným vybavením.
Prevzorkovanie údajov na odhad presnosti modelu (K-násobná krížová validácia) a použitie súboru validačných údajov na posúdenie modelu sú dva spôsoby, ako sa vyhnúť nadmernému a nedostatočnému prispôsobeniu.
25. Čo je to RNN v hlbokom učení?
Rekurentné neurónové siete (RNN), bežná rozmanitosť umelých neurónových sietí, sa označujú skratkou RNN. Používajú sa okrem iného na spracovanie genómov, rukopisu, textu a dátových sekvencií. Na potrebné školenie využívajú RNN spätné šírenie.
26. Opíšte Adam Optimizer
Optimalizátor Adam, tiež známy ako adaptívna hybnosť, je optimalizačná technika vyvinutá na zvládanie hlučných situácií s riedkymi gradientmi.
Okrem poskytovania aktualizácií pre jednotlivé parametre pre rýchlejšiu konvergenciu optimalizátor Adam zlepšuje konvergenciu prostredníctvom hybnosti, čím zaisťuje, že model nezostane uväznený v sedlovom bode.
27. Hlboké automatické kódovače: čo to je?
Deep autoencoder je súhrnný názov pre dve symetrické siete hlbokého presvedčenia, ktoré vo všeobecnosti zahŕňajú štyri alebo päť plytkých vrstiev pre kódovaciu polovicu siete a ďalšiu sadu štyroch alebo piatich vrstiev pre dekódovaciu polovicu.
Tieto vrstvy tvoria základ sietí hlbokých presvedčení a sú obmedzené Boltzmannovými strojmi. Po každom RBM hlboký automatický kódovač aplikuje binárne zmeny na množinu údajov MNIST.
Môžu sa použiť aj v iných súboroch údajov, kde by sa uprednostňovali gaussovské rektifikované transformácie pred RBM.
28. Čo znamená Tensor v Tensorflow?
Toto je ďalšia otázka na pohovore s hlbokým učením, ktorá sa pravidelne pýta. Tenzor je matematický koncept, ktorý je vizualizovaný ako polia vyššej dimenzie.
Tenzory sú tieto dátové polia, ktoré sú poskytované ako vstup do neurónovej siete a majú rôzne rozmery a hodnotenia.
29. Vysvetlenie výpočtového grafu
Základom TensorFlow je konštrukcia výpočtového grafu. Každý uzol funguje v sieti uzlov, kde uzly znamenajú matematické operácie a hrany tenzory.
Niekedy sa označuje ako „Graf toku údajov“, pretože údaje tokujú v tvare grafu.
30. Generatívne adversariálne siete (GAN): čo sú to?
V Deep Learning sa generatívne modelovanie uskutočňuje pomocou generatívnych kontraverzných sietí. Ide o prácu bez dozoru, pri ktorej sa výsledok vytvára identifikáciou vzorov vo vstupných údajoch.
Diskriminátor sa používa na kategorizáciu inštancií vytvorených generátorom, zatiaľ čo generátor sa používa na vytváranie nových príkladov.
31. Ako zvolíte počet neurónov a skrytých vrstiev, ktoré sa majú zahrnúť do neurónovej siete pri navrhovaní architektúry?
Vzhľadom na obchodnú výzvu nemožno presný počet neurónov a skrytých vrstiev potrebných na vytvorenie architektúry neurónovej siete určiť žiadnymi pevnými a rýchlymi pravidlami.
V neurónovej sieti by veľkosť skrytej vrstvy mala spadať niekde do stredu veľkosti vstupnej a výstupnej vrstvy.
Náskok pri vytváraní dizajnu neurónovej siete možno dosiahnuť niekoľkými jednoduchými metódami:
Začať s nejakým základným systematickým testovaním, aby ste zistili, čo by fungovalo najlepšie pre konkrétny súbor údajov na základe predchádzajúcich skúseností s neurónovými sieťami v podobných nastaveniach v reálnom svete, je najlepším spôsobom, ako sa vysporiadať s každou jedinečnou výzvou prediktívneho modelovania v reálnom svete.
Konfiguráciu siete je možné zvoliť na základe znalosti danej domény a predchádzajúcich skúseností s neurónovou sieťou. Pri posudzovaní nastavenia neurónovej siete je dobrým začiatkom počet vrstiev a neurónov použitých na súvisiace problémy.
Zložitosť neurónovej siete by sa mala postupne zvyšovať na základe projektovaného výkonu a presnosti, počnúc jednoduchým návrhom neurónovej siete.
32. Aké druhy neurónových sietí sa využívajú pri hlbokom posilňovaní učenia?
- V paradigme strojového učenia nazývanej posilňovacie učenie, model funguje tak, aby maximalizoval myšlienku kumulatívnej odmeny, rovnako ako živé veci.
- Hry a samoriadiace vozidlá sú opísané ako problémy, ktoré sa týkajú posilňovanie učenia.
- Obrazovka sa používa ako vstup, ak problémom, ktorý má byť znázornený, je hra. Aby sa vytvoril výstup pre ďalšie fázy, algoritmus berie pixely ako vstup a spracováva ich prostredníctvom mnohých vrstiev konvolučných neurónových sietí.
- Výsledky akcií modelu, či už priaznivé alebo zlé, pôsobia ako posilnenie.
záver
Hlboké učenie sa v priebehu rokov zvýšilo na popularite s aplikáciami prakticky vo všetkých oblastiach priemyslu.
Spoločnosti čoraz viac hľadajú kompetentných odborníkov, ktorí dokážu navrhnúť modely, ktoré replikujú ľudské správanie pomocou prístupov hlbokého učenia a strojového učenia.
Uchádzači, ktorí si rozšíria svoje zručnosti a udržia si znalosti o týchto špičkových technológiách, môžu nájsť širokú škálu pracovných príležitostí s atraktívnou odmenou.
S pohovormi môžete začať teraz, keď už dobre rozumiete tomu, ako odpovedať na niektoré z najčastejšie požadovaných otázok na pohovoroch. Urobte ďalší krok na základe vašich cieľov.
Navštívte Hashdork's Séria rozhovorov pripraviť sa na pohovory.
Nechaj odpoveď