Inhoudsopgave[Zich verstoppen][Laten zien]
- 1. Wat is Deep Learning precies?
- 2. Wat onderscheidt Deep Learning van Machine Learning?
- 3. Wat zijn uw huidige inzichten over neurale netwerken?
- 4. Wat is een perceptron precies?
- 5. Wat is precies een diep neuraal netwerk?
- 6. Wat is precies een meerlaagse Perceptron (MLP)?
- 7. Welk doel spelen activeringsfuncties in een neuraal netwerk?
- 8. Wat is gradiëntafdaling precies?
- 9. Wat is precies de kostenfunctie?
- 10. Hoe kunnen diepe netwerken beter presteren dan ondiepe?
- 11. Beschrijf voorwaartse voortplanting.
- 12. Wat is backpropagation?
- 13. Hoe begrijp je gradiënt clipping in de context van deep learning?
- 14. Wat zijn de Softmax- en ReLU-functies?
- 15. Kan een neuraal netwerkmodel worden getraind met alle gewichten op 0?
- 16. Wat onderscheidt een tijdperk van een batch en een iteratie?
- 17. Wat zijn batchnormalisatie en drop-out?
- 18. Wat scheidt stochastische gradiëntafdaling van batchgradiëntafdaling?
- 19. Waarom is het cruciaal om niet-lineariteiten in neurale netwerken op te nemen?
- 20. Wat is een tensor in deep learning?
- 21. Hoe zou u de activeringsfunctie kiezen voor een deep learning-model?
- 22. Wat bedoel je met CNN?
- 23. Wat zijn de vele CNN-lagen?
- 24. Wat zijn de effecten van over- en onderaanpassing, en hoe voorkom je ze?
- 25. Wat is een RNN bij deep learning?
- 26. Beschrijf de Adam Optimizer
- 27. Diepe auto-encoders: wat zijn dat?
- 28. Wat betekent Tensor in Tensorflow?
- 29. Een uitleg van een computationele grafiek
- 30. Generatieve adversariële netwerken (GAN's): wat zijn dat?
- 31. Hoe kies je het aantal neuronen en verborgen lagen dat je in het neurale netwerk wilt opnemen terwijl je de architectuur ontwerpt?
- 32. Welke soorten neurale netwerken worden gebruikt bij diepgaand leren?
- Conclusie
Deep learning is geen gloednieuw idee. Kunstmatige neurale netwerken dienen als de enige basis van de subset van machine learning die bekend staat als deep learning.
Deep learning is een nabootsing van het menselijk brein, net zoals neurale netwerken zijn, omdat ze zijn gemaakt om het menselijk brein te imiteren.
Dit is er al een tijdje. Tegenwoordig heeft iedereen het erover, omdat we lang niet zoveel verwerkingskracht of gegevens hebben als nu.
In de afgelopen 20 jaar zijn deep learning en machine learning ontstaan als gevolg van de dramatische toename van de verwerkingscapaciteit.
Om je te helpen je voor te bereiden op alle vragen die je zou kunnen tegenkomen bij het zoeken naar je droombaan, zal dit bericht je door een aantal diepgaande sollicitatievragen leiden, variërend van eenvoudig tot ingewikkeld.
1. Wat is Deep Learning precies?
Als je aanwezig bent op een diepgaand leren interview, je begrijpt ongetwijfeld wat deep learning is. De interviewer verwacht echter dat u een gedetailleerd antwoord geeft, samen met een illustratie, als antwoord op deze vraag.
Om te trainen neurale netwerken voor deep learning moeten aanzienlijke hoeveelheden georganiseerde of ongestructureerde gegevens worden gebruikt. Om verborgen patronen en kenmerken te vinden, voert het ingewikkelde procedures uit (bijvoorbeeld het beeld van een kat onderscheiden van dat van een hond).
2. Wat onderscheidt Deep Learning van Machine Learning?
Als een tak van kunstmatige intelligentie die bekend staat als machine learning, trainen we computers met behulp van gegevens en statistische en algoritmische technieken, zodat ze na verloop van tijd beter worden.
Als een aspect van machine learning, imiteert deep learning de neurale netwerkarchitectuur in het menselijk brein.
3. Wat zijn uw huidige inzichten over neurale netwerken?
Kunstmatige systemen die bekend staan als neurale netwerken lijken erg op de organische neurale netwerken die in het menselijk lichaam worden aangetroffen.
Een techniek gebruiken die lijkt op hoe de menselijk brein functies, is een neuraal netwerk een verzameling algoritmen die tot doel heeft onderliggende correlaties in een stuk gegevens te identificeren.
Deze systemen verwerven taakspecifieke kennis door zichzelf bloot te stellen aan een reeks datasets en voorbeelden, in plaats van door taakspecifieke regels te volgen.
Het idee is dat het systeem in plaats van een voorgeprogrammeerd begrip van deze datasets te hebben, onderscheidende kenmerken leert van de data die het krijgt aangevoerd.
De drie netwerklagen die het meest worden gebruikt in neurale netwerken zijn als volgt:
- Invoer laag
- Verborgen laag
- Uitvoerlaag
4. Wat is een perceptron precies?
Het biologische neuron in het menselijk brein is vergelijkbaar met een perceptron. Meerdere inputs worden ontvangen door de perceptron, die vervolgens talrijke transformaties en functies uitvoert en een output produceert.
Een lineair model, een perceptron genaamd, wordt gebruikt in binaire classificatie. Het simuleert een neuron met verschillende inputs, elk met een ander gewicht.
Het neuron berekent een functie met behulp van deze gewogen invoer en geeft de resultaten weer.
5. Wat is precies een diep neuraal netwerk?
Een diep neuraal netwerk is een kunstmatig neuraal netwerk (ANN) met verschillende lagen tussen de invoer- en uitvoerlagen (DNN).
Diepe neurale netwerken zijn neurale netwerken met een diepe architectuur. Het woord "diep" verwijst naar functies met veel niveaus en eenheden in een enkele laag. Er kunnen nauwkeurigere modellen worden gemaakt door meer en grotere lagen toe te voegen om grotere patronen vast te leggen.
6. Wat is precies een meerlaagse Perceptron (MLP)?
Input-, hidden- en outputlagen zijn aanwezig in MLP's, net zoals in neurale netwerken. Het is op dezelfde manier gebouwd als een enkellaags perceptron met een of meer verborgen lagen.
De binaire uitvoer van een perceptron met één laag kan alleen lineair scheidbare klassen (0,1) categoriseren, terwijl MLP niet-lineaire klassen kan classificeren.
7. Welk doel spelen activeringsfuncties in een neuraal netwerk?
Een activeringsfunctie bepaalt of een neuron op het meest fundamentele niveau moet worden geactiveerd. Elke activeringsfunctie kan de gewogen som van de inputs plus bias als input accepteren. Activeringsfuncties omvatten de stapfunctie, de Sigmoid, de ReLU, de Tanh en de Softmax.
8. Wat is gradiëntafdaling precies?
De beste benadering voor het minimaliseren van een kostenfunctie of een fout is gradiëntafdaling. Het doel is om de lokaal-globale minima van een functie te vinden. Dit specificeert het pad dat het model moet volgen om fouten te minimaliseren.
9. Wat is precies de kostenfunctie?
De kostenfunctie is een maatstaf om te beoordelen hoe goed uw model presteert; het staat soms bekend als "verlies" of "fout". Tijdens backpropagation wordt het gebruikt om de fout van de uitvoerlaag te berekenen.
We benutten die onnauwkeurigheid om de trainingsprocessen van het neurale netwerk te bevorderen door het terug te duwen door het neurale netwerk.
10. Hoe kunnen diepe netwerken beter presteren dan ondiepe?
Naast invoer- en uitvoerlagen worden verborgen lagen aan neurale netwerken toegevoegd. Tussen de invoer- en uitvoerlagen maken ondiepe neurale netwerken gebruik van een enkele verborgen laag, terwijl diepe neurale netwerken meerdere niveaus gebruiken.
Een ondiep netwerk vereist meerdere parameters om in elke functie te kunnen passen. Diepe netwerken passen beter bij functies, zelfs met een klein aantal parameters, omdat ze meerdere lagen bevatten.
Diepe netwerken hebben nu de voorkeur vanwege hun veelzijdigheid bij het werken met elk type gegevensmodellering, of het nu gaat om spraak- of beeldherkenning.
11. Beschrijf voorwaartse voortplanting.
Inputs worden samen met gewichten naar de begraven laag verzonden in een proces dat bekend staat als forwarding propagation.
De uitvoer van de activeringsfunctie wordt berekend in elke begraven laag voordat de verwerking kan doorgaan naar de volgende laag.
Het proces begint bij de invoerlaag en gaat door naar de uiteindelijke uitvoerlaag, vandaar de naam forward propagation.
12. Wat is backpropagation?
Wanneer gewichten en vooroordelen worden aangepast in het neurale netwerk, wordt backpropagation gebruikt om de kostenfunctie te verminderen door eerst te observeren hoe de waarde verandert.
Als u het verloop op elke verborgen laag begrijpt, is het berekenen van deze wijziging eenvoudig.
Het proces, bekend als backpropagation, begint bij de uitvoerlaag en gaat terug naar de invoerlagen.
13. Hoe begrijp je gradiënt clipping in de context van deep learning?
Gradient Clipping is een methode voor het oplossen van het probleem van exploderende gradiënten die optreden tijdens backpropagation (een toestand waarin significante onjuiste gradiënten zich in de loop van de tijd ophopen, wat leidt tot significante aanpassingen aan de gewichten van neurale netwerkmodellen tijdens de training).
Exploderende gradiënten is een probleem dat zich voordoet wanneer de gradiënten te groot worden tijdens de training, waardoor het model onstabiel wordt. Als de gradiënt het verwachte bereik heeft overschreden, worden de gradiëntwaarden element voor element naar een vooraf gedefinieerde minimum- of maximumwaarde geduwd.
Gradient clipping verbetert de numerieke stabiliteit van een neuraal netwerk tijdens de training, maar heeft een minimale impact op de prestaties van het model.
14. Wat zijn de Softmax- en ReLU-functies?
Een activeringsfunctie genaamd Softmax produceert een uitgang in het bereik tussen 0 en 1. Elke uitgang is zo verdeeld dat de som van alle uitgangen één is. Voor uitvoerlagen wordt vaak Softmax gebruikt.
Rectified Linear Unit, ook wel bekend als ReLU, is de meest gebruikte activeringsfunctie. Als X positief is, wordt X uitgevoerd, anders worden nullen uitgevoerd. ReLU wordt regelmatig toegepast op begraven lagen.
15. Kan een neuraal netwerkmodel worden getraind met alle gewichten op 0?
Het neurale netwerk zal nooit leren een bepaalde taak te voltooien, daarom is het niet mogelijk om een model te trainen door alle gewichten op 0 te initialiseren.
De afgeleiden blijven hetzelfde voor elk gewicht in W [1] als alle gewichten worden geïnitialiseerd op nul, wat ertoe zal leiden dat neuronen dezelfde kenmerken iteratief leren.
Niet alleen de gewichten initialiseren naar 0, maar elke vorm van constante zal waarschijnlijk resulteren in een ondermaats resultaat.
16. Wat onderscheidt een tijdperk van een batch en een iteratie?
Verschillende vormen van verwerking van datasets en gradiëntafdalingstechnieken omvatten batch, iteratie en epoch. Epoch omvat eenmalig een neuraal netwerk met een volledige dataset, zowel voorwaarts als achterwaarts.
Om betrouwbare resultaten te leveren, wordt de dataset vaak meerdere keren doorgegeven, omdat deze te groot is om in één keer te slagen.
Deze praktijk van het herhaaldelijk uitvoeren van een kleine hoeveelheid gegevens via een neuraal netwerk wordt iteratie genoemd. Om te garanderen dat de dataset met succes de neurale netwerken doorkruist, kan deze worden opgedeeld in een aantal batches of subsets, ook wel batching genoemd.
Afhankelijk van de grootte van de gegevensverzameling, zijn alle drie de methoden - tijdperk, iteratie en batchgrootte - in wezen manieren om de gradiënt afdaling algoritme.
17. Wat zijn batchnormalisatie en drop-out?
Dropout voorkomt overfitting van gegevens door willekeurig zowel zichtbare als verborgen netwerkeenheden te verwijderen (doorgaans 20 procent van de knooppunten laten vallen). Het verdubbelt het aantal iteraties dat nodig is om het netwerk te laten convergeren.
Door de invoer in elke laag te normaliseren om een gemiddelde uitvoeractivering van nul en een standaarddeviatie van één te hebben, is batchnormalisatie een strategie om de prestaties en stabiliteit van neurale netwerken te verbeteren.
18. Wat scheidt stochastische gradiëntafdaling van batchgradiëntafdaling?
Batch gradiënt afdaling:
- De volledige dataset wordt gebruikt om de gradiënt voor de batchgradiënt te construeren.
- De enorme hoeveelheid data en de langzaam actualiserende gewichten maken convergentie moeilijk.
Stochastische gradiëntafdaling:
- De stochastische gradiënt gebruikt een enkel monster om de gradiënt te berekenen.
- Door de frequentere gewichtsveranderingen convergeert het aanzienlijk sneller dan de batchgradiënt.
19. Waarom is het cruciaal om niet-lineariteiten in neurale netwerken op te nemen?
Het maakt niet uit hoeveel lagen er zijn, een neuraal netwerk zal zich gedragen als een perceptron bij afwezigheid van niet-lineariteiten, waardoor de output lineair afhankelijk wordt van de input.
Anders gezegd: een neuraal netwerk met n lagen en m verborgen eenheden en lineaire activeringsfuncties is gelijk aan een lineair neuraal netwerk zonder verborgen lagen en met de mogelijkheid om alleen lineaire scheidingsgrenzen te detecteren.
Zonder niet-lineariteiten is een neuraal netwerk niet in staat ingewikkelde problemen op te lossen en de invoer nauwkeurig te categoriseren.
20. Wat is een tensor in deep learning?
Een multidimensionale array die bekend staat als een tensor, dient als een generalisatie van matrices en vectoren. Het is een cruciale datastructuur voor deep learning. N-dimensionale arrays van fundamentele gegevenstypen worden gebruikt om tensoren weer te geven.
Elk onderdeel van de tensor heeft hetzelfde datatype en dit datatype is altijd bekend. Het is mogelijk dat alleen een deel van de vorm bekend is, namelijk hoeveel dimensies er zijn en hoe groot ze zijn.
In situaties waarin de ingangen ook volledig bekend zijn, produceren de meeste bewerkingen volledig bekende tensoren; in andere gevallen kan de vorm van een tensor alleen worden vastgesteld tijdens de uitvoering van de grafiek.
21. Hoe zou u de activeringsfunctie kiezen voor een deep learning-model?
- Het is zinvol om een lineaire activeringsfunctie toe te passen als de te verwachten uitkomst reëel is.
- Een Sigmoid-functie moet worden gebruikt als de uitvoer die moet worden voorspeld een waarschijnlijkheid van binaire klassen is.
- Een Tanh-functie kan worden gebruikt als de geprojecteerde uitvoer twee classificaties bevat.
- Vanwege het rekengemak is de ReLU-functie toepasbaar in een breed scala aan situaties.
22. Wat bedoel je met CNN?
Diepe neurale netwerken die gespecialiseerd zijn in het evalueren van visuele beelden, omvatten convolutionele neurale netwerken (CNN of ConvNet). Hier, in plaats van in neurale netwerken waar een vector de invoer vertegenwoordigt, is de invoer een meerkanaals beeld.
Meerlaagse perceptrons worden op een speciale manier gebruikt door CNN's die zeer weinig voorbewerking vereisen.
23. Wat zijn de vele CNN-lagen?
Convolutionele laag: De hoofdlaag is de convolutionele laag, die een verscheidenheid aan leerbare filters en een receptief veld heeft. Deze eerste laag neemt de invoergegevens en extraheert de kenmerken ervan.
ReLU-laag: door de netwerken niet-lineair te maken, verandert deze laag negatieve pixels in nul.
Pooling-laag: door de verwerkings- en netwerkinstellingen te minimaliseren, minimaliseert de pooling-laag geleidelijk de ruimtelijke grootte van de representatie. Max pooling is de meest gebruikte manier van poolen.
24. Wat zijn de effecten van over- en onderaanpassing, en hoe voorkom je ze?
Dit staat bekend als overfitting wanneer een model de fijne kneepjes en ruis in de trainingsgegevens zo leert dat het een negatief effect heeft op het gebruik van nieuwe gegevens door het model.
Het is waarschijnlijker dat dit gebeurt met niet-lineaire modellen die meer aanpasbaar zijn tijdens het leren van een doelfunctie. Een model kan worden getraind om auto's en vrachtwagens te detecteren, maar het kan mogelijk alleen voertuigen met een bepaalde doosvorm identificeren.
Aangezien het slechts op één type vrachtwagen is getraind, kan het mogelijk geen dieplader detecteren. Op trainingsgegevens werkt het model goed, maar niet in de echte wereld.
Een ondergeschikt model verwijst naar een model dat niet voldoende is getraind in gegevens of dat niet in staat is om te generaliseren naar nieuwe informatie. Dit komt vaak voor wanneer een model wordt getraind met onvoldoende of onnauwkeurige gegevens.
Nauwkeurigheid en prestaties worden beide aangetast door onderaanpassing.
Het opnieuw bemonsteren van de gegevens om de modelnauwkeurigheid te schatten (K-voudige kruisvalidatie) en het gebruik van een validatiegegevensset om het model te beoordelen, zijn twee manieren om overfitting en underfitting te voorkomen.
25. Wat is een RNN bij deep learning?
Recurrente neurale netwerken (RNN's), een veel voorkomende variëteit van kunstmatige neurale netwerken, worden aangeduid met de afkorting RNN. Ze worden onder meer gebruikt om genomen, handschrift, tekst en gegevensreeksen te verwerken. Voor de nodige training maken RNN's gebruik van backpropagation.
26. Beschrijf de Adam Optimizer
Adam-optimizer, ook bekend als adaptief momentum, is een optimalisatietechniek die is ontwikkeld om rumoerige situaties met schaarse gradiënten aan te kunnen.
Naast het leveren van updates per parameter voor snellere convergentie, verbetert de Adam-optimizer de convergentie door middel van momentum, zodat een model niet vast komt te zitten in het zadelpunt.
27. Diepe auto-encoders: wat zijn dat?
Diepe autoencoder is de verzamelnaam voor twee symmetrische diepe geloofsnetwerken die over het algemeen vier of vijf ondiepe lagen bevatten voor de coderende helft van het netwerk en een andere set van vier of vijf lagen voor de decoderingshelft.
Deze lagen vormen de basis van diepe geloofsnetwerken en worden beperkt door Boltzmann-machines. Na elke RBM past een diepe autoencoder binaire wijzigingen toe op de dataset MNIST.
Ze kunnen ook worden gebruikt in andere datasets waar Gauss-gerectificeerde transformaties de voorkeur zouden hebben boven RBM.
28. Wat betekent Tensor in Tensorflow?
Dit is een andere deep learning-interviewvraag die regelmatig wordt gesteld. Een tensor is een wiskundig concept dat wordt gevisualiseerd als hoger-dimensionale arrays.
Tensoren zijn deze gegevensarrays die worden geleverd als invoer voor het neurale netwerk en verschillende dimensies en rangschikkingen hebben.
29. Een uitleg van een computationele grafiek
De basis van een TensorFlow is de constructie van een rekengrafiek. Elk knooppunt functioneert in een netwerk van knooppunten, waarbij knooppunten staan voor wiskundige bewerkingen en randen voor tensoren.
Het wordt soms een "DataFlow-grafiek" genoemd, omdat gegevens in de vorm van een grafiek stromen.
30. Generatieve adversariële netwerken (GAN's): wat zijn dat?
In Deep Learning wordt generatieve modellering bereikt met behulp van generatieve vijandige netwerken. Het is een taak zonder toezicht waarbij het resultaat wordt geproduceerd door patronen in de invoergegevens te identificeren.
De discriminator wordt gebruikt om de door de generator geproduceerde instanties te categoriseren, terwijl de generator wordt gebruikt om nieuwe voorbeelden te produceren.
31. Hoe kies je het aantal neuronen en verborgen lagen dat je in het neurale netwerk wilt opnemen terwijl je de architectuur ontwerpt?
Gezien een zakelijke uitdaging, kan het precieze aantal neuronen en verborgen lagen dat nodig is om een neurale netwerkarchitectuur te bouwen niet worden bepaald door vaste regels.
In een neuraal netwerk moet de grootte van de verborgen laag ergens in het midden van de grootte van de invoer- en uitvoerlagen vallen.
Een voorsprong bij het maken van een neuraal netwerkontwerp kan echter op een paar eenvoudige manieren worden bereikt:
Beginnend met wat systematische basistests om te zien wat het beste zou presteren voor een specifieke dataset op basis van eerdere ervaring met neurale netwerken in vergelijkbare real-world omgevingen, is de beste manier om elke unieke real-world voorspellende modelleringsuitdaging aan te pakken.
De netwerkconfiguratie kan worden gekozen op basis van iemands kennis van het probleemdomein en eerdere neurale netwerkervaring. Bij het beoordelen van de opzet van een neuraal netwerk is het aantal lagen en neuronen dat wordt gebruikt voor gerelateerde problemen een goed beginpunt.
De complexiteit van het neurale netwerk moet geleidelijk worden verhoogd op basis van de geprojecteerde output en nauwkeurigheid, te beginnen met een eenvoudig neuraal netwerkontwerp.
32. Welke soorten neurale netwerken worden gebruikt bij diepgaand leren?
- In een machine learning-paradigma genaamd versterkingsleren, werkt het model om het idee van cumulatieve beloning te maximaliseren, net zoals live dingen doen.
- Games en zelfrijdende voertuigen worden beide beschreven als problemen versterking van leren.
- Het scherm wordt gebruikt als invoer als het te representeren probleem een spel is. Om een output voor de volgende fasen te produceren, neemt het algoritme de pixels als input en verwerkt ze via vele lagen van convolutionele neurale netwerken.
- De resultaten van de acties van het model, gunstig of slecht, werken als versterking.
Conclusie
Deep Learning is in de loop der jaren steeds populairder geworden, met toepassingen in vrijwel elk industriegebied.
Bedrijven zijn steeds meer op zoek naar competente experts die modellen kunnen ontwerpen die menselijk gedrag nabootsen met behulp van deep learning en machine learning-benaderingen.
Kandidaten die hun vaardigheden uitbreiden en hun kennis van deze geavanceerde technologieën behouden, kunnen een breed scala aan werkmogelijkheden vinden met een aantrekkelijke vergoeding.
U kunt beginnen met de interviews nu u goed weet hoe u moet reageren op enkele van de meest gevraagde deep learning-interviewvragen. Zet de volgende stap op basis van uw doelstellingen.
Bezoek Hashdork's Interview serie om sollicitatiegesprekken voor te bereiden.
Laat een reactie achter