Innholdsfortegnelse[Gjemme seg][Forestilling]
- 1. Hva er egentlig Deep Learning?
- 2. Hva skiller Deep Learning fra Machine Learning?
- 3. Hva er din nåværende forståelse av nevrale nettverk?
- 4. Hva er egentlig en perceptron?
- 5. Hva er egentlig et dypt nevralt nettverk?
- 6. Hva er egentlig en flerlagsperceptron (MLP)?
- 7. Hvilken hensikt spiller aktiveringsfunksjoner i et nevralt nettverk?
- 8. Hva er egentlig gradientnedstigning?
- 9. Hva er egentlig kostnadsfunksjonen?
- 10. Hvordan kan dype nettverk utkonkurrere grunne?
- 11. Beskriv forplantning fremover.
- 12. Hva er backpropagation?
- 13. I sammenheng med dyp læring, hvordan forstår du gradientklipping?
- 14. Hva er Softmax- og ReLU-funksjonene?
- 15. Kan en nevrale nettverksmodell trenes med alle vektene satt til 0?
- 16. Hva skiller en epoke fra en batch og en iterasjon?
- 17. Hva er batchnormalisering og frafall?
- 18. Hva skiller Stokastisk Gradient Descent fra Batch Gradient Descent?
- 19. Hvorfor er det avgjørende å inkludere ikke-lineariteter i nevrale nettverk?
- 20. Hva er en tensor i dyp læring?
- 21. Hvordan ville du valgt aktiveringsfunksjonen for en dyplæringsmodell?
- 22. Hva mener du med CNN?
- 23. Hva er de mange CNN-lagene?
- 24. Hva er effektene av over- og undertilpasning, og hvordan kan du unngå dem?
- 25. I dyp læring, hva er en RNN?
- 26. Beskriv Adam Optimizer
- 27. Dype autoenkodere: hva er de?
- 28. Hva betyr Tensor i Tensorflow?
- 29. En forklaring av en beregningsgraf
- 30. Generative adversarial networks (GANs): hva er de?
- 31. Hvordan vil du velge antall nevroner og skjulte lag som skal inkluderes i det nevrale nettverket når du designer arkitekturen?
- 32. Hva slags nevrale nettverk brukes av dyp forsterkningslæring?
- konklusjonen
Dyplæring er ikke en helt ny idé. Kunstige nevrale nettverk fungerer som det eneste grunnlaget for maskinlæringsundergruppen kjent som dyp læring.
Dyplæring er en etterligning av menneskelig hjerne, omtrent som nevrale nettverk er, ettersom de ble skapt for å etterligne den menneskelige hjernen.
Det har vært dette en stund. I disse dager snakker alle om det siden vi ikke har på langt nær så mye prosessorkraft eller data som vi har nå.
I løpet av de siste 20 årene har dyp læring og maskinlæring dukket opp som et resultat av den dramatiske økningen i prosesseringskapasitet.
For å hjelpe deg med å forberede deg på eventuelle spørsmål du kan møte når du leter etter drømmejobben din, vil dette innlegget veilede deg gjennom en rekke dyptgående intervjuspørsmål, alt fra enkle til kompliserte.
1. Hva er egentlig Deep Learning?
Hvis du deltar på en dyp læring intervju, forstår du utvilsomt hva dyp læring er. Intervjueren forventer imidlertid at du gir et detaljert svar sammen med en illustrasjon som svar på dette spørsmålet.
For å trene nevrale nettverk for dyp læring må betydelige mengder organisert eller ustrukturert data brukes. For å finne skjulte mønstre og egenskaper utfører den kompliserte prosedyrer (for eksempel å skille bildet av en katt fra bildet av en hund).
2. Hva skiller Deep Learning fra Machine Learning?
Som en gren av kunstig intelligens kjent som maskinlæring, trener vi datamaskiner ved hjelp av data og statistiske og algoritmiske teknikker slik at de blir bedre over tid.
Som et aspekt av maskinlæring, etterligner dyp læring den nevrale nettverksarkitekturen sett i den menneskelige hjernen.
3. Hva er din nåværende forståelse av nevrale nettverk?
Kunstige systemer kjent som nevrale nettverk ligner de organiske nevrale nettverkene som finnes i menneskekroppen veldig nært.
Ved å bruke en teknikk som ligner hvordan Menneskehjerne funksjoner, er et nevralt nettverk en samling algoritmer som tar sikte på å identifisere underliggende korrelasjoner i et stykke data.
Disse systemene tilegner seg oppgavespesifikk kunnskap ved å eksponere seg selv for en rekke datasett og eksempler, i stedet for ved å følge noen oppgavespesifikke regler.
Tanken er at i stedet for å ha en forhåndsprogrammert forståelse av disse datasettene, lærer systemet å skille egenskaper fra dataene det mates.
De tre nettverkslagene som er mest brukt i nevrale nettverk er som følger:
- Inndatasjikt
- Skjult lag
- Utgangslag
4. Hva er egentlig en perceptron?
Det biologiske nevronet som finnes i den menneskelige hjernen kan sammenlignes med et perceptron. Flere innganger mottas av perceptronen, som deretter utfører en rekke transformasjoner og funksjoner og produserer en utgang.
En lineær modell kalt en perceptron brukes i binær klassifisering. Den simulerer et nevron med en rekke innganger, hver med forskjellig vekt.
Nevronet beregner en funksjon ved å bruke disse vektede inngangene og sender ut resultatene.
5. Hva er egentlig et dypt nevralt nettverk?
Et dypt nevralt nettverk er et kunstig nevralt nettverk (ANN) med flere lag mellom input- og output-lagene (DNN).
Dype nevrale nettverk er nevrale nettverk med dyp arkitektur. Ordet "dyp" refererer til funksjoner med mange nivåer og enheter i et enkelt lag. Mer nøyaktige modeller kan lages ved å legge til flere og større lag for å fange opp større nivåer av mønstre.
6. Hva er egentlig en flerlagsperceptron (MLP)?
Input-, skjulte- og utgangslag er tilstede i MLP-er, omtrent som i nevrale nettverk. Den er bygget på samme måte som en enkeltlags perceptron med ett eller flere skjulte lag.
Den binære utgangen til en enkeltlags perceptron kan bare kategorisere lineære separerbare klasser (0,1), mens MLP kan klassifisere ikke-lineære klasser.
7. Hvilken hensikt spiller aktiveringsfunksjoner i et nevralt nettverk?
En aktiveringsfunksjon bestemmer om et nevron skal aktiveres på det mest grunnleggende nivået. Enhver aktiveringsfunksjon kan akseptere den vektede summen av inngangene pluss bias som input. Aktiveringsfunksjoner inkluderer trinnfunksjonen, Sigmoid, ReLU, Tanh og Softmax.
8. Hva er egentlig gradientnedstigning?
Den beste tilnærmingen for å minimere en kostnadsfunksjon eller en feil er gradientnedstigning. Å finne en funksjons lokal-globale minima er målet. Dette spesifiserer banen modellen skal følge for å minimere feil.
9. Hva er egentlig kostnadsfunksjonen?
Kostnadsfunksjonen er en beregning for å vurdere hvor godt modellen din yter; det er noen ganger kjent som "tap" eller "feil". Under tilbakepropagering brukes den til å beregne feilen til utgangslaget.
Vi utnytter denne unøyaktigheten for å fremme det nevrale nettverkets treningsprosesser ved å skyve det tilbake gjennom det nevrale nettverket.
10. Hvordan kan dype nettverk utkonkurrere grunne?
Skjulte lag legges til nevrale nettverk i tillegg til input- og outputlag. Mellom inngangs- og utgangslagene bruker grunne nevrale nettverk et enkelt skjult lag, mens dype nevrale nettverk bruker mange nivåer.
Et grunt nettverk krever flere parametere for å kunne passe inn i enhver funksjon. Dype nettverk kan passe funksjoner bedre selv med et lite antall parametere siden de inkluderer flere lag.
Dype nettverk er nå foretrukket på grunn av deres allsidighet når det gjelder å jobbe med alle typer datamodellering, enten det er for tale- eller bildegjenkjenning.
11. Beskriv forplantning fremover.
Inndata overføres sammen med vekter til det nedgravde laget i en prosess kjent som forplantning.
Aktiveringsfunksjonens utgang beregnes i hvert eneste nedgravde lag før behandlingen kan gå videre til neste lag.
Prosessen starter ved input-laget og går videre til det ultimate output-laget, dermed navnet foroverforplantning.
12. Hva er backpropagation?
Når vekter og skjevheter justeres i det nevrale nettverket, brukes backpropagation for å redusere kostnadsfunksjonen ved først å observere hvordan verdien endres.
Å forstå gradienten ved hvert skjulte lag gjør det enkelt å beregne denne endringen.
Prosessen, kjent som backpropagation, starter ved utgangslaget og beveger seg bakover til inputlagene.
13. I sammenheng med dyp læring, hvordan forstår du gradientklipping?
Gradient Clipping er en metode for å løse problemet med eksploderende gradienter som oppstår under backpropagation (en tilstand der betydelige ukorrekte gradienter akkumuleres over tid, noe som fører til betydelige justeringer av nevrale nettverksmodellvekter under trening).
Eksploderende gradienter er et problem som oppstår når gradientene blir for store under trening, noe som gjør modellen ustabil. Hvis gradienten har krysset det forventede området, skyves gradientverdiene element-for-element til en forhåndsdefinert minimums- eller maksimumsverdi.
Gradientklipping forbedrer den numeriske stabiliteten til et nevralt nettverk under trening, men det har minimal innvirkning på modellens ytelse.
14. Hva er Softmax- og ReLU-funksjonene?
En aktiveringsfunksjon kalt Softmax produserer en utgang i området mellom 0 og 1. Hver utgang deles slik at summen av alle utgangene er én. For utgangslag brukes Softmax ofte.
Rectified Linear Unit, noen ganger kjent som ReLU, er den mest brukte aktiveringsfunksjonen. Hvis X er positiv, gir den ut X, ellers gir den ut nuller. ReLU påføres regelmessig på nedgravde lag.
15. Kan en nevrale nettverksmodell trenes med alle vektene satt til 0?
Det nevrale nettverket vil aldri lære å fullføre en gitt jobb, derfor er det ikke mulig å trene en modell ved å initialisere alle vektene til 0.
Derivatene vil forbli de samme for hver vekt i W [1] hvis alle vekter er initialisert til null, noe som vil resultere i at nevroner lærer de samme egenskapene iterativt.
Ikke bare initialisering av vektene til 0, men til enhver form for konstant vil sannsynligvis resultere i et subparert resultat.
16. Hva skiller en epoke fra en batch og en iterasjon?
Ulike former for behandling av datasett og gradientnedstigningsteknikker inkluderer batch, iterasjon og epoke. Epoch involverer en gang gjennom et nevralt nettverk med et fullstendig datasett, både forover og bakover.
For å gi pålitelige resultater, sendes datasettet ofte flere ganger siden det er for stort til å bestå i et enkelt forsøk.
Denne praksisen med gjentatte ganger å kjøre en liten mengde data gjennom et nevralt nettverk kalles iterasjon. For å garantere at datasettet vellykket krysser de nevrale nettverkene, kan det deles inn i en rekke batcher eller delsett, som er kjent som batching.
Avhengig av datainnsamlingsstørrelsen, er alle tre metodene – epoke, iterasjon og batchstørrelse – i hovedsak måter å bruke gradient nedstigningsalgoritme.
17. Hva er batchnormalisering og frafall?
Frafall forhindrer overtilpasning av data ved tilfeldig å fjerne både synlige og skjulte nettverksenheter (vanligvis faller 20 prosent av nodene). Det dobler antall iterasjoner som kreves for å få nettverket til å konvergere.
Ved å normalisere inngangene i hvert lag til å ha en gjennomsnittlig utgangsaktivering på null og et standardavvik på én, er batchnormalisering en strategi for å forbedre ytelsen og stabiliteten til nevrale nettverk.
18. Hva skiller Stokastisk Gradient Descent fra Batch Gradient Descent?
Batch Gradient Descent:
- Det komplette datasettet brukes til å konstruere gradienten for batchgradienten.
- Den enorme mengden data og de sakte oppdaterende vektene gjør konvergens vanskelig.
Stokastisk gradientnedstigning:
- Den stokastiske gradienten bruker en enkelt prøve for å beregne gradienten.
- På grunn av de hyppigere vektendringene, konvergerer den betydelig raskere enn batchgradienten.
19. Hvorfor er det avgjørende å inkludere ikke-lineariteter i nevrale nettverk?
Uansett hvor mange lag det er, vil et nevralt nettverk oppføre seg som en perceptron i fravær av ikke-lineariteter, noe som gjør utgangen lineært avhengig av inngangen.
For å si det på en annen måte, tilsvarer et nevralt nettverk med n lag og m skjulte enheter og lineære aktiveringsfunksjoner et lineært nevralt nettverk uten skjulte lag og med evnen til å oppdage lineære separasjonsgrenser utelukkende.
Uten ikke-lineariteter er ikke et nevralt nettverk i stand til å løse kompliserte problemer og nøyaktig kategorisere input.
20. Hva er en tensor i dyp læring?
En flerdimensjonal matrise kjent som en tensor fungerer som en generalisering av matriser og vektorer. Det er en avgjørende datastruktur for dyp læring. N-dimensjonale arrayer av grunnleggende datatyper brukes til å representere tensorer.
Hver komponent i tensoren har samme datatype, og denne datatypen er alltid kjent. Det er mulig at bare en del av formen - nemlig hvor mange dimensjoner det er og hvor stor hver enkelt er - er kjent.
I situasjoner når inngangene også er fullstendig kjente, produserer de fleste operasjoner fullt kjente tensorer; i andre tilfeller kan formen til en tensor kun etableres under grafisk utførelse.
21. Hvordan ville du valgt aktiveringsfunksjonen for en dyplæringsmodell?
- Det er fornuftig å bruke en lineær aktiveringsfunksjon hvis resultatet som må forventes er faktisk.
- En Sigmoid-funksjon bør brukes hvis utgangen som må prognoseres er en binær klassesannsynlighet.
- En Tanh-funksjon kan brukes hvis den projiserte utgangen inneholder to klassifikasjoner.
- På grunn av den enkle beregningen, er ReLU-funksjonen anvendelig i et bredt spekter av situasjoner.
22. Hva mener du med CNN?
Dype nevrale nettverk som spesialiserer seg på å evaluere visuelle bilder inkluderer konvolusjonelle nevrale nettverk (CNN eller ConvNet). Her, snarere enn i nevrale nettverk der en vektor representerer inngangen, er inngangen et flerkanalsbilde.
Flerlagsperceptroner brukes på en spesiell måte av CNN-er som krever svært lite forbehandling.
23. Hva er de mange CNN-lagene?
Konvolusjonslag: Hovedlaget er konvolusjonslaget, som har en rekke lærbare filtre og et mottakelig felt. Dette første laget tar inndataene og trekker ut egenskapene.
ReLU Layer: Ved å gjøre nettverkene ikke-lineære, gjør dette laget negative piksler til null.
Poolinglag: Ved å minimere prosessering og nettverksinnstillinger, minimerer poolinglaget gradvis den romlige størrelsen på representasjonen. Maks pooling er den mest brukte metoden for pooling.
24. Hva er effektene av over- og undertilpasning, og hvordan kan du unngå dem?
Dette er kjent som overfitting når en modell lærer forviklingene og støyen i treningsdataene til et punkt hvor det påvirker modellens bruk av ferske data negativt.
Det er mer sannsynlig at det skjer med ikke-lineære modeller som er mer tilpasningsdyktige mens man lærer en målfunksjon. En modell kan trenes til å oppdage biler og lastebiler, men den kan kanskje bare identifisere kjøretøy med en bestemt boksform.
Gitt at den bare ble trent på én type lastebil, vil den kanskje ikke kunne oppdage en lastebil med flatbed. På treningsdata fungerer modellen bra, men ikke i den faktiske verden.
En undertilpasset modell refererer til en som ikke er tilstrekkelig trent på data eller i stand til å generalisere til ny informasjon. Dette skjer ofte når en modell trenes med utilstrekkelige eller unøyaktige data.
Nøyaktighet og ytelse er begge kompromittert av undermontering.
Resampling av dataene for å estimere modellnøyaktighet (K-fold kryssvalidering) og bruk av et valideringsdatasett for å vurdere modellen er to måter å unngå overtilpasning og undertilpasning.
25. I dyp læring, hva er en RNN?
Tilbakevendende nevrale nettverk (RNN), en vanlig rekke kunstige nevrale nettverk, går under forkortelsen RNN. De brukes til å behandle genomer, håndskrift, tekst og datasekvenser, blant annet. For nødvendig opplæring benytter RNN-er backpropagation.
26. Beskriv Adam Optimizer
Adam optimizer, også kjent som adaptivt momentum, er en optimaliseringsteknikk utviklet for å håndtere støyende situasjoner med sparsomme gradienter.
I tillegg til å gi oppdateringer per parameter for raskere konvergens, forbedrer Adam optimizer konvergens gjennom momentum, og sikrer at en modell ikke blir fanget i setepunktet.
27. Dype autoenkodere: hva er de?
Deep autoencoder er samlenavnet for to symmetriske dype trosnettverk som vanligvis inkluderer fire eller fem grunne lag for kodehalvdelen av nettverket og et annet sett med fire eller fem lag for dekodingshalvdelen.
Disse lagene danner grunnlaget for dype trosnettverk og er begrenset av Boltzmann-maskiner. Etter hver RBM bruker en dyp autokoder binære endringer på datasettet MNIST.
De kan også brukes i andre datasett der Gaussiske korrigerte transformasjoner vil foretrekkes fremfor RBM.
28. Hva betyr Tensor i Tensorflow?
Dette er et annet dypt læringsintervjuspørsmål som stilles regelmessig. En tensor er et matematisk konsept som visualiseres som høyere dimensjonale arrays.
Tensorer er disse datamatrisene som leveres som input til det nevrale nettverket og har forskjellige dimensjoner og rangeringer.
29. En forklaring av en beregningsgraf
Grunnlaget for en TensorFlow er konstruksjonen av en beregningsgraf. Hver node fungerer i et nettverk av noder, der noder står for matematiske operasjoner og kanter for tensorer.
Det blir noen ganger referert til som en "DataFlow Graph" siden data flyter i form av en graf.
30. Generative adversarial networks (GANs): hva er de?
I Deep Learning oppnås generativ modellering ved å bruke generative kontradiktoriske nettverk. Det er en uovervåket jobb hvor resultatet produseres ved å identifisere mønstre i inndataene.
Diskriminatoren brukes til å kategorisere forekomstene produsert av generatoren, mens generatoren brukes til å produsere nye eksempler.
31. Hvordan vil du velge antall nevroner og skjulte lag som skal inkluderes i det nevrale nettverket når du designer arkitekturen?
Gitt en forretningsutfordring, kan det nøyaktige antallet nevroner og skjulte lag som trengs for å konstruere en nevrale nettverksarkitektur ikke bestemmes av noen harde og raske regler.
I et nevralt nettverk bør størrelsen på det skjulte laget falle et sted i midten av størrelsen på input- og output-lagene.
Et forsprang på å lage et nevralt nettverksdesign kan imidlertid oppnås på noen få enkle metoder:
Å starte med noen grunnleggende systematiske tester for å se hva som vil fungere best for et spesifikt datasett basert på tidligere erfaring med nevrale nettverk i lignende innstillinger i den virkelige verden, er den beste måten å takle alle unike prediktive modelleringsutfordringer i den virkelige verden.
Nettverkskonfigurasjonen kan velges basert på ens kunnskap om problemdomenet og tidligere erfaring med nevrale nettverk. Når du vurderer et nevralt nettverks oppsett, er antall lag og nevroner som brukes på relaterte problemer et godt sted å starte.
Det nevrale nettverkets kompleksitet bør gradvis økes basert på projisert utgang og nøyaktighet, og starter med en enkel nevrale nettverksdesign.
32. Hva slags nevrale nettverk brukes av dyp forsterkningslæring?
- I et maskinlæringsparadigme kalt forsterkningslæring, fungerer modellen for å maksimere ideen om kumulativ belønning, akkurat som levende ting gjør.
- Spill og selvkjørende kjøretøy beskrives begge som problemer som involverer forsterkning læring.
- Skjermen brukes som input hvis problemet som skal representeres er et spill. For å produsere en utgang for de neste fasene, tar algoritmen pikslene som input og behandler dem via mange lag med konvolusjonelle nevrale nettverk.
- Modellens handlingers resultater, enten gunstige eller dårlige, fungerer som forsterkning.
konklusjonen
Deep Learning har økt i popularitet gjennom årene, med applikasjoner i praktisk talt alle bransjeområder.
Bedrifter ser i økende grad etter kompetente eksperter som kan designe modeller som gjenskaper menneskelig atferd ved hjelp av dyp læring og maskinlæringsmetoder.
Kandidater som øker ferdighetene sine og opprettholder kunnskapen om disse banebrytende teknologiene kan finne et bredt spekter av arbeidsmuligheter med attraktiv lønn.
Du kan begynne med intervjuene nå som du har et godt grep om hvordan du skal svare på noen av de mest etterspurte dyplæringsintervjuspørsmålene. Ta neste steg basert på dine mål.
Besøk Hashdork's Intervjuserie å forberede seg til intervjuer.
Legg igjen en kommentar