Effetti della batch normalization
La batch normalization tende ad aumentare la velocità di apprendimento dei modelli e a rendere più stabili le loro learning curve. Vediamo come si comportano due modelli identici, uno con e uno senza batch normalization.
Il modello che hai appena costruito, batchnorm_model, è caricato e pronto all'uso. È disponibile anche una sua copia esatta senza batch normalization: standard_model. Puoi controllare il loro summary() nella console. Sono già caricati anche X_train, y_train, X_test e y_test, così puoi addestrare entrambi i modelli.
Confronterai le learning curve dell'accuratezza per entrambi i modelli tracciandole con compare_histories_acc().
Puoi consultare la funzione incollando show_code(compare_histories_acc) nella console.
Questo esercizio fa parte del corso
Introduzione al Deep Learning con Keras
Istruzioni dell'esercizio
- Addestra
standard_modelper 10 epoche passando i dati di training e di validazione, salvando la sua history inh1_callback. - Addestra
batchnorm_modelper 10 epoche passando i dati di training e di validazione, salvando la sua history inh2_callback. - Chiama
compare_histories_accpassandoh1_callbackeh2_callback.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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(____, ____)