Normalizando em lote um modelo conhecido
Lembra do conjunto de dados digits que você treinou no primeiro exercício deste capítulo?
Um problema de classificação multiclasse que você resolveu usando softmax e 10 neurônios na camada de saída.
Agora, você vai construir um novo modelo mais profundo, com 3 camadas ocultas de 50 neurônios cada, usando normalização em lote entre as camadas.
O parâmetro kernel_initializer é usado para inicializar os pesos de forma semelhante.
Este exercício faz parte do curso
Introdução ao Deep Learning com Keras
Instruções do exercício
- Importe
BatchNormalizationdas camadas detensorflow.keras. - Construa seu modelo de rede profunda usando 50 neurônios em cada camada oculta, adicionando normalização em lote entre as camadas.
- Compile seu modelo com descida do gradiente estocástica,
sgd, como otimizador.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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'])