Questions Deep Learning Avec Reponses
Questions Deep Learning Avec Reponses
Learning
Avec Réponses Complètes
PARTIE 1 — QUESTIONS
DE L'EXAMEN (avec
réponses)
Question 1. Citez et expliquez brièvement 3 fonctions d'activation courantes.
Réponse :
1. Fonction échelon (Step function / Heaviside) : renvoie 0 si l'entrée est inférieure à un seuil, et 1 si l'entrée est
supérieure ou égale à ce seuil. Elle agit comme un interrupteur binaire. Utilisée dans le perceptron simple, elle ne
permet pas d'apprentissage par gradient car elle n'est pas dérivable.
2. Fonction Sigmoïde (Logistique) : sa sortie est toujours comprise entre 0 et 1, ce qui permet de l'interpréter
comme une probabilité. Elle est non linéaire, ce qui permet de modéliser des relations complexes. Sa formule est
: σ(x) = 1 / (1 + e^−x). Elle est utilisée notamment pour la classification binaire.
3. Fonction ReLU (Rectified Linear Unit) : transforme en 0 toutes les valeurs négatives et conserve les valeurs
positives telles quelles. Elle est simple, efficace et permet d'introduire de la non-linéarité dans les couches
convolutives. Elle évite aussi en partie le problème de disparition du gradient.
Réponse :
Un CNN (Convolutional Neural Network) est composé des couches suivantes, dans cet ordre typique :
1. Couche de convolution : applique des filtres (noyaux) sur l'image d'entrée pour extraire des caractéristiques
locales (bords, textures, formes). Produit des cartes de caractéristiques (feature maps).
2. Couche d'activation ReLU : introduit de la non-linéarité après chaque convolution en remettant à zéro les
valeurs négatives.
3. Couche de Pooling (Max Pooling / Average Pooling) : réduit les dimensions spatiales des cartes de
caractéristiques, diminue le nombre de paramètres et limite le risque de surapprentissage.
4. Couche Flatten : aplatit les cartes de caractéristiques en un vecteur 1D pour les passer aux couches
entièrement connectées.
5. Couches entièrement connectées (Dense / Fully Connected) : effectuent la classification à partir des
caractéristiques extraites.
6. Couche de sortie avec Softmax (ou Sigmoid) : produit une distribution de probabilités sur les classes.
Question 3. Quelle est la différence principale entre le Machine Learning et le Deep Learning ?
Réponse :
La différence principale est que le Deep Learning apprend automatiquement les caractéristiques pertinentes à partir des
données brutes, tandis que le Machine Learning classique nécessite une ingénierie des caractéristiques manuelle.
Question 4. Expliquez le rôle de la fonction de coût (loss function) dans l'apprentissage automatique.
Réponse :
La fonction de coût (ou fonction de perte) mesure la différence entre les sorties prédites par le modèle et les sorties
réelles attendues. Elle joue un rôle central dans l'apprentissage :
Un exemple courant est l'erreur quadratique moyenne (MSE) : E = (1/2) × (Désiré − Prédit)²
Plus la valeur de la fonction de coût est faible, meilleure est la prédiction du modèle.
Réponse :
La rétropropagation est un algorithme d'optimisation utilisé pour entraîner les réseaux de neurones multicouches. Elle
fonctionne en deux phases :
1. Propagation avant (Forward pass) : les données d'entrée traversent le réseau couche par couche jusqu'à
produire une sortie. L'erreur est calculée en comparant la sortie prédite à la sortie réelle à l'aide de la fonction de
coût.
2. Rétropropagation (Backward pass) : l'erreur est propagée en sens inverse, de la couche de sortie vers la
couche d'entrée. À chaque couche, on calcule les dérivées partielles de l'erreur par rapport aux poids (en utilisant
la règle de la chaîne), puis les poids sont mis à jour selon la règle : w(new) = w(old) − η × ∂E/∂w où η est le taux
d'apprentissage.
Importance : la rétropropagation permet d'identifier comment chaque poids contribue à l'erreur et dans quelle direction le
modifier pour la réduire. C'est le moteur de l'apprentissage dans tous les réseaux profonds.
Question 6. Expliquez la différence entre apprentissage batch, mini-batch et stochastic gradient descent.
Réponse :
Batch Gradient Descent : l'ensemble complet des données d'entraînement est utilisé pour calculer le gradient et
mettre à jour les poids à chaque itération. Très stable, mais lent et coûteux en mémoire pour les grands jeux de
données.
Stochastic Gradient Descent (SGD) : une seule observation est passée aléatoirement à la fois. Les poids sont
mis à jour après chaque exemple. Il y a donc m itérations par époque (où m est le nombre d'observations). Plus
rapide, mais les mises à jour sont bruitées et la convergence est moins stable.
Mini-Batch Gradient Descent : un sous-ensemble (batch) de données est choisi pour calculer le gradient. C'est
un compromis entre batch et SGD : plus stable que SGD, plus rapide que batch. C'est la méthode la plus utilisée
en pratique en Deep Learning.
Réponse :
Le Dropout est une technique de régularisation qui permet de réduire l'overfitting (surapprentissage) lors de
l'entraînement d'un modèle.
Principe : à chaque epoch, chaque neurone est désactivé aléatoirement avec une probabilité p, ainsi que toutes ses
connexions entrantes et sortantes. Le réseau s'entraîne donc sur une version "allégée" aléatoire à chaque itération.
Question 8. Expliquez le principe des Convolutional Neural Networks (CNN) et pourquoi ils sont efficaces pour
les images.
Réponse :
Un CNN est un réseau de neurones conçu spécifiquement pour traiter des données sous forme de grilles, comme les
images.
Principe : au lieu de connecter chaque neurone à tous les pixels (comme dans un réseau dense), les CNN appliquent
des filtres (noyaux de convolution) qui glissent sur l'image. Chaque filtre détecte un type de caractéristique locale (bords,
textures, formes). Les couches successives combinent ces caractéristiques pour reconnaître des structures de plus en
plus complexes.
1. Préservation de l'information spatiale : contrairement aux réseaux denses qui aplatissent l'image en perdant la
structure 2D, les CNN traitent les pixels dans leur contexte spatial.
2. Réduction des paramètres : les poids du filtre sont partagés sur toute l'image (weight sharing), ce qui réduit
drastiquement le nombre de paramètres.
3. Invariance aux translations : grâce au pooling, un CNN peut reconnaître un objet même si sa position dans
l'image varie.
4. Apprentissage hiérarchique : les premières couches détectent des caractéristiques simples (bords), les
couches profondes des structures complexes (objets entiers), imitant ainsi le traitement visuel humain.
Question 9. Que se passe-t-il si le learning rate (pas d'apprentissage) est trop élevé ? Et trop faible ?
Réponse :
Learning rate trop élevé : les pas effectués lors de la mise à jour des poids sont trop grands. Le modèle risque
de dépasser le minimum de la fonction de coût (overshoot), rendant la convergence instable. La valeur de la loss
peut osciller ou même diverger au lieu de diminuer.
Learning rate trop faible : les pas sont trop petits. Le modèle converge très lentement et nécessite un très grand
nombre d'itérations pour atteindre un minimum acceptable. Il peut aussi rester bloqué dans un minimum local. Le
temps de calcul augmente considérablement.
Idéal : un learning rate bien calibré permet une convergence stable et efficace vers le minimum de la fonction de coût.
Des techniques comme le learning rate decay ou les optimiseurs adaptatifs (Adam, RMSProp) permettent d'ajuster
dynamiquement ce taux.
Question 10. Qu'est-ce que le Transfer Learning en Deep Learning ? Expliquez l'idée générale.
Réponse :
Le Transfer Learning est une technique qui consiste à réutiliser un modèle déjà entraîné sur un problème (tâche source)
comme point de départ pour résoudre un deuxième problème connexe (tâche cible).
Idée générale :
Plutôt que d'entraîner un réseau de neurones profond entièrement de zéro (ce qui nécessite de grandes quantités
de données étiquetées et une puissance de calcul importante), on part d'un modèle pré-entraîné sur un grand
dataset (ex. ImageNet).
Les couches initiales du modèle, qui ont appris des caractéristiques générales (bords, textures, formes), sont
conservées.
On adapte les dernières couches au problème cible en les réentraînant sur un dataset plus petit.
Avantages :
Exemple : utiliser VGG16 (entraîné sur ImageNet) pour classer des images médicales en remplaçant uniquement la
couche de sortie.
PARTIE 2 — QUESTIONS
SUPPLÉMENTAIRES
ISSUES DU COURS
Chapitre 1 : Introduction au Deep Learning
Question 11. Qu'est-ce que le Machine Learning ? Donnez une définition.
Réponse : Le Machine Learning est un champ d'étude de l'intelligence artificielle qui se fonde sur des approches
statistiques pour donner aux ordinateurs la capacité d'apprendre à partir de données, sans intervention humaine
explicite. Il utilise des méthodes d'exploration de données et des algorithmes pour construire des modèles qui prédisent
les résultats futurs.
Question 12. Qu'est-ce que le Deep Learning ? En quoi diffère-t-il du Machine Learning classique ?
Réponse : Le Deep Learning est un sous-domaine du Machine Learning qui repose sur des algorithmes inspirés du
fonctionnement des réseaux de neurones du cerveau humain. Il traite l'information de manière hiérarchique et adaptative
à travers plusieurs couches cachées. Contrairement au ML classique qui nécessite une extraction manuelle des
caractéristiques, le Deep Learning apprend automatiquement ces caractéristiques directement à partir des données
brutes.
Question 13. Quand est-il préférable d'utiliser le Deep Learning plutôt que le Machine Learning classique ?
Réponse :
Réponse :
Question 15. Citez 3 jalons historiques importants dans le développement du Deep Learning.
Réponse :
1943 : McCulloch & Pitts proposent le premier modèle mathématique du neurone artificiel.
1957 : Frank Rosenblatt crée le Perceptron, premier modèle capable d'apprendre.
1986 : Geoffrey Hinton introduit la rétropropagation (Backpropagation), permettant l'entraînement de réseaux
multicouches.
2012 : AlexNet remporte ImageNet avec une forte réduction des erreurs grâce aux GPU.
2017 : Introduction de l'architecture Transformer, révolutionnant le NLP.
Réponse : Le perceptron est l'un des modèles les plus anciens et simples des réseaux de neurones artificiels. Il s'agit
d'un classificateur binaire : il détermine si un élément appartient ou non à une classe. Dans un perceptron, les signaux
reçus sont d'abord pondérés, puis additionnés, puis transformés par une fonction d'activation pour produire un signal de
sortie unique. Il peut accomplir des tâches de classification et de régression.
Réponse :
Les dendrites (réception des signaux) correspondent aux entrées (x₀, x₁, x₂…).
Le corps cellulaire (traitement) correspond au neurone artificiel qui calcule la somme pondérée.
L'axone (transmission du signal) correspond à la sortie.
Le seuil d'activation biologique correspond au seuil θ ou à la fonction d'activation.
Les connexions synaptiques correspondent aux poids w.
Réponse : L'apprentissage consiste à ajuster les poids synaptiques pour minimiser l'erreur entre la prédiction et la sortie
réelle. La règle de mise à jour est :
Où :
L'algorithme s'arrête quand le nombre maximal d'itérations est atteint ou quand l'erreur est inférieure à un seuil fixé.
Réponse : Le perceptron simple ne peut résoudre que des problèmes linéairement séparables. Par exemple, il peut
modéliser les fonctions logiques AND et OR, mais est incapable de résoudre la fonction XOR, car celle-ci n'est pas
linéairement séparable (aucune droite ne peut séparer ses classes). Cette limitation a conduit au développement des
réseaux de neurones multicouches (MLP).
Réponse : Le MLP (Multi-Layer Perceptron) est un réseau de neurones qui possède, en plus des couches d'entrée et de
sortie, une ou plusieurs couches cachées. Ces couches cachées permettent d'effectuer des traitements intermédiaires
sur les données pour améliorer les prédictions. Contrairement au perceptron simple qui ne peut résoudre que des
problèmes linéaires, le MLP peut modéliser des relations complexes et non linéaires. Plus le réseau a de couches, plus il
est dit "profond", d'où le terme Deep Learning.
Question 21. Qu'est-ce qu'un hyperparamètre dans un réseau de neurones ? Donnez des exemples.
Réponse : Les hyperparamètres sont des paramètres du réseau qui ne sont pas appris automatiquement par le modèle
lors de l'entraînement. Ils doivent être définis manuellement par le concepteur. Exemples :
Question 22. Qu'est-ce que la descente de gradient et comment est-elle utilisée dans l'entraînement d'un réseau
de neurones ?
Réponse : La descente de gradient est un algorithme d'optimisation qui permet de minimiser la fonction de coût en
ajustant les poids du réseau. Elle nécessite deux informations : la direction du gradient (indiquée par la dérivée partielle
de l'erreur par rapport au poids) et le taux d'apprentissage. À chaque itération, les poids sont mis à jour dans la direction
opposée au gradient pour converger progressivement vers le minimum (local ou global) de la fonction de coût.
Chapitre 4 : Tenseurs
Question 23. Qu'est-ce qu'un tenseur ? Citez les différents ordres avec des exemples en Deep Learning.
Réponse : Un tenseur est une généralisation des matrices à n'importe quel nombre de dimensions.
Question 24. Comment représente-t-on un batch d'images en entrée d'un CNN sous forme de tenseur ?
Réponse : Un batch d'images est représenté par un tenseur d'ordre 4 de dimensions (N, H, W, C) où :
N = nombre d'images dans le lot (batch size)
H = hauteur des images
W = largeur des images
C = nombre de canaux (1 pour niveaux de gris, 3 pour RGB)
Exemple : un batch de 60 000 images MNIST de 28×28 pixels en niveaux de gris → tenseur (60000, 28, 28, 1).
Réponse : Un filtre est une petite matrice de poids qui glisse sur l'image d'entrée en effectuant des opérations de
convolution. Il agit comme un détecteur de caractéristiques visuelles. Par exemple :
Les coefficients du filtre sont les poids du réseau, initialisés aléatoirement puis mis à jour par rétropropagation.
Réponse : Une feature map est le résultat de l'opération de convolution entre un filtre et l'image d'entrée. Chaque pixel
de la feature map indique le degré de correspondance entre l'image et le filtre à cet endroit. Si le CNN utilise plusieurs
filtres, il produit autant de feature maps qu'il y a de filtres, créant ainsi une pile d'images filtrées représentant différentes
caractéristiques.
Réponse : Le stride (ou pas) est le nombre de pixels dont le filtre se déplace à chaque étape lorsqu'il glisse sur l'image.
Par défaut, il vaut 1. Un stride plus grand réduit la taille de la feature map en sortie. Par exemple :
Stride (1,1) sur une image 9×9 avec un filtre 3×3 → sortie 7×7
Stride (2,2) sur la même image → sortie 4×4
Réponse : Le padding consiste à ajouter des zéros autour des bords de l'image avant d'appliquer la convolution. Il est
utilisé pour deux raisons :
Réponse :
Max Pooling : conserve la valeur maximale dans chaque fenêtre glissante. Il résume la présence la plus forte
d'une caractéristique et est plus robuste aux petites variations de position.
Average Pooling : calcule la moyenne des valeurs dans chaque fenêtre. Il résume la présence moyenne d'une
caractéristique et lisse davantage la représentation.
Les deux permettent de réduire les dimensions spatiales, de diminuer le nombre de paramètres et de calculs, et d'éviter
le surapprentissage.
Question 30. Pourquoi les réseaux denses (Fully Connected) sont-ils peu adaptés au traitement d'images ?
Réponse :
1. Nombre de paramètres explosif : chaque pixel est connecté à chaque neurone, créant un nombre
astronomique de paramètres (ex. image 244×244×3 avec 50 neurones cachés → 8,9 millions de paramètres).
2. Perte de l'information spatiale : l'image est aplatie en un vecteur 1D, ce qui fait perdre les relations locales
entre pixels voisins.
3. Insensibilité aux translations : un réseau dense ne reconnaît pas le même objet si sa position dans l'image
change.
4. Risque de surapprentissage élevé à cause du grand nombre de paramètres.
Question 31. Quelle est la différence entre la fonction d'activation Sigmoid et Softmax dans un CNN ?
Réponse :
Sigmoid : produit une sortie entre 0 et 1 pour chaque neurone indépendamment. Utilisée pour la classification
binaire, où chaque sortie représente une probabilité indépendante.
Softmax : prend un vecteur de valeurs réelles et produit un vecteur de probabilités normalisées dont la somme
vaut 1. Utilisée pour la classification multiclasse. Les probabilités sont interdépendantes : augmenter la
probabilité d'une classe réduit proportionnellement celles des autres.
Question 32. Comment calcule-t-on le nombre de paramètres dans une couche de convolution ?
Exemple : 8 filtres de taille 3×3 sur une image RGB (3 canaux) : (3 × 3 × 3 + 1) × 8 = 28 × 8 = 224 paramètres
Chapitre 6 : Améliorer les performances —
Régularisation
Question 33. Qu'est-ce que le surapprentissage (overfitting) ? Comment le détecte-t-on ?
Réponse : Le surapprentissage se produit quand le modèle apprend trop précisément les données d'entraînement, y
compris leur bruit, et ne généralise pas bien à de nouvelles données. On le détecte en observant que :
Réponse :
Question 35. Qu'est-ce que la normalisation des données (data preprocessing) ? Pourquoi est-elle importante ?
Réponse : La normalisation des données consiste à mettre à l'échelle les valeurs des pixels avant de les passer au
réseau. Deux techniques principales :
Normalisation : ramène les valeurs dans l'intervalle [0, 1] → (x − min) / (max − min)
Standardisation : centre les données (moyenne = 0, écart-type = 1) → (x − μ) / σ
Importance :
Question 37. Qu'est-ce que l'ImageNet challenge ? Quel est son rôle dans le développement du Deep Learning ?
Réponse : ImageNet est un dataset de plus de 15 millions d'images étiquetées avec 22 000 classes. Le challenge
associé (ILSVRC) invite des chercheurs à atteindre les taux d'erreur les plus bas sur un sous-ensemble de 1 000
classes. Il a joué un rôle fondamental dans le développement du Deep Learning en fournissant un benchmark
standardisé et en révélant la supériorité des CNN profonds (AlexNet en 2012) sur les méthodes classiques.
Réponse : L'idée clé de GoogleNet est d'appliquer en parallèle dans la même couche des filtres de différentes tailles :
1×1, 3×3 et 5×5, ainsi qu'un max-pooling. La couche suivante a ainsi accès à des caractéristiques extraites à plusieurs
échelles spatiales simultanément. Cela améliore la capacité du réseau à détecter des objets à différentes tailles dans
l'image, tout en conservant un nombre de paramètres raisonnable (~5 millions, soit 12 fois moins qu'AlexNet).
Chapitre 8 : RNN
Question 39. Qu'est-ce qu'un RNN (Réseau de Neurones Récurrent) ? En quoi diffère-t-il d'un MLP ?
Réponse : Un RNN est un réseau de neurones conçu pour traiter des données séquentielles (texte, parole, séries
temporelles). Contrairement au MLP qui traite chaque entrée indépendamment, le RNN possède une mémoire interne :
chaque état caché dépend à la fois de l'entrée actuelle et de l'état caché précédent. Cela permet de capturer les
dépendances temporelles et l'ordre des éléments dans une séquence.
Réponse :
Avantages :
Inconvénients :
Calcul lent, pas parallélisable (h(t) dépend de h(t-1)).
Difficile à entraîner sur longues séquences.
Sensible aux problèmes de vanishing gradient (disparition du gradient) et exploding gradient (explosion du
gradient).
Réponse :
Le LSTM (Long Short-Term Memory) introduit un mécanisme de portes (forget gate, input gate, output gate) qui lui
permet de contrôler quelle information conserver, mettre à jour ou oublier, résolvant ainsi le problème de disparition du
gradient des RNN classiques.
Réponse :
1. Traduction automatique
2. Génération de texte
3. Reconnaissance vocale
4. Analyse de séries temporelles (finance, médecine)
5. Réponse automatique aux questions
6. Sous-titrage d'images (image captioning)
7. Classification de sentiment dans des textes