批量归一化的效果
批量归一化通常可以加快模型的学习速度,并让学习曲线更加稳定。我们来比较两个结构完全相同、但一个使用批量归一化一个不使用的模型。
您刚刚构建的模型 batchnorm_model 已为您加载。同时也提供了去掉批量归一化层的完全副本:standard_model。您可以在控制台查看它们的 summary()。X_train、y_train、X_test 和 y_test 也已加载,方便您训练两个模型。
您将使用 compare_histories_acc() 绘制两个模型的准确率学习曲线进行比较。
您可以在控制台粘贴 show_code(compare_histories_acc) 来查看该函数。
本练习是课程的一部分
Keras 深度学习入门
练习说明
- 训练
standard_model10 个 epoch,传入训练集和验证集,将其 history 存为h1_callback。 - 训练
batchnorm_model10 个 epoch,传入训练集和验证集,将其 history 存为h2_callback。 - 调用
compare_histories_acc,传入h1_callback和h2_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(____, ____)