Deep Learning
2023-2024
Examen Deep Learning
Durée : 2 heures
Nom : …………………..…. Prénom : ……………………. groupe :……
NB :
Calculatrice autorisée
Aucune documentation n’est autorisée.
Exercice 1 :
1) Quelle est la différence entre machine learning et deep learning ?
2) Quel est l’objectif de la division de l’ensemble de données en training et testing datasets ?
3) Définir le concept de la Backpropagation.
4) Quel est l'avantage principal d'utiliser des réseaux de neurones convolutionnels (CNN) par
rapport aux réseaux de neurones entièrement connectés pour les tâches liées aux images ?
5) Quelles sont les couches typiques d’une architecture CNN ?
Page 1 sur 4
Deep Learning
2023-2024
6) Dans un réseau de neurones convolutionnel (CNN), quel est le rôle du pas (stride) dans
l'opération de convolution ?
7) Définir le concept de Transfer learning et donner des exemples d’architectures.
Exercice 2 :
Soit le tableau suivant :
1) Qu’elle est la fonction qui permet d’afficher le tableau ci-dessus.
2) Sachant que le Input_shape = (32,32,3) et nous utilisant des filtres de taille (3,3), expliquer la
valeur 1792 des paramètres.
Page 2 sur 4
Deep Learning
2023-2024
3) Quelle sera la valeur si on utilise un filtre (4,4) ?
4) Pourquoi dans les deux premières couches de convolution, les images de sortie ont conservé
la taille initiale avec les valeurs (32, 32).
Exercice 3 :
Soit le code suivant, dont les lignes ont été mélangées :
1. X_train = X_train / 255
2. X_test = X_test / 255
3. (X_train, y_train), (X_test, y_test) = mnist.load_data()
4. y_train = to_categorical(y_train)
5. y_test = to_categorical(y_test)
6. model.add(Conv2D(64, (3,3), activation='relu'))
7. model.add(MaxPooling2D(pool_size=(2,2)))
8. model = Sequential()
9. model.add(Dense(num_classes, activation='softmax'))
10. model.compile(loss='categorical_crossentropy', optimizer='adam',
metrics=['accuracy'])
11. model.add(MaxPooling2D(pool_size=(2,2)))
12. model.add(Conv2D(32, (3,3), activation='relu', input_shape=(28, 28, 1)))
13. model.add(Dense(128, activation='relu'))
14. model.add(Flatten())
1) Expliquer le rôle des instructions des lignes 1-2.
2) Expliquer le rôle des instructions des lignes 4-5.
Page 3 sur 4
Deep Learning
2023-2024
3) Expliquer le rôle de la fonction compile (la ligne 10).
4) Pourquoi nous avons choisis la fonction d’erreur 'categorical_crossentropy'.
5) Mettre les lignes du programme dans l’ordre. (Indication : noter seulement les numéros des
lignes dans le bon ordre.)
6) Expliquer par un schéma ou par des phrases l’architecture du réseau obtenu.
Bon Courage
Page 4 sur 4