CommencezCommencez gratuitement

Observer les convolutions

Examiner les activations d'une couche convolutionnelle, c'est vraiment intéressant. Il faut le faire au moins une fois dans sa vie!

Pour ce faire, vous allez créer un nouveau modèle avec l'objet Model de Keras, qui reçoit une liste d'entrées et une liste de sorties. Les sorties que vous fournirez à ce nouveau modèle seront celles de la première couche convolutionnelle lorsqu'on lui donne en entrée une image de chiffre MNIST.

Le model convolutionnel que vous avez construit à l'exercice précédent a déjà été entraîné pour vous. Il peut maintenant classer correctement les images manuscrites MNIST. Vous pouvez le vérifier avec model.summary() dans la console.

Voyons maintenant les masques convolutionnels appris dans la première couche convolutionnelle de ce modèle!

Cette activité fait partie du cours

Introduction à Deep Learning avec Keras

Voir le cours

Instructions de l’exercice

  • Obtenez une référence aux sorties de la première couche convolutionnelle du modèle.
  • Construisez un nouveau modèle en utilisant l'entrée de la première couche du modèle et first_layer_output comme sorties.
  • Utilisez ce first_layer_model pour prédire sur X_test.
  • Tracez les activations du premier chiffre de X_test pour les filtres de neurones 15e et 18e.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Obtain a reference to the outputs of the first layer
first_layer_output = model.layers[____].output

# Build a model using the model's input and the first layer output
first_layer_model = Model(inputs = model.layers[0].input, outputs = ____)

# Use this model to predict on X_test
activations = ____.____(____)

# Plot the activations of first digit of X_test for the 15th filter
axs[0].matshow(activations[____,:,:,14], cmap = 'viridis')

# Do the same but for the 18th filter now
axs[1].matshow(activations[0,:,:,____], cmap = 'viridis')
plt.show()
Modifier et exécuter le code