Efekty batch normalizace
Batch normalizace obvykle zvyšuje rychlost učení modelů a stabilizuje jejich křivky učení. Podívejme se, jak si poradí dva identické modely – jeden s batch normalizací a druhý bez ní.
Model batchnorm_model, který jsi právě sestavil/a, je načten a připraven k použití. K dispozici je také jeho přesná kopie bez batch normalizace: standard_model. Jejich summary() si můžeš prohlédnout v konzoli. Načteny jsou i proměnné X_train, y_train, X_test a y_test, takže můžeš oba modely natrénovat.
Křivky přesnosti obou modelů porovnáš pomocí funkce compare_histories_acc().
Definici funkce zobrazíš zadáním show_code(compare_histories_acc) do konzole.
Toto cvičení je součástí kurzu
Úvod do hlubokého učení s Keras
Pokyny k cvičení
- Natrénuj
standard_modelna 10 epoch s trénovacími i validačními daty a ulož jeho historii doh1_callback. - Natrénuj
batchnorm_modelna 10 epoch s trénovacími i validačními daty a ulož jeho historii doh2_callback. - Zavolej
compare_histories_acca předej jíh1_callbackah2_callback.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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(____, ____)