Normalisation par lot d’un modèle familier
Vous vous souvenez du jeu de données digits que vous avez entraîné dans le premier exercice de ce chapitre ?
Un problème de classification multi-classe que vous avez résolu avec softmax et 10 neurones dans la couche de sortie.
Vous allez maintenant construire un nouveau modèle plus profond composé de 3 couches cachées de 50 neurones chacune, en utilisant la normalisation par lot entre les couches.
Le paramètre kernel_initializer est utilisé pour initialiser les poids de manière similaire.
Cet exercice fait partie du cours
Introduction au Deep Learning avec Keras
Instructions
- Importez
BatchNormalizationdepuis les couchestensorflow.keras. - Construisez votre réseau profond : utilisez 50 neurones pour chaque couche cachée en ajoutant une normalisation par lot entre les couches.
- Compilez votre modèle avec la descente de gradient stochastique,
sgd, comme optimiseur.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Import batch normalization from keras layers
from tensorflow.____.____ import ____
# Build your deep network
batchnorm_model = ____
batchnorm_model.add(Dense(____, input_shape=(64,), activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(10, activation='softmax', kernel_initializer='normal'))
# Compile your model with sgd
batchnorm_model.compile(optimizer=____, loss='categorical_crossentropy', metrics=['accuracy'])