CommencezCommencez gratuitement

Ajouter des couches à un réseau

Vous avez vu comment expérimenter avec des réseaux plus larges. Dans cet exercice, vous allez essayer un réseau plus profond (davantage de couches cachées).

Encore une fois, vous disposez d'un modèle de base appelé model_1 comme point de départ. Il a 1 couche cachée avec 10 unités. Vous pouvez voir un sommaire de la structure de ce modèle affiché. Vous allez créer un réseau similaire avec 3 couches cachées (tout en gardant 10 unités dans chaque couche).

L'ajustement des deux modèles prendra encore un moment, donc vous devrez patienter quelques secondes pour voir les résultats après avoir exécuté votre code.

Cette activité fait partie du cours

Introduction à Deep Learning en Python

Voir le cours

Instructions de l’exercice

  • Définissez un modèle appelé model_2 semblable à model_1, mais qui comporte 3 couches cachées de 10 unités au lieu d'une seule couche cachée.
    • Utilisez input_shape pour préciser la forme d'entrée dans la première couche cachée.
    • Utilisez l'activation 'relu' pour les 3 couches cachées et 'softmax' pour la couche de sortie, qui doit avoir 2 unités.
  • Compilez model_2 comme vous l'avez fait pour les modèles précédents : utilisez 'adam' comme optimizer, 'categorical_crossentropy' pour la fonction de perte, et metrics=['accuracy'].
  • Cliquez sur "Soumettre la réponse" pour ajuster les deux modèles et visualiser lequel donne de meilleurs résultats !

Exercice interactif pratique

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

# The input shape to use in the first hidden layer
input_shape = (n_cols,)

# Create the new model: model_2
model_2 = ____

# Add the first, second, and third hidden layers
____
____
____

# Add the output layer
____

# Compile model_2
____

# Fit model 1
model_1_training = model_1.fit(predictors, target, epochs=15, validation_split=0.4, verbose=False)

# Fit model 2
model_2_training = model_2.fit(predictors, target, epochs=15, validation_split=0.4, verbose=False)

# Create the plot
plt.plot(model_1_training.history['val_loss'], 'r', model_2_training.history['val_loss'], 'b')
plt.xlabel('Epochs')
plt.ylabel('Validation score')
plt.show()
Modifier et exécuter le code