Efectele normalizării pe loturi
Normalizarea pe loturi (batch normalization) tinde să accelereze viteza de învățare a modelelor și să stabilizeze curbele lor de învățare. Să vedem cum se compară două modele identice – unul cu normalizare pe loturi și unul fără.
Modelul pe care tocmai l-ai construit, batchnorm_model, este deja încărcat. O copie exactă a acestuia fără normalizare pe loturi, standard_model, este de asemenea disponibilă. Poți verifica funcția summary() a fiecăruia în consolă. X_train, y_train, X_test și y_test sunt și ele încărcate, astfel că poți antrena ambele modele.
Vei compara curbele de învățare ale acurateții pentru ambele modele, reprezentându-le grafic cu compare_histories_acc().
Poți inspecta funcția lipind show_code(compare_histories_acc) în consolă.
Acest exercițiu face parte din cursul
Introducere în Deep Learning cu Keras
Instrucțiuni pentru exercițiu
- Antrenează
standard_modeltimp de 10 epoci, transmițând datele de antrenament și de validare, și stochează istoricul înh1_callback. - Antrenează
batchnorm_modeltimp de 10 epoci, transmițând datele de antrenament și de validare, și stochează istoricul înh2_callback. - Apelează
compare_histories_acctransmițândh1_callbackșih2_callback.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____, ____)