Innehållsförteckning[Dölj][Visa]
- 1. Vad är Deep Learning egentligen?
- 2. Vad skiljer Deep Learning från Machine Learning?
- 3. Vad är din nuvarande förståelse av neurala nätverk?
- 4. Vad är egentligen en perceptron?
- 5. Vad är egentligen ett djupt neuralt nätverk?
- 6. Vad är en flerskiktsperceptron (MLP) egentligen?
- 7. Vilket syfte har aktiveringsfunktioner i ett neuralt nätverk?
- 8. Vad exakt är Gradient Descent?
- 9. Exakt vad är kostnadsfunktionen?
- 10. Hur kan djupa nätverk överträffa grunda?
- 11. Beskriv fortplantning framåt.
- 12. Vad är backpropagation?
- 13. I samband med djupinlärning, hur förstår du gradientklippning?
- 14. Vilka är Softmax- och ReLU-funktionerna?
- 15. Kan en neural nätverksmodell tränas med alla vikter inställda på 0?
- 16. Vad skiljer en epok från en batch och en iteration?
- 17. Vad är batchnormalisering och bortfall?
- 18. Vad skiljer Stokastisk Gradient Descent från Batch Gradient Descent?
- 19. Varför är det avgörande att inkludera icke-linjäriteter i neurala nätverk?
- 20. Vad är en tensor i djupinlärning?
- 21. Hur skulle du välja aktiveringsfunktionen för en modell för djupinlärning?
- 22. Vad menar du med CNN?
- 23. Vilka är de många CNN-skikten?
- 24. Vilka är effekterna av över- och underpassning, och hur kan du undvika dem?
- 25. Vad är en RNN vid djupinlärning?
- 26. Beskriv Adam Optimizer
- 27. Deep autoencoders: vad är det?
- 28. Vad betyder Tensor i Tensorflow?
- 29. En förklaring av en beräkningsgraf
- 30. Generativa motstridiga nätverk (GAN): vad är de?
- 31. Hur kommer du att välja antalet neuroner och dolda lager som ska inkluderas i det neurala nätverket när du utformar arkitekturen?
- 32. Vilka typer av neurala nätverk används av djup förstärkningsinlärning?
- Slutsats
Deep learning är inte en helt ny idé. Artificiella neurala nätverk fungerar som den enda grunden för maskininlärningsundergruppen känd som djupinlärning.
Deep learning är en mänsklig hjärnhärma, precis som neurala nätverk är, eftersom de skapades för att imitera den mänskliga hjärnan.
Det har funnits ett tag. Nuförtiden pratar alla om det eftersom vi inte har alls lika mycket processorkraft eller data som vi har nu.
Under de senaste 20 åren har djupinlärning och maskininlärning uppstått som ett resultat av den dramatiska ökningen av bearbetningskapaciteten.
För att hjälpa dig att förbereda dig för alla förfrågningar du kan möta när du letar efter ditt drömjobb, kommer det här inlägget att guida dig genom ett antal intervjufrågor för djupinlärning, allt från enkla till komplicerade.
1. Vad är Deep Learning egentligen?
Om du deltar i en djupt lärande intervju förstår du utan tvekan vad djupinlärning är. Intervjuaren förväntar sig dock att du ger ett detaljerat svar tillsammans med en illustration som svar på denna fråga.
För att träna neurala nätverk för djupinlärning måste betydande mängder organiserad eller ostrukturerad data användas. För att hitta dolda mönster och egenskaper gör den komplicerade procedurer (till exempel genom att skilja bilden av en katt från bilden av en hund).
2. Vad skiljer Deep Learning från Machine Learning?
Som en gren av artificiell intelligens känd som maskininlärning tränar vi datorer med hjälp av data och statistiska och algoritmiska tekniker så att de blir bättre med tiden.
Som en aspekt av maskininlärning, djupinlärning imiterar den neurala nätverksarkitekturen som ses i den mänskliga hjärnan.
3. Vad är din nuvarande förståelse av neurala nätverk?
Konstgjorda system som kallas neurala nätverk liknar de organiska neurala nätverk som finns i människokroppen mycket nära.
Att använda en teknik som liknar hur mänsklig hjärna funktioner är ett neuralt nätverk en samling algoritmer som syftar till att identifiera underliggande korrelationer i en databit.
Dessa system skaffar sig uppgiftsspecifik kunskap genom att utsätta sig för en rad datauppsättningar och exempel, snarare än genom att följa några uppgiftsspecifika regler.
Tanken är att istället för att ha en förprogrammerad förståelse av dessa datamängder, lär systemet sig särskiljande egenskaper från data som det matas in.
De tre nätverkslagren som oftast används i neurala nätverk är följande:
- Ingångsskikt
- Doldt lager
- Utgående lager
4. Vad är egentligen en perceptron?
Den biologiska neuron som finns i den mänskliga hjärnan är jämförbar med en perceptron. Flera insignaler tas emot av perceptronen, som sedan utför många transformationer och funktioner och producerar en utsignal.
En linjär modell som kallas perceptron används i binär klassificering. Den simulerar en neuron med en mängd olika ingångar, var och en med olika vikt.
Neuronen beräknar en funktion med hjälp av dessa viktade indata och matar ut resultaten.
5. Vad är egentligen ett djupt neuralt nätverk?
Ett djupt neuralt nätverk är ett artificiellt neuralt nätverk (ANN) med flera lager mellan ingångs- och utgångsskikten (DNN).
Djupa neurala nätverk är neurala nätverk med djup arkitektur. Ordet "djup" syftar på funktioner med många nivåer och enheter i ett enda lager. Mer exakta modeller kan skapas genom att lägga till fler och större lager för att fånga större nivåer av mönster.
6. Vad är en flerskiktsperceptron (MLP) egentligen?
Ingångs-, dolda och utgående lager finns i MLP:er, ungefär som i neurala nätverk. Den är byggd på samma sätt som en enskikts perceptron med ett eller flera dolda lager.
Den binära utsignalen från en enskiktsperceptron kan endast kategorisera linjära separerbara klasser (0,1), medan MLP kan klassificera olinjära klasser.
7. Vilket syfte har aktiveringsfunktioner i ett neuralt nätverk?
En aktiveringsfunktion avgör om en neuron ska aktiveras på den mest grundläggande nivån. Alla aktiveringsfunktioner kan acceptera den viktade summan av ingångarna plus bias som indata. Aktiveringsfunktionerna inkluderar stegfunktionen, Sigmoid, ReLU, Tanh och Softmax.
8. Vad exakt är Gradient Descent?
Den bästa metoden för att minimera en kostnadsfunktion eller ett fel är gradientnedstigning. Att hitta en funktions lokalt-globala minima är målet. Detta anger vägen som modellen ska följa för att minimera fel.
9. Exakt vad är kostnadsfunktionen?
Kostnadsfunktionen är ett mått för att bedöma hur väl din modell presterar; det är ibland känt som "förlust" eller "fel". Under backpropagation används den för att beräkna utdatalagrets fel.
Vi utnyttjar den felaktigheten för att främja det neurala nätverkets träningsprocesser genom att trycka tillbaka det genom det neurala nätverket.
10. Hur kan djupa nätverk överträffa grunda?
Dolda lager läggs till neurala nätverk utöver in- och utdatalager. Mellan in- och utlagren använder grunda neurala nätverk ett enda dolt lager, medan djupa neurala nätverk använder flera nivåer.
Ett grunt nätverk kräver flera parametrar för att kunna passa in i vilken funktion som helst. Djupa nätverk kan passa funktioner bättre även med ett litet antal parametrar eftersom de innehåller flera lager.
Djupa nätverk är nu att föredra på grund av deras mångsidighet när det gäller att arbeta med alla typer av datamodellering, oavsett om det är för tal- eller bildigenkänning.
11. Beskriv fortplantning framåt.
Indata överförs tillsammans med vikter till det nedgrävda lagret i en process som kallas fortspridning.
Aktiveringsfunktionens utdata beräknas i varje nedgrävt lager innan bearbetningen kan gå vidare till följande lager.
Processen startar vid ingångsskiktet och fortsätter till det ultimata utgångsskiktet, alltså namnet framåtriktad spridning.
12. Vad är backpropagation?
När vikter och förspänningar justeras i det neurala nätverket används backpropagation för att minska kostnadsfunktionen genom att först observera hur värdet förändras.
Att förstå gradienten vid varje gömt lager gör det enkelt att beräkna denna förändring.
Processen, känd som backpropagation, startar vid utgångsskiktet och går bakåt till ingångsskikten.
13. I samband med djupinlärning, hur förstår du gradientklippning?
Gradient Clipping är en metod för att lösa problemet med exploderande gradienter som uppstår under backpropagation (ett tillstånd där betydande felaktiga gradienter ackumuleras över tiden, vilket leder till betydande justeringar av neurala nätverksmodellvikter under träning).
Exploderande gradienter är ett problem som uppstår när gradienterna blir för stora under träning, vilket gör modellen instabil. Om gradienten har passerat det förväntade intervallet, skjuts gradientvärdena element-för-element till ett fördefinierat minimum- eller maximumvärde.
Gradientklippning förbättrar den numeriska stabiliteten i ett neuralt nätverk under träning, men det har minimal inverkan på modellens prestanda.
14. Vilka är Softmax- och ReLU-funktionerna?
En aktiveringsfunktion som kallas Softmax producerar en utgång i området mellan 0 och 1. Varje utgång delas så att summan av alla utgångarna är en. För utgående lager används Softmax ofta.
Rectified Linear Unit, ibland känd som ReLU, är den mest använda aktiveringsfunktionen. Om X är positivt utmatar det X, annars matar det nollor. ReLU appliceras regelbundet på nedgrävda lager.
15. Kan en neural nätverksmodell tränas med alla vikter inställda på 0?
Det neurala nätverket kommer aldrig att lära sig att slutföra ett givet jobb, därför är det inte möjligt att träna en modell genom att initiera alla vikter till 0.
Derivaten kommer att förbli desamma för varje vikt i W [1] om alla vikter initieras till noll, vilket kommer att resultera i att neuroner lär sig samma egenskaper iterativt.
Att inte bara initiera vikterna till 0, utan till någon form av konstant kommer sannolikt att resultera i ett underparresultat.
16. Vad skiljer en epok från en batch och en iteration?
Olika former av bearbetning av datauppsättningar och tekniker för gradientnedstigning inkluderar batch, iteration och epok. Epok involverar en gång genom ett neuralt nätverk med en fullständig datauppsättning, både framåt och bakåt.
För att ge tillförlitliga resultat skickas datauppsättningen ofta flera gånger eftersom den är för stor för att passera på ett enda försök.
Denna praxis att upprepade gånger köra en liten mängd data genom ett neuralt nätverk kallas iteration. För att garantera att datamängden framgångsrikt korsar de neurala nätverken kan den delas upp i ett antal batcher eller delmängder, vilket är känt som batching.
Beroende på datainsamlingens storlek är alla tre metoderna – epok, iteration och batchstorlek – i huvudsak sätt att använda algoritm för gradientnedstigning.
17. Vad är batchnormalisering och bortfall?
Bortfall förhindrar att data överanpassas genom att slumpmässigt ta bort både synliga och dolda nätverksenheter (typiskt tappar 20 procent av noderna). Det fördubblar antalet iterationer som krävs för att få nätverket att konvergera.
Genom att normalisera ingångarna i varje lager för att ha en medelutgångsaktivering på noll och en standardavvikelse på ett, är batchnormalisering en strategi för att förbättra prestanda och stabilitet hos neurala nätverk.
18. Vad skiljer Stokastisk Gradient Descent från Batch Gradient Descent?
Batch Gradient Descent:
- Den fullständiga datamängden används för att konstruera gradienten för batchgradienten.
- Den enorma mängden data och de långsamt uppdaterade vikterna gör konvergensen svår.
Stokastisk gradientnedstigning:
- Den stokastiska gradienten använder ett enda sampel för att beräkna gradienten.
- På grund av de mer frekventa viktändringarna konvergerar den betydligt snabbare än batchgradienten.
19. Varför är det avgörande att inkludera icke-linjäriteter i neurala nätverk?
Oavsett hur många lager det finns, kommer ett neuralt nätverk att bete sig som en perceptron i frånvaro av icke-linjäriteter, vilket gör utsignalen linjärt beroende av ingången.
För att uttrycka det på ett annat sätt är ett neuralt nätverk med n lager och m dolda enheter och linjära aktiveringsfunktioner ekvivalent med ett linjärt neuralt nätverk utan dolda lager och med förmågan att enbart detektera linjära separationsgränser.
Utan icke-linjäriteter kan ett neuralt nätverk inte lösa komplicerade problem och korrekt kategorisera indata.
20. Vad är en tensor i djupinlärning?
En flerdimensionell matris känd som en tensor fungerar som en generalisering av matriser och vektorer. Det är en avgörande datastruktur för djupinlärning. N-dimensionella arrayer av grundläggande datatyper används för att representera tensorer.
Varje komponent i tensorn har samma datatyp, och denna datatyp är alltid känd. Det är möjligt att endast en del av formen - nämligen hur många dimensioner det finns och hur stor var och en är - är känd.
I situationer när ingångarna också är helt kända, producerar majoriteten av operationerna fullt kända tensorer; i andra fall kan formen av en tensor endast fastställas under grafexekvering.
21. Hur skulle du välja aktiveringsfunktionen för en modell för djupinlärning?
- Det är vettigt att använda en linjär aktiveringsfunktion om resultatet som måste förutses är verkligt.
- En Sigmoid-funktion bör användas om utgången som måste prognostiseras är en binär klasssannolikhet.
- En Tanh-funktion kan användas om den projicerade utsignalen innehåller två klassificeringar.
- På grund av sin enkla beräkning är ReLU-funktionen användbar i ett brett spektrum av situationer.
22. Vad menar du med CNN?
Djupa neurala nätverk som är specialiserade på att utvärdera visuella bilder inkluderar konvolutionella neurala nätverk (CNN eller ConvNet). Här, snarare än i neurala nätverk där en vektor representerar ingången, är ingången en flerkanalsbild.
Flerskiktsperceptroner används på ett speciellt sätt av CNN som kräver mycket lite förbearbetning.
23. Vilka är de många CNN-skikten?
Konvolutionsskikt: Huvudskiktet är faltningsskiktet, som har en mängd olika inlärningsbara filter och ett mottagligt fält. Detta initiala lager tar indata och extraherar dess egenskaper.
ReLU Layer: Genom att göra nätverken icke-linjära förvandlar detta lager negativa pixlar till noll.
Poollager: Genom att minimera bearbetning och nätverksinställningar minimerar poollagret gradvis representationens rumsliga storlek. Max pooling är den mest använda metoden för pooling.
24. Vilka är effekterna av över- och underpassning, och hur kan du undvika dem?
Detta är känt som överanpassning när en modell lär sig krångligheterna och bruset i träningsdata till den punkt där det negativt påverkar modellens användning av färsk data.
Det är mer troligt att det händer med olinjära modeller som är mer anpassningsbara samtidigt som man lär sig en målfunktion. En modell kan tränas för att upptäcka bilar och lastbilar, men den kanske bara kan identifiera fordon med en viss boxform.
Med tanke på att den bara tränades på en typ av lastbil, kanske den inte kan upptäcka en lastbil med flak. På träningsdata fungerar modellen bra, men inte i den faktiska världen.
En undermonterad modell avser en modell som inte är tillräckligt tränad på data eller kan generalisera till ny information. Detta inträffar ofta när en modell tränas med otillräckliga eller felaktiga data.
Precision och prestanda äventyras av undermontering.
Omsampling av data för att uppskatta modellens noggrannhet (K-faldig korsvalidering) och användning av en valideringsdatauppsättning för att bedöma modellen är två sätt att undvika över- och underanpassning.
25. Vad är en RNN vid djupinlärning?
Återkommande neurala nätverk (RNN), en vanlig variation av artificiella neurala nätverk, går under förkortningen RNN. De används för att bland annat bearbeta genom, handstil, text och datasekvenser. För den nödvändiga utbildningen använder RNN:er backpropagation.
26. Beskriv Adam Optimizer
Adam optimizer, även känd som adaptivt momentum, är en optimeringsteknik utvecklad för att hantera bullriga situationer med glesa gradienter.
Förutom att tillhandahålla uppdateringar per parameter för snabbare konvergens, förbättrar Adam-optimeraren konvergens genom momentum, vilket säkerställer att en modell inte fastnar i sadelpunkten.
27. Deep autoencoders: vad är det?
Deep autoencoder är samlingsnamnet för två symmetriska deep belief-nätverk som vanligtvis inkluderar fyra eller fem grunda lager för den kodande halvan av nätverket och en annan uppsättning av fyra eller fem lager för avkodningshalvan.
Dessa lager utgör grunden för djupa trosnätverk och är begränsade av Boltzmann-maskiner. Efter varje RBM tillämpar en djup autokodare binära ändringar på datasetet MNIST.
De kan också användas i andra datauppsättningar där Gaussiska korrigerade transformationer skulle föredras framför RBM.
28. Vad betyder Tensor i Tensorflow?
Det här är en annan djupinlärningsintervjufråga som ställs regelbundet. En tensor är ett matematiskt koncept som visualiseras som högre dimensionella arrayer.
Tensorer är dessa datamatriser som tillhandahålls som input till det neurala nätverket och har olika dimensioner och rangordningar.
29. En förklaring av en beräkningsgraf
Grunden för ett TensorFlow är konstruktionen av en beräkningsgraf. Varje nod fungerar i ett nätverk av noder, där noder står för matematiska operationer och kanter för tensorer.
Det kallas ibland för en "DataFlow Graph" eftersom data flyter i form av en graf.
30. Generativa motstridiga nätverk (GAN): vad är de?
I Deep Learning åstadkoms generativ modellering med hjälp av generativa kontradiktoriska nätverk. Det är ett oövervakat jobb där resultatet produceras genom att identifiera mönster i indata.
Diskriminatorn används för att kategorisera de instanser som produceras av generatorn, medan generatorn används för att producera nya exempel.
31. Hur kommer du att välja antalet neuroner och dolda lager som ska inkluderas i det neurala nätverket när du utformar arkitekturen?
Med tanke på en affärsutmaning kan det exakta antalet neuroner och dolda lager som behövs för att konstruera en neural nätverksarkitektur inte bestämmas av några hårda och snabba regler.
I ett neuralt nätverk bör storleken på det dolda lagret falla någonstans i mitten av storleken på ingångs- och utdatalagren.
Ett försprång med att skapa en neural nätverksdesign kan dock uppnås med några enkla metoder:
Att börja med några grundläggande systematiska tester för att se vad som skulle fungera bäst för en specifik datauppsättning baserat på tidigare erfarenhet av neurala nätverk i liknande verkliga miljöer är det bästa sättet att tackla varje unik verklig utmaning med prediktiv modellering.
Nätverkskonfigurationen kan väljas baserat på ens kunskap om problemdomänen och tidigare erfarenhet av neurala nätverk. När man utvärderar ett neuralt nätverks konfiguration är antalet lager och neuroner som används på relaterade problem ett bra ställe att börja.
Det neurala nätverkets komplexitet bör gradvis ökas baserat på projicerad uteffekt och noggrannhet, med början med en enkel neurala nätverksdesign.
32. Vilka typer av neurala nätverk används av djup förstärkningsinlärning?
- I ett maskininlärningsparadigm som kallas förstärkningsinlärning, verkar modellen för att maximera idén om kumulativ belöning, precis som levande saker gör.
- Spel och självkörande fordon beskrivs båda som problem med förstärkning lärande.
- Skärmen används som indata om problemet som ska representeras är ett spel. För att producera en utdata för de kommande faserna tar algoritmen pixlarna som indata och bearbetar dem via många lager av konvolutionella neurala nätverk.
- Modellens handlingars resultat, antingen gynnsamma eller dåliga, fungerar som förstärkning.
Slutsats
Deep Learning har ökat i popularitet under åren, med tillämpningar inom praktiskt taget alla branschområden.
Företag letar alltmer efter kompetenta experter som kan designa modeller som replikerar mänskligt beteende med hjälp av djupinlärning och maskininlärning.
Kandidater som ökar sin kompetens och bibehåller sina kunskaper om dessa banbrytande teknologier kan hitta ett brett utbud av arbetsmöjligheter med attraktiv ersättning.
Du kan börja med intervjuerna nu när du har ett starkt grepp om hur du ska svara på några av de mest efterfrågade intervjufrågorna för djupinlärning. Ta nästa steg baserat på dina mål.
Besök Hashdork's Intervjuserie för att förbereda sig för intervjuer.
Kommentera uppropet