Effecten van batch-normalization
Batch-normalization versnelt vaak het leren van onze modellen en maakt hun leercurves stabieler. Laten we bekijken hoe twee identieke modellen met en zonder batch-normalization zich gedragen.
Het model dat je zojuist hebt gebouwd, batchnorm_model, is voor je geladen. Een exacte kopie zonder batch-normalization, standard_model, is ook beschikbaar. Je kunt hun summary() in de console bekijken. X_train, y_train, X_test en y_test zijn ook geladen zodat je beide modellen kunt trainen.
Je gaat de nauwkeurigheidsleercurves van beide modellen vergelijken door ze te plotten met compare_histories_acc().
Je kunt de functie bekijken door show_code(compare_histories_acc) in de console te plakken.
Deze oefening maakt deel uit van de cursus
Introductie tot Deep Learning met Keras
Oefeninstructies
- Train het
standard_modelgedurende 10 epochs en geef train- en validatiegegevens door; sla de history op inh1_callback. - Train je
batchnorm_modelgedurende 10 epochs en geef train- en validatiegegevens door; sla de history op inh2_callback. - Roep
compare_histories_accaan en geefh1_callbackenh2_callbackdoor.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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(____, ____)