Effekte der Batch-Normalisierung
Batch-Normalisierung erhöht in der Regel die Lerngeschwindigkeit unserer Modelle und macht ihre Lernkurven stabiler. Schauen wir uns an, wie zwei identische Modelle mit und ohne Batch-Normalisierung abschneiden.
Das von dir erstellte Modell batchnorm_model ist für dich geladen. Eine exakte Kopie ohne Batch-Normalisierung, standard_model, ist ebenfalls verfügbar. Du kannst dir ihre summary() in der Konsole ansehen. X_train, y_train, X_test und y_test sind ebenfalls geladen, damit du beide Modelle trainieren kannst.
Du wirst die Accuracy-Lernkurven beider Modelle vergleichen, indem du sie mit compare_histories_acc() plottest.
Du kannst dir die Funktion ansehen, indem du show_code(compare_histories_acc) in die Konsole einfügst.
Diese Übung ist Teil des Kurses
<Kurs>Einstieg ins Deep Learning mit Keras</Kurs>Übungsanweisungen
- Trainiere
standard_modelfür 10 Epochen und übergib Trainings- und Validierungsdaten; speichere die History inh1_callback. - Trainiere dein
batchnorm_modelfür 10 Epochen und übergib Trainings- und Validierungsdaten; speichere die History inh2_callback. - Rufe
compare_histories_accauf und übergibh1_callbackundh2_callback.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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(____, ____)