Appliquer la normalisation par lot à 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 multiclasse que vous avez résolu à l'aide de softmax et de 10 neurones dans votre couche de sortie.
Vous allez maintenant créer 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 sert à initialiser les poids de façon similaire.
Cette activité fait partie du cours
Introduction à Deep Learning avec Keras
Instructions de l’exercice
- Importez
BatchNormalizationà partir des couches detensorflow.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 ce code d’exemple.
# 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'])