ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Antrenează standard_model timp de 10 epoci, transmițând datele de antrenament și de validare, și stochează istoricul în h1_callback.
  • Antrenează batchnorm_model timp de 10 epoci, transmițând datele de antrenament și de validare, și stochează istoricul în h2_callback.
  • Apelează compare_histories_acc transmițând h1_callback și h2_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(____, ____)
Editează și rulează codul