開始使用免費開始

Batch normalization 的效果

Batch normalization 通常能加快模型的學習速度,並讓學習曲線更穩定。讓我們比較兩個在有與沒有 batch normalization 下的同架構模型。

你剛建立的 batchnorm_model 已為你載入可用。另一個沒有使用 batch normalization、與它完全相同的複本 standard_model 也可使用。你可以在主控台查看它們的 summary()X_trainy_trainX_testy_test 也都已載入,方便你訓練兩個模型。

你將使用 compare_histories_acc() 繪製並比較兩個模型的準確率學習曲線。

你可以在主控台輸入 show_code(compare_histories_acc) 來檢視此函式。

本練習屬於課程

Keras 深度學習入門

檢視課程

練習說明

  • 訓練 standard_model 10 個 epoch,傳入訓練與驗證資料,並將其訓練歷程儲存到 h1_callback
  • 訓練 batchnorm_model 10 個 epoch,傳入訓練與驗證資料,並將其訓練歷程儲存到 h2_callback
  • 呼叫 compare_histories_acc,傳入 h1_callbackh2_callback

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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(____, ____)
編輯並執行程式碼