Table des matières[Cacher][Montrer]
- 1. Qu'est-ce que le Deep Learning exactement ?
- 2. Qu'est-ce qui distingue le Deep Learning du Machine Learning ?
- 3. Quelles sont vos compréhensions actuelles des réseaux de neurones ?
- 4. Qu'est-ce qu'un perceptron exactement ?
- 5. Qu'est-ce qu'un réseau de neurones profond exactement ?
- 6. Qu'est-ce qu'un perceptron multicouche (MLP) ?
- 7. A quoi servent les fonctions d'activation dans un réseau de neurones ?
- 8. Qu'est-ce que la descente de gradient exactement ?
- 9. Quelle est exactement la fonction de coût ?
- 10. Comment les réseaux profonds peuvent-ils être plus performants que les réseaux superficiels ?
- 11. Décrire la propagation vers l'avant.
- 12. Qu'est-ce que la rétropropagation ?
- 13. Dans le contexte de l'apprentissage en profondeur, comment comprenez-vous l'écrêtage de gradient ?
- 14. Que sont les fonctions Softmax et ReLU ?
- 15. Un modèle de réseau de neurones peut-il être formé avec tous les poids définis sur 0 ?
- 16. Qu'est-ce qui distingue une époque d'un lot et d'une itération ?
- 17. Qu'est-ce que la normalisation par lots et l'abandon ?
- 18. Qu'est-ce qui sépare la descente de gradient stochastique de la descente de gradient par lots ?
- 19. Pourquoi est-il crucial d'inclure des non-linéarités dans les réseaux de neurones ?
- 20. Qu'est-ce qu'un tenseur en apprentissage profond ?
- 21. Comment choisiriez-vous la fonction d'activation d'un modèle d'apprentissage en profondeur ?
- 22. Que voulez-vous dire par CNN ?
- 23. Quelles sont les nombreuses couches CNN ?
- 24. Quels sont les effets du surajustement et du sous-ajustement, et comment pouvez-vous les éviter ?
- 25. En apprentissage profond, qu'est-ce qu'un RNN ?
- 26. Décrire l'optimiseur Adam
- 27. Auto-encodeurs profonds : qu'est-ce que c'est ?
- 28. Que signifie Tensor dans Tensorflow ?
- 29. Une explication d'un graphique de calcul
- 30. Réseaux antagonistes génératifs (GAN) : de quoi s'agit-il ?
- 31. Comment choisirez-vous le nombre de neurones et de couches cachées à inclure dans le réseau de neurones lors de la conception de l'architecture ?
- 32. Quels types de réseaux de neurones sont utilisés par l'apprentissage par renforcement profond ?
- Conclusion
L'apprentissage en profondeur n'est pas une idée nouvelle. Les réseaux de neurones artificiels constituent le seul fondement du sous-ensemble d'apprentissage automatique connu sous le nom d'apprentissage en profondeur.
L'apprentissage en profondeur est une imitation du cerveau humain, tout comme les réseaux de neurones, car ils ont été créés pour imiter le cerveau humain.
Il y a eu cela pendant un certain temps. De nos jours, tout le monde en parle car nous n'avons pas autant de puissance de traitement ou de données que nous en avons maintenant.
Au cours des 20 dernières années, l'apprentissage en profondeur et l'apprentissage automatique ont émergé à la suite de l'augmentation spectaculaire de la capacité de traitement.
Afin de vous aider à vous préparer à toute demande de renseignements que vous pourriez rencontrer lors de la recherche de l'emploi de vos rêves, cet article vous guidera à travers un certain nombre de questions d'entretien d'apprentissage en profondeur, allant du simple au compliqué.
1. Qu'est-ce que le Deep Learning exactement ?
Si vous assistez à un l'apprentissage en profondeur entretien, vous comprenez sans aucun doute ce qu'est l'apprentissage en profondeur. L'intervieweur, cependant, s'attend à ce que vous fournissiez une réponse détaillée accompagnée d'une illustration en réponse à cette question.
Afin de s'entrainer les réseaux de neurones pour l'apprentissage en profondeur, des quantités importantes de données organisées ou non structurées doivent être utilisées. Pour trouver des motifs et des caractéristiques cachés, il effectue des procédures compliquées (par exemple, distinguer l'image d'un chat de celle d'un chien).
2. Qu'est-ce qui distingue le Deep Learning du Machine Learning ?
En tant que branche de l'intelligence artificielle connue sous le nom d'apprentissage automatique, nous formons des ordinateurs à l'aide de données et de techniques statistiques et algorithmiques afin qu'ils s'améliorent au fil du temps.
En tant qu'aspect de machine learning, l'apprentissage en profondeur imite l'architecture du réseau neuronal observée dans le cerveau humain.
3. Quelles sont vos compréhensions actuelles des réseaux de neurones ?
Les systèmes artificiels connus sous le nom de réseaux de neurones ressemblent de très près aux réseaux de neurones organiques que l'on trouve dans le corps humain.
En utilisant une technique qui ressemble à la façon dont le cerveau humain fonctions, un réseau de neurones est un ensemble d'algorithmes qui vise à identifier les corrélations sous-jacentes dans une donnée.
Ces systèmes acquièrent des connaissances spécifiques à une tâche en s'exposant à une gamme d'ensembles de données et d'exemples, plutôt qu'en suivant des règles spécifiques à une tâche.
L'idée est qu'au lieu d'avoir une compréhension préprogrammée de ces ensembles de données, le système apprend des caractéristiques distinctives à partir des données qu'il reçoit.
Les trois couches réseau les plus couramment utilisées dans les réseaux de neurones sont les suivantes :
- Couche d'entrée
- Couche cachée
- Couche de sortie
4. Qu'est-ce qu'un perceptron exactement ?
Le neurone biologique présent dans le cerveau humain est comparable à un perceptron. Plusieurs entrées sont reçues par le perceptron, qui effectue ensuite de nombreuses transformations et fonctions et produit une sortie.
Un modèle linéaire appelé perceptron est utilisé dans la classification binaire. Il simule un neurone avec une variété d'entrées, chacune avec un poids différent.
Le neurone calcule une fonction à l'aide de ces entrées pondérées et affiche les résultats.
5. Qu'est-ce qu'un réseau de neurones profond exactement ?
Un réseau neuronal profond est un réseau neuronal artificiel (ANN) avec plusieurs couches entre les couches d'entrée et de sortie (DNN).
Les réseaux de neurones profonds sont des réseaux de neurones à architecture profonde. Le mot "profond" fait référence à des fonctions avec de nombreux niveaux et unités dans une seule couche. Des modèles plus précis peuvent être créés en ajoutant des couches plus nombreuses et plus grandes pour capturer des niveaux plus élevés de motifs.
6. Qu'est-ce qu'un perceptron multicouche (MLP) ?
Les couches d'entrée, cachées et de sortie sont présentes dans les MLP, un peu comme dans les réseaux de neurones. Il est construit de manière similaire à un perceptron monocouche avec une ou plusieurs couches cachées.
La sortie binaire d'un perceptron à une seule couche ne peut catégoriser que des classes séparables linéaires (0,1), alors que MLP peut classer des classes non linéaires.
7. A quoi servent les fonctions d'activation dans un réseau de neurones ?
Une fonction d'activation détermine si oui ou non un neurone doit s'activer au niveau le plus fondamental. Toute fonction d'activation peut accepter la somme pondérée des entrées plus le biais comme entrée. Les fonctions d'activation incluent la fonction step, le Sigmoid, le ReLU, le Tanh et le Softmax.
8. Qu'est-ce que la descente de gradient exactement ?
La meilleure approche pour minimiser une fonction de coût ou une erreur est la descente de gradient. L'objectif est de trouver les minima locaux-globaux d'une fonction. Cela spécifie le chemin que le modèle doit suivre pour minimiser les erreurs.
9. Quelle est exactement la fonction de coût ?
La fonction de coût est une mesure permettant d'évaluer les performances de votre modèle ; il est parfois appelé « perte » ou « erreur ». Pendant la rétropropagation, il est utilisé pour calculer l'erreur de la couche de sortie.
Nous exploitons cette inexactitude pour faire avancer les processus de formation du réseau neuronal en le repoussant à travers le réseau neuronal.
10. Comment les réseaux profonds peuvent-ils être plus performants que les réseaux superficiels ?
Des couches cachées sont ajoutées aux réseaux de neurones en plus des couches d'entrée et de sortie. Entre les couches d'entrée et de sortie, les réseaux de neurones peu profonds utilisent une seule couche cachée, tandis que les réseaux de neurones profonds utilisent de nombreux niveaux.
Un réseau peu profond nécessite plusieurs paramètres afin de pouvoir s'adapter à n'importe quelle fonction. Les réseaux profonds peuvent mieux convenir aux fonctions même avec un petit nombre de paramètres puisqu'ils comprennent plusieurs couches.
Les réseaux profonds sont désormais préférés en raison de leur polyvalence pour travailler avec tout type de modélisation de données, que ce soit pour la reconnaissance vocale ou d'image.
11. Décrire la propagation vers l'avant.
Les entrées sont transmises avec les poids à la couche enterrée dans un processus connu sous le nom de propagation de transmission.
La sortie de la fonction d'activation est calculée dans chaque couche enterrée avant que le traitement puisse passer à la couche suivante.
Le processus commence à la couche d'entrée et progresse jusqu'à la couche de sortie ultime, d'où le nom de propagation vers l'avant.
12. Qu'est-ce que la rétropropagation ?
Lorsque les poids et les biais sont ajustés dans le réseau de neurones, la rétropropagation est utilisée pour réduire la fonction de coût en observant d'abord comment la valeur change.
Comprendre le dégradé à chaque couche masquée simplifie le calcul de ce changement.
Le processus, connu sous le nom de rétropropagation, commence à la couche de sortie et remonte vers les couches d'entrée.
13. Dans le contexte de l'apprentissage en profondeur, comment comprenez-vous l'écrêtage de gradient ?
Gradient Clipping est une méthode pour résoudre le problème des gradients explosifs qui surviennent pendant la rétropropagation (une condition dans laquelle des gradients incorrects importants s'accumulent au fil du temps, entraînant des ajustements importants des poids du modèle de réseau neuronal pendant la formation).
L'explosion des gradients est un problème qui survient lorsque les gradients deviennent trop importants pendant l'entraînement, ce qui rend le modèle instable. Si le gradient a franchi la plage attendue, les valeurs de gradient sont poussées élément par élément vers une valeur minimale ou maximale prédéfinie.
L'écrêtage de gradient améliore la stabilité numérique d'un réseau de neurones pendant l'entraînement, mais il a un impact minimal sur les performances du modèle.
14. Que sont les fonctions Softmax et ReLU ?
Une fonction d'activation appelée Softmax produit une sortie comprise entre 0 et 1. Chaque sortie est divisée de sorte que la somme de toutes les sorties soit un. Pour les couches de sortie, Softmax est fréquemment utilisé.
L'unité linéaire rectifiée, parfois appelée ReLU, est la fonction d'activation la plus utilisée. Si X est positif, il sort X, sinon il sort des zéros. ReLU est régulièrement appliqué sur les couches enterrées.
15. Un modèle de réseau de neurones peut-il être formé avec tous les poids définis sur 0 ?
Le réseau neuronal n'apprendra jamais à terminer une tâche donnée, il n'est donc pas possible de former un modèle en initialisant tous les poids à 0.
Les dérivées resteront les mêmes pour chaque poids dans W [1] si tous les poids sont initialisés à zéro, ce qui entraînera l'apprentissage itératif par les neurones des mêmes caractéristiques.
Ne pas simplement initialiser les poids à 0, mais à toute forme de constante est susceptible d'entraîner un résultat inférieur à la moyenne.
16. Qu'est-ce qui distingue une époque d'un lot et d'une itération ?
Différentes formes de traitement des ensembles de données et des techniques de descente de gradient incluent le lot, l'itération et l'époque. Epoch implique un réseau de neurones à passage unique avec un ensemble de données complet, à la fois vers l'avant et vers l'arrière.
Afin de fournir des résultats fiables, le jeu de données est fréquemment passé plusieurs fois car il est trop volumineux pour être passé en un seul essai.
Cette pratique consistant à exécuter de manière répétée une petite quantité de données via un réseau de neurones est appelée itération. Pour garantir que l'ensemble de données traverse avec succès les réseaux de neurones, il peut être divisé en un certain nombre de lots ou de sous-ensembles, ce que l'on appelle le traitement par lots.
En fonction de la taille de la collecte de données, les trois méthodes (époque, itération et taille du lot) sont essentiellement des moyens d'utiliser le algorithme de descente de gradient.
17. Qu'est-ce que la normalisation par lots et l'abandon ?
L'abandon empêche le surajustement des données en supprimant de manière aléatoire les unités de réseau visibles et cachées (en supprimant généralement 20 % des nœuds). Il double le nombre d'itérations nécessaires pour faire converger le réseau.
En normalisant les entrées dans chaque couche pour avoir une activation de sortie moyenne de zéro et un écart type de un, la normalisation par lots est une stratégie pour améliorer les performances et la stabilité des réseaux de neurones.
18. Qu'est-ce qui sépare la descente de gradient stochastique de la descente de gradient par lots ?
Descente de dégradé par lot :
- L'ensemble de données complet est utilisé pour construire le gradient pour le gradient de lot.
- L'énorme quantité de données et la mise à jour lente des pondérations rendent la convergence difficile.
Descente de gradient stochastique :
- Le gradient stochastique utilise un seul échantillon pour calculer le gradient.
- En raison des changements de poids plus fréquents, il converge beaucoup plus rapidement que le gradient de lot.
19. Pourquoi est-il crucial d'inclure des non-linéarités dans les réseaux de neurones ?
Quel que soit le nombre de couches, un réseau neuronal se comportera comme un perceptron en l'absence de non-linéarités, rendant la sortie dépendante linéairement de l'entrée.
En d'autres termes, un réseau de neurones avec n couches et m unités cachées et fonctions d'activation linéaires équivaut à un réseau de neurones linéaire sans couches cachées et avec la capacité de détecter uniquement les frontières de séparation linéaires.
Sans non-linéarités, un réseau de neurones est incapable de résoudre des problèmes complexes et de catégoriser avec précision l'entrée.
20. Qu'est-ce qu'un tenseur en apprentissage profond ?
Un tableau multidimensionnel connu sous le nom de tenseur sert de généralisation des matrices et des vecteurs. C'est une structure de données cruciale pour l'apprentissage en profondeur. Des tableaux à N dimensions de types de données fondamentaux sont utilisés pour représenter les tenseurs.
Chaque composant du tenseur a le même type de données, et ce type de données est toujours connu. Il est possible que seule une partie de la forme, à savoir le nombre de dimensions et la taille de chacune, soit connue.
Dans les situations où les entrées sont également complètement connues, la majorité des opérations produisent des tenseurs entièrement connus ; dans d'autres cas, la forme d'un tenseur ne peut être établie que lors de l'exécution du graphe.
21. Comment choisiriez-vous la fonction d'activation d'un modèle d'apprentissage en profondeur ?
- Il est logique d'employer une fonction d'activation linéaire si le résultat qui doit être anticipé est réel.
- Une fonction sigmoïde doit être utilisée si la sortie qui doit être prévue est une probabilité de classe binaire.
- Une fonction Tanh peut être utilisée si la sortie projetée contient deux classifications.
- En raison de sa facilité de calcul, la fonction ReLU est applicable dans un large éventail de situations.
22. Que voulez-vous dire par CNN ?
Les réseaux de neurones profonds spécialisés dans l'évaluation de l'imagerie visuelle comprennent les réseaux de neurones convolutifs (CNN ou ConvNet). Ici, plutôt que dans les réseaux de neurones où un vecteur représente l'entrée, l'entrée est une image multicanal.
Les perceptrons multicouches sont utilisés d'une manière particulière par les CNN qui nécessite très peu de prétraitement.
23. Quelles sont les nombreuses couches CNN ?
Couche convolutive : La couche principale est la couche convolutive, qui possède une variété de filtres apprenables et un champ récepteur. Cette couche initiale prend les données d'entrée et extrait ses caractéristiques.
Couche ReLU : en rendant les réseaux non linéaires, cette couche transforme les pixels négatifs en zéro.
Couche de regroupement : en minimisant les paramètres de traitement et de réseau, la couche de regroupement minimise progressivement la taille spatiale de la représentation. La mise en commun maximale est la méthode de mise en commun la plus utilisée.
24. Quels sont les effets du surajustement et du sous-ajustement, et comment pouvez-vous les éviter ?
C'est ce qu'on appelle le surajustement lorsqu'un modèle apprend les subtilités et le bruit dans les données d'apprentissage au point où cela affecte négativement l'utilisation de nouvelles données par le modèle.
Il est plus probable que cela se produise avec des modèles non linéaires qui sont plus adaptables lors de l'apprentissage d'une fonction d'objectif. Un modèle peut être formé pour détecter les automobiles et les camions, mais il peut ne pouvoir identifier que les véhicules avec une forme de boîte particulière.
Étant donné qu'il n'a été formé que sur un seul type de camion, il pourrait ne pas être en mesure de détecter un camion à plateau. Sur les données d'entraînement, le modèle fonctionne bien, mais pas dans le monde réel.
Un modèle sous-ajusté fait référence à un modèle qui n'est pas suffisamment formé sur les données ou capable de généraliser à de nouvelles informations. Cela se produit souvent lorsqu'un modèle est formé avec des données insuffisantes ou inexactes.
La précision et les performances sont toutes deux compromises par le sous-ajustement.
Le rééchantillonnage des données pour estimer la précision du modèle (validation croisée K-fold) et l'utilisation d'un ensemble de données de validation pour évaluer le modèle sont deux façons d'éviter le surajustement et le sous-ajustement.
25. En apprentissage profond, qu'est-ce qu'un RNN ?
Les réseaux de neurones récurrents (RNN), une variété courante de réseaux de neurones artificiels, portent l'abréviation RNN. Ils sont utilisés pour traiter, entre autres, les génomes, l'écriture manuscrite, le texte et les séquences de données. Pour la formation nécessaire, les RNN utilisent la rétropropagation.
26. Décrire l'optimiseur Adam
L'optimiseur Adam, également connu sous le nom de dynamique adaptative, est une technique d'optimisation développée pour gérer les situations bruyantes avec des gradients clairsemés.
En plus de fournir des mises à jour par paramètre pour une convergence plus rapide, l'optimiseur Adam améliore la convergence grâce à l'élan, garantissant qu'un modèle ne reste pas piégé dans le point de selle.
27. Auto-encodeurs profonds : qu'est-ce que c'est ?
L'auto-encodeur profond est le nom collectif de deux réseaux de croyance profonds symétriques qui comprennent généralement quatre ou cinq couches peu profondes pour la moitié d'encodage du réseau et un autre ensemble de quatre ou cinq couches pour la moitié de décodage.
Ces couches forment la base des réseaux de croyances profondes et sont contraintes par les machines de Boltzmann. Après chaque RBM, un auto-encodeur profond applique des modifications binaires à l'ensemble de données MNIST.
Ils peuvent également être utilisés dans d'autres ensembles de données où les transformations rectifiées gaussiennes seraient préférées à RBM.
28. Que signifie Tensor dans Tensorflow ?
Ceci est une autre question d'entrevue d'apprentissage en profondeur qui est régulièrement posée. Un tenseur est un concept mathématique qui est visualisé sous forme de tableaux de dimension supérieure.
Les tenseurs sont ces tableaux de données qui sont fournis en entrée au réseau neuronal et ont différentes dimensions et classements.
29. Une explication d'un graphique de calcul
La base d'un TensorFlow est la construction d'un graphe de calcul. Chaque nœud fonctionne dans un réseau de nœuds, où les nœuds représentent les opérations mathématiques et les arêtes les tenseurs.
Il est parfois appelé "DataFlow Graph" puisque les données circulent sous la forme d'un graphique.
30. Réseaux antagonistes génératifs (GAN) : de quoi s'agit-il ?
Dans Deep Learning, la modélisation générative est réalisée à l'aide de réseaux antagonistes génératifs. Il s'agit d'un travail non supervisé où le résultat est produit en identifiant des modèles dans les données d'entrée.
Le discriminateur sert à catégoriser les instances produites par le générateur, tandis que le générateur sert à produire de nouveaux exemples.
31. Comment choisirez-vous le nombre de neurones et de couches cachées à inclure dans le réseau de neurones lors de la conception de l'architecture ?
Étant donné un défi commercial, le nombre précis de neurones et de couches cachées nécessaires pour construire une architecture de réseau de neurones ne peut être déterminé par aucune règle stricte et rapide.
Dans un réseau de neurones, la taille de la couche cachée doit se situer quelque part au milieu de la taille des couches d'entrée et de sortie.
Une longueur d'avance sur la création d'une conception de réseau neuronal peut cependant être obtenue grâce à quelques méthodes simples :
Commencer par quelques tests systématiques de base pour voir ce qui fonctionnerait le mieux pour un ensemble de données spécifique basé sur une expérience antérieure avec des réseaux de neurones dans des contextes réels similaires est le meilleur moyen de relever chaque défi unique de modélisation prédictive du monde réel.
La configuration du réseau peut être choisie en fonction de sa connaissance du domaine du problème et de son expérience antérieure du réseau neuronal. Lors de l'évaluation de la configuration d'un réseau de neurones, le nombre de couches et de neurones utilisés sur des problèmes connexes est un bon point de départ.
La complexité du réseau neuronal devrait être progressivement augmentée en fonction de la sortie et de la précision projetées, en commençant par une conception simple du réseau neuronal.
32. Quels types de réseaux de neurones sont utilisés par l'apprentissage par renforcement profond ?
- Dans un paradigme d'apprentissage automatique appelé apprentissage par renforcement, le modèle agit pour maximiser l'idée de récompense cumulative, tout comme le font les choses vivantes.
- Les jeux et les véhicules autonomes sont tous deux décrits comme des problèmes impliquant apprentissage par renforcement.
- L'écran est utilisé comme entrée si le problème à représenter est un jeu. Afin de produire une sortie pour les phases suivantes, l'algorithme prend les pixels en entrée et les traite via de nombreuses couches de réseaux de neurones convolutionnels.
- Les résultats des actions du modèle, qu'ils soient favorables ou mauvais, agissent comme un renforcement.
Conclusion
Le Deep Learning a gagné en popularité au fil des ans, avec des applications dans pratiquement tous les domaines de l'industrie.
Les entreprises recherchent de plus en plus des experts compétents capables de concevoir des modèles reproduisant le comportement humain à l'aide d'approches d'apprentissage en profondeur et d'apprentissage automatique.
Les candidats qui augmentent leurs compétences et maintiennent leurs connaissances sur ces technologies de pointe peuvent trouver un large éventail d'opportunités de travail avec une rémunération attractive.
Vous pouvez commencer les entretiens maintenant que vous savez comment répondre à certaines des questions d'entretien d'apprentissage en profondeur les plus souvent posées. Passez à l'étape suivante en fonction de vos objectifs.
Visitez Hashdork Série d'entrevues pour se préparer aux entretiens.
Soyez sympa! Laissez un commentaire