Effets de la normalisation par lots
La normalisation par lots a tendance à accélérer l'apprentissage de nos modèles et à rendre leurs courbes d'apprentissage plus stables. Voyons comment se comparent deux modèles identiques, l'un avec et l'autre sans normalisation par lots.
Le modèle que vous venez de bâtir, batchnorm_model, est déjà chargé et prêt à l'emploi. Une copie conforme sans normalisation par lots, standard_model, est également disponible. Vous pouvez consulter leur summary() dans la console. X_train, y_train, X_test et y_test sont aussi chargés afin que vous puissiez entraîner les deux modèles.
Vous comparerez les courbes d'apprentissage de l'exactitude (accuracy) pour les deux modèles en les traçant avec compare_histories_acc().
Vous pouvez voir la fonction en collant show_code(compare_histories_acc) dans la console.
Cette activité fait partie du cours
Introduction à Deep Learning avec Keras
Instructions de l’exercice
- Entraînez
standard_modelpendant 10 époques en passant les données d'entraînement et de validation, et stockez son historique dansh1_callback. - Entraînez votre
batchnorm_modelpendant 10 époques en passant les données d'entraînement et de validation, et stockez son historique dansh2_callback. - Appelez
compare_histories_accen passanth1_callbacketh2_callback.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Train your standard model, storing its history callback
h1_callback = standard_model.fit(____, ____, validation_data=(____,____), epochs=____, verbose=0)
# Train the batch normalized model you recently built, store its history callback
h2_callback = batchnorm_model.fit(____, ____, validation_data=____, epochs=____, verbose=0)
# Call compare_histories_acc passing in both model histories
compare_histories_acc(____, ____)