Normalización por lotes en un modelo conocido
¿Recuerdas el conjunto de datos de dígitos que entrenaste en el primer ejercicio de este capítulo?
Era un problema de clasificación multiclase que resolviste usando softmax y 10 neuronas en la capa de salida.
Ahora vas a construir un modelo más profundo con 3 capas ocultas de 50 neuronas cada una, usando normalización por lotes entre las capas.
El parámetro kernel_initializer se usa para inicializar los pesos de forma similar.
Este ejercicio forma parte del curso
Introducción al Deep Learning con Keras
Instrucciones del ejercicio
- Importa
BatchNormalizationdesde las capas detensorflow.keras. - Construye tu red profunda, usa 50 neuronas en cada capa oculta y añade normalización por lotes entre las capas.
- Compila tu modelo con descenso de gradiente estocástico,
sgd, como optimizador.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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'])