对熟悉的模型进行批归一化
还记得本章第一个练习中训练过的 digits 数据集 吗?
这是一个多类分类问题,您通过在输出层使用 softmax 和 10 个神经元来解决它。
现在,您将构建一个更深的模型,由 3 个隐藏层组成,每层 50 个神经元,并在各层之间加入批归一化。kernel_initializer 参数用于以类似的方式初始化权重。
本练习是课程的一部分
Keras 深度学习入门
练习说明
- 从
tensorflow.keras的 layers 中导入BatchNormalization。 - 构建深层网络模型,给每个隐藏层使用 50 个神经元,并在各层之间加入批归一化。
- 使用随机梯度下降优化器
sgd编译模型。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Import batch normalization from keras layers
from tensorflow.____.____ import ____
# Build your deep network
batchnorm_model = ____
batchnorm_model.add(Dense(____, input_shape=(64,), activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(10, activation='softmax', kernel_initializer='normal'))
# Compile your model with sgd
batchnorm_model.compile(optimizer=____, loss='categorical_crossentropy', metrics=['accuracy'])