IOKELU
Nivel: Inteligencia Artificial – Avanzado (Guía 11)

Normalización: BatchNorm y LayerNorm

La normalización es una técnica esencial para estabilizar y acelerar el entrenamiento de redes neuronales profundas. En esta guía aprenderás las dos técnicas más importantes: Batch Normalization y Layer Normalization.

Tabla de contenidos

  • Por qué normalizar
  • Batch Normalization
  • Layer Normalization
  • Diferencias clave
  • Normalización en CNN
  • Normalización en Transformers
  • Ejemplo con Keras
  • Ejercicios

1. Por qué normalizar

La normalización reduce la variación interna de las activaciones, lo que:

2. Batch Normalization

BatchNorm normaliza las activaciones usando estadísticas del batch.


layers.BatchNormalization()
    

Es ideal para CNN y redes densas tradicionales.

3. Layer Normalization

LayerNorm normaliza cada muestra individualmente, no por batch.


layers.LayerNormalization()
    

Es ideal para Transformers y modelos secuenciales.

4. Diferencias clave

5. Normalización en CNN


layers.Conv2D(32, (3,3))
layers.BatchNormalization()
layers.ReLU()
    

6. Normalización en Transformers


x = layers.MultiHeadAttention(...)(inputs, inputs)
x = layers.LayerNormalization()(x)
    

7. Ejemplo con Keras


model = tf.keras.Sequential([
    layers.Dense(128),
    layers.BatchNormalization(),
    layers.ReLU(),
    layers.Dense(64),
    layers.LayerNormalization(),
    layers.ReLU()
])
    

8. Ejercicios


Siguiente guía

Optimización Avanzada →