Cuprins[Ascunde][Spectacol]
- 1. Ce este mai exact Deep Learning?
- 2. Ce diferențiază Deep Learning de Machine Learning?
- 3. Care sunt înțelegerile dvs. actuale despre rețelele neuronale?
- 4. Ce este exact un perceptron?
- 5. Ce este mai exact o rețea neuronală profundă?
- 6. Ce este exact un perceptron multistrat (MLP)?
- 7. Ce scop joacă funcțiile de activare într-o rețea neuronală?
- 8. Ce este mai exact coborârea gradientului?
- 9. Ce este exact funcția de cost?
- 10. Cum pot rețelele profunde să le depășească pe cele superficiale?
- 11. Descrieți propagarea directă.
- 12. Ce este propagarea inversă?
- 13. În contextul învățării profunde, cum înțelegeți tăierea gradientului?
- 14. Care sunt funcțiile Softmax și ReLU?
- 15. Poate fi antrenat un model de rețea neuronală cu toate ponderile setate la 0?
- 16. Ce deosebește o epocă de un lot și de o iterație?
- 17. Ce sunt normalizarea loturilor și abandonul?
- 18. Ce separă Coborârea Gradient Stochastic de Coborârea Gradient Batch?
- 19. De ce este crucial să se includă neliniaritățile în rețelele neuronale?
- 20. Ce este un tensor în deep learning?
- 21. Cum ați alege funcția de activare pentru un model de învățare profundă?
- 22. Ce vrei să spui prin CNN?
- 23. Care sunt numeroasele straturi CNN?
- 24. Care sunt efectele supraajustării și insuficientei și cum le puteți evita?
- 25. În deep learning, ce este un RNN?
- 26. Descrie Adam Optimizer
- 27. Autoencodere profunde: ce sunt acestea?
- 28. Ce înseamnă Tensor în Tensorflow?
- 29. O explicație a unui grafic de calcul
- 30. Rețele adverse generative (GAN): ce sunt acestea?
- 31. Cum veți alege numărul de neuroni și straturi ascunse pe care să le includeți în rețeaua neuronală în timp ce proiectați arhitectura?
- 32. Ce tipuri de rețele neuronale sunt folosite de învățarea prin consolidare profundă?
- Concluzie
Învățarea profundă nu este o idee nou-nouță. Rețelele neuronale artificiale servesc ca singura bază a subsetului de învățare automată cunoscut sub numele de învățare profundă.
Învățarea profundă este o imitație a creierului uman, la fel ca rețelele neuronale, deoarece au fost create pentru a imita creierul uman.
A fost asta de ceva vreme. În zilele noastre, toată lumea vorbește despre asta, deoarece nu avem atât de multă putere de procesare sau date ca acum.
În ultimii 20 de ani, învățarea profundă și învățarea automată au apărut ca urmare a creșterii dramatice a capacității de procesare.
Pentru a vă ajuta să vă pregătiți pentru orice întrebări cu care vă puteți confrunta atunci când vă căutați locul de muncă visat, această postare vă va ghida printr-o serie de întrebări de interviu pentru învățare profundă, de la simple la complicate.
1. Ce este mai exact Deep Learning?
Dacă participați la un învățare profundă interviu, înțelegi fără îndoială ce este învățarea profundă. Intervievatorul, totuși, anticipează să oferiți un răspuns detaliat împreună cu o ilustrare ca răspuns la această întrebare.
Pentru a se antrena rețele neuronale pentru învățarea profundă, trebuie utilizate cantități semnificative de date organizate sau nestructurate. Pentru a găsi modele și caracteristici ascunse, efectuează proceduri complicate (de exemplu, diferențierea imaginii unei pisici de cea a unui câine).
2. Ce diferențiază Deep Learning de Machine Learning?
Ca ramură a inteligenței artificiale cunoscută sub numele de învățare automată, antrenăm computere folosind date și tehnici statistice și algoritmice, astfel încât acestea să se îmbunătățească în timp.
Ca aspect al masina de învățare, învățarea profundă imită arhitectura rețelei neuronale văzută în creierul uman.
3. Care sunt înțelegerile dvs. actuale despre rețelele neuronale?
Sistemele artificiale cunoscute sub numele de rețele neuronale seamănă foarte mult cu rețelele neuronale organice găsite în corpul uman.
Folosind o tehnică care seamănă cu modul în care creier uman funcții, o rețea neuronală este o colecție de algoritmi care își propune să identifice corelațiile subiacente într-o bucată de date.
Aceste sisteme dobândesc cunoștințe specifice sarcinii prin expunerea la o serie de seturi de date și exemple, mai degrabă decât prin respectarea oricăror reguli specifice sarcinii.
Ideea este că, în loc să aibă o înțelegere preprogramată a acestor seturi de date, sistemul învață caracteristici distinctive din datele pe care le furnizează.
Cele trei straturi de rețea care sunt utilizate cel mai frecvent în rețelele neuronale sunt următoarele:
- Stratul de intrare
- Strat ascuns
- Stratul de ieșire
4. Ce este exact un perceptron?
Neuronul biologic găsit în creierul uman este comparabil cu un perceptron. Intrări multiple sunt primite de perceptron, care apoi efectuează numeroase transformări și funcții și produce o ieșire.
Un model liniar numit perceptron este folosit în clasificarea binară. Simulează un neuron cu o varietate de intrări, fiecare cu o greutate diferită.
Neuronul calculează o funcție folosind aceste intrări ponderate și emite rezultatele.
5. Ce este mai exact o rețea neuronală profundă?
O rețea neuronală profundă este o rețea neuronală artificială (ANN) cu mai multe straturi între straturile de intrare și de ieșire (DNN).
Rețelele neuronale profunde sunt rețele neuronale cu arhitectură profundă. Cuvântul „adânc” se referă la funcții cu mai multe niveluri și unități într-un singur strat. Pot fi create modele mai precise adăugând mai multe straturi și mai mari pentru a captura niveluri mai mari de modele.
6. Ce este exact un perceptron multistrat (MLP)?
Straturile de intrare, ascunse și de ieșire sunt prezente în MLP-uri, la fel ca în rețelele neuronale. Este construit în mod similar cu un perceptron cu un singur strat cu unul sau mai multe straturi ascunse.
Ieșirea binară a unui perceptron cu un singur strat poate clasifica numai clase liniare separabile (0,1), în timp ce MLP poate clasifica clase neliniare.
7. Ce scop joacă funcțiile de activare într-o rețea neuronală?
O funcție de activare determină dacă un neuron ar trebui să se activeze sau nu la cel mai fundamental nivel. Orice funcție de activare poate accepta suma ponderată a intrărilor plus polarizarea ca intrare. Funcțiile de activare includ funcția de pas, Sigmoid, ReLU, Tanh și Softmax.
8. Ce este mai exact coborârea gradientului?
Cea mai bună abordare pentru a minimiza o funcție de cost sau o eroare este coborârea gradientului. Găsirea minimelor locale-globale ale unei funcții este scopul. Aceasta specifică calea pe care modelul ar trebui să o urmeze pentru a minimiza eroarea.
9. Ce este exact funcția de cost?
Funcția de cost este o măsură pentru a evalua cât de bine funcționează modelul dvs.; este uneori cunoscut sub numele de „pierdere” sau „eroare”. În timpul propagării inverse, este utilizat pentru a calcula eroarea stratului de ieșire.
Exploatăm această inexactitate pentru a promova procesele de antrenament ale rețelei neuronale, împingând-o înapoi prin rețeaua neuronală.
10. Cum pot rețelele profunde să le depășească pe cele superficiale?
Straturile ascunse sunt adăugate rețelelor neuronale pe lângă straturile de intrare și ieșire. Între straturile de intrare și de ieșire, rețelele neuronale de mică adâncime folosesc un singur strat ascuns, în timp ce rețelele neuronale profunde folosesc numeroase niveluri.
O rețea de mică adâncime necesită mai mulți parametri pentru a se putea încadra în orice funcție. Rețelele profunde se pot adapta mai bine funcțiilor chiar și cu un număr mic de parametri, deoarece includ mai multe straturi.
Rețelele profunde sunt acum preferate datorită versatilității lor în lucrul cu orice tip de modelare a datelor, fie că este vorba de recunoașterea vorbirii sau a imaginilor.
11. Descrieți propagarea directă.
Intrările sunt transmise împreună cu greutățile către stratul îngropat într-un proces cunoscut sub numele de propagare de redirecționare.
Ieșirea funcției de activare este calculată în fiecare strat îngropat înainte ca procesarea să poată trece la următorul strat.
Procesul începe la nivelul de intrare și progresează până la nivelul final de ieșire, deci denumirea de propagare înainte.
12. Ce este propagarea inversă?
Atunci când ponderile și părtinirile sunt ajustate în rețeaua neuronală, propagarea inversă este utilizată pentru a reduce funcția de cost, observând mai întâi modul în care se modifică valoarea.
Înțelegerea gradientului de la fiecare strat ascuns face calcularea acestei modificări simplă.
Procesul, cunoscut sub numele de backpropagation, începe la nivelul de ieșire și se deplasează înapoi la straturile de intrare.
13. În contextul învățării profunde, cum înțelegeți tăierea gradientului?
Gradient Clipping este o metodă pentru rezolvarea problemei exploziei gradienților care apar în timpul retropropagarii (o condiție în care gradienții incorecți se acumulează în timp, ceea ce duce la ajustări semnificative ale greutăților modelului rețelei neuronale în timpul antrenamentului).
Explodarea gradienților este o problemă care apare atunci când gradienții devin prea mari în timpul antrenamentului, făcând modelul instabil. Dacă gradientul a depășit intervalul așteptat, valorile gradientului sunt împinse element cu element la o valoare minimă sau maximă predefinită.
Tăierea în gradient îmbunătățește stabilitatea numerică a unei rețele neuronale în timpul antrenamentului, dar are un impact minim asupra performanței modelului.
14. Care sunt funcțiile Softmax și ReLU?
O funcție de activare numită Softmax produce o ieșire în intervalul 0 și 1. Fiecare ieșire este împărțită astfel încât suma tuturor ieșirilor să fie una. Pentru straturile de ieșire, Softmax este frecvent utilizat.
Rectified Linear Unit, uneori cunoscută sub numele de ReLU, este cea mai utilizată funcție de activare. Dacă X este pozitiv, scoate X, altfel scoate zerouri. ReLU este aplicat în mod regulat pe straturile îngropate.
15. Poate fi antrenat un model de rețea neuronală cu toate ponderile setate la 0?
Rețeaua neuronală nu va învăța niciodată să finalizeze o anumită sarcină, prin urmare nu este posibil să antrenați un model prin inițializarea tuturor greutăților la 0.
Derivatele vor rămâne aceleași pentru fiecare greutate din W [1] dacă toate greutățile sunt inițializate la zero, ceea ce va avea ca rezultat neuronii să învețe aceleași caracteristici în mod iterativ.
Nu pur și simplu inițializarea greutăților la 0, dar la orice formă de constantă este probabil să aibă ca rezultat un rezultat subpar.
16. Ce deosebește o epocă de un lot și de o iterație?
Diferite forme de procesare a seturilor de date și tehnici de coborâre a gradientului includ lot, iterație și epocă. Epoca implică o singură rețea neuronală cu un set complet de date, atât înainte, cât și înapoi.
Pentru a oferi rezultate fiabile, setul de date este trecut frecvent de mai multe ori, deoarece este prea mare pentru a fi transmis într-o singură încercare.
Această practică de a rula în mod repetat o cantitate mică de date printr-o rețea neuronală este denumită iterație. Pentru a garanta că setul de date traversează cu succes rețelele neuronale, acesta poate fi împărțit într-un număr de loturi sau subseturi, care este cunoscut sub numele de loturi.
În funcție de dimensiunea colectării datelor, toate cele trei metode - epoca, iterație și dimensiunea lotului - sunt în esență modalități de utilizare a algoritm de coborâre a gradientului.
17. Ce sunt normalizarea loturilor și abandonul?
Renunțarea previne supraadaptarea datelor prin eliminarea aleatorie atât a unităților de rețea vizibile, cât și a celor ascunse (de obicei, scăderea a 20% din noduri). Acesta dublează numărul de iterații necesare pentru ca rețeaua să converge.
Prin normalizarea intrărilor din fiecare strat pentru a avea o activare medie a ieșirii de zero și o abatere standard de unu, normalizarea lotului este o strategie de îmbunătățire a performanței și stabilității rețelelor neuronale.
18. Ce separă Coborârea Gradient Stochastic de Coborârea Gradient Batch?
Coborâre gradient lot:
- Setul de date complet este utilizat pentru a construi gradientul pentru gradientul lotului.
- Cantitatea enormă de date și ponderile care se actualizează încet fac convergența dificilă.
Coborâre cu gradient stocastic:
- Gradientul stocastic folosește o singură probă pentru a calcula gradientul.
- Datorită schimbărilor mai frecvente de greutate, converge semnificativ mai repede decât gradientul lotului.
19. De ce este crucial să se includă neliniaritățile în rețelele neuronale?
Indiferent câte straturi există, o rețea neuronală se va comporta ca un perceptron în absența neliniarităților, făcând ieșirea dependentă liniar de intrare.
Cu alte cuvinte, o rețea neuronală cu n straturi și m unități ascunse și funcții de activare liniară este echivalentă cu o rețea neuronală liniară fără straturi ascunse și cu capacitatea de a detecta doar granițele de separare liniară.
Fără neliniarități, o rețea neuronală nu este în măsură să rezolve probleme complicate și să clasifice cu precizie intrarea.
20. Ce este un tensor în deep learning?
O matrice multidimensională cunoscută sub numele de tensor servește ca o generalizare a matricelor și vectorilor. Este o structură de date crucială pentru învățarea profundă. Matricele N-dimensionale de tipuri de date fundamentale sunt folosite pentru a reprezenta tensorii.
Fiecare componentă a tensorului are același tip de date, iar acest tip de date este întotdeauna cunoscut. Este posibil să fie cunoscută doar o bucată a formei – și anume câte dimensiuni sunt și cât de mare este fiecare.
În situațiile în care intrările sunt și ele complet cunoscute, majoritatea operațiilor produc tensori pe deplin cunoscuți; în alte cazuri, forma unui tensor poate fi stabilită numai în timpul execuției graficului.
21. Cum ați alege funcția de activare pentru un model de învățare profundă?
- Este logic să folosiți o funcție de activare liniară dacă rezultatul care trebuie anticipat este real.
- O funcție Sigmoid ar trebui utilizată dacă rezultatul care trebuie prognozat este o probabilitate de clasă binară.
- O funcție Tanh poate fi utilizată dacă rezultatul proiectat conține două clasificări.
- Datorită ușurinței sale de calcul, funcția ReLU este aplicabilă într-o gamă largă de situații.
22. Ce vrei să spui prin CNN?
Rețelele neuronale profunde care sunt specializate în evaluarea imaginilor vizuale includ rețelele neuronale convoluționale (CNN sau ConvNet). Aici, mai degrabă decât în rețelele neuronale în care un vector reprezintă intrarea, intrarea este o imagine cu mai multe canale.
Perceptronii multistrat sunt utilizați într-un mod special de către CNN-uri care necesită foarte puțină preprocesare.
23. Care sunt numeroasele straturi CNN?
Stratul convoluțional: Stratul principal este stratul convoluțional, care are o varietate de filtre care pot fi învățate și un câmp receptiv. Acest strat inițial preia datele de intrare și extrage caracteristicile acestora.
Stratul ReLU: făcând rețelele neliniare, acest strat transformă pixelii negativi în zero.
Stratul de grupare: prin minimizarea setărilor de procesare și de rețea, stratul de grupare minimizează treptat dimensiunea spațială a reprezentării. Max pooling este cea mai utilizată metodă de pooling.
24. Care sunt efectele supraajustării și insuficientei și cum le puteți evita?
Acest lucru este cunoscut sub numele de supraadaptare atunci când un model învață complexitățile și zgomotul din datele de antrenament până la punctul în care afectează negativ utilizarea de către model a datelor noi.
Este mai probabil să se întâmple cu modele neliniare care sunt mai adaptabile în timp ce învață o funcție de obiectiv. Un model poate fi instruit să detecteze automobile și camioane, dar ar putea fi capabil să identifice doar vehicule cu o anumită formă de cutie.
Având în vedere că a fost instruit doar pe un singur tip de camion, s-ar putea să nu fie capabil să detecteze un camion cu platformă. Pe datele de antrenament, modelul funcționează bine, dar nu în lumea reală.
Un model insuficient adaptat se referă la unul care nu este suficient de instruit cu privire la date sau care nu este capabil să se generalizeze la informații noi. Acest lucru se întâmplă adesea atunci când un model este antrenat cu date insuficiente sau inexacte.
Precizia și performanța sunt ambele compromise de subadaptare.
Reeșantionarea datelor pentru a estima acuratețea modelului (validare încrucișată în K-fold) și utilizarea unui set de date de validare pentru a evalua modelul sunt două modalități de a evita supraadaptarea și subadaptarea.
25. În deep learning, ce este un RNN?
Rețelele neuronale recurente (RNNs), o varietate comună de rețele neuronale artificiale, se numesc abrevierea RNN. Ele sunt folosite pentru a procesa genomuri, scris de mână, text și secvențe de date, printre altele. Pentru pregătirea necesară, RNN-urile folosesc propagarea inversă.
26. Descrie Adam Optimizer
Adam Optimizer, cunoscut și sub numele de impuls adaptiv, este o tehnică de optimizare dezvoltată pentru a gestiona situații zgomotoase cu gradienți rari.
Pe lângă faptul că oferă actualizări pe parametru pentru o convergență mai rapidă, optimizatorul Adam îmbunătățește convergența prin impuls, asigurându-se că un model nu rămâne prins în punctul șa.
27. Autoencodere profunde: ce sunt acestea?
Deep autoencoder este numele colectiv pentru două rețele simetrice de credință profundă care includ în general patru sau cinci straturi superficiale pentru jumătatea de codificare a rețelei și un alt set de patru sau cinci straturi pentru jumătatea de decodare.
Aceste straturi formează fundamentul rețelelor de credință profundă și sunt constrânse de mașinile Boltzmann. După fiecare RBM, un autoencoder profund aplică modificări binare setului de date MNIST.
Ele pot fi, de asemenea, utilizate în alte seturi de date în care transformările rectificate gaussiene ar fi preferate față de RBM.
28. Ce înseamnă Tensor în Tensorflow?
Aceasta este o altă întrebare de interviu de învățare profundă care este pusă în mod regulat. Un tensor este un concept matematic care este vizualizat ca matrice de dimensiuni superioare.
Tensorii sunt aceste matrice de date care sunt furnizate ca intrare în rețeaua neuronală și au diferite dimensiuni și clasamente.
29. O explicație a unui grafic de calcul
Fundamentul unui TensorFlow este construcția unui grafic computațional. Fiecare nod funcționează într-o rețea de noduri, unde nodurile reprezintă operații matematice și muchii pentru tensori.
Este uneori denumit „DataFlow Graph”, deoarece datele curg sub forma unui grafic.
30. Rețele adverse generative (GAN): ce sunt acestea?
În Deep Learning, modelarea generativă este realizată utilizând rețele generative adversare. Este o lucrare nesupravegheată în care rezultatul este produs prin identificarea tiparelor în datele de intrare.
Discriminatorul este folosit pentru a clasifica instanțele produse de generator, în timp ce generatorul este folosit pentru a produce noi exemple.
31. Cum veți alege numărul de neuroni și straturi ascunse pe care să le includeți în rețeaua neuronală în timp ce proiectați arhitectura?
Având în vedere o provocare de afaceri, numărul precis de neuroni și straturi ascunse necesare pentru a construi o arhitectură de rețea neuronală nu poate fi determinat de reguli stricte și rapide.
Într-o rețea neuronală, dimensiunea stratului ascuns ar trebui să se încadreze undeva la mijlocul dimensiunii straturilor de intrare și de ieșire.
Un avans în crearea unui design de rețea neuronală poate fi obținut în câteva metode simple, totuși:
Începând cu unele teste sistematice de bază pentru a vedea ce ar funcționa cel mai bine pentru orice set de date specific, pe baza experienței anterioare cu rețelele neuronale în setări similare din lumea reală, este cea mai bună modalitate de a aborda fiecare provocare unică de modelare predictivă din lumea reală.
Configurația rețelei poate fi aleasă pe baza cunoștințelor despre domeniul problemei și a experienței anterioare în rețea neuronală. Când se evaluează configurația unei rețele neuronale, numărul de straturi și neuroni utilizați pentru problemele conexe este un loc bun de început.
Complexitatea rețelei neuronale ar trebui să crească treptat pe baza rezultatelor proiectate și a preciziei, începând cu un design simplu al rețelei neuronale.
32. Ce tipuri de rețele neuronale sunt folosite de învățarea prin consolidare profundă?
- Într-o paradigmă de învățare automată numită învățare prin întărire, modelul acționează pentru a maximiza ideea de recompensă cumulativă, la fel ca lucrurile vii.
- Jocurile și vehiculele cu conducere autonomă sunt ambele descrise ca probleme care implică Consolidarea învățării.
- Ecranul este folosit ca intrare dacă problema care trebuie reprezentată este un joc. Pentru a produce o ieșire pentru fazele următoare, algoritmul ia pixelii ca intrare și îi procesează prin mai multe straturi de rețele neuronale convoluționale.
- Rezultatele acțiunilor modelului, fie favorabile, fie rele, acționează ca o întărire.
Concluzie
Deep Learning a crescut în popularitate de-a lungul anilor, cu aplicații în aproape toate domeniile industriale.
Companiile caută din ce în ce mai mult experți competenți care să poată proiecta modele care să reproducă comportamentul uman folosind abordări de învățare profundă și de învățare automată.
Candidații care își măresc abilitățile și își mențin cunoștințele despre aceste tehnologii de ultimă oră pot găsi o gamă largă de oportunități de lucru cu o remunerație atractivă.
Puteți începe cu interviurile acum că aveți o înțelegere puternică a modului de a răspunde la unele dintre cele mai des solicitate întrebări din interviul de învățare profundă. Faceți următorul pas în funcție de obiectivele dvs.
Vizitați Hashdork's Seria de interviuri să se pregătească pentru interviuri.
Lasă un comentariu