Batch Normalization/es: Difference between revisions

    From Marovi AI
    (Pass 2 force re-parse)
    Tags: ci-deploy Reverted
    ([deploy-bot] Deploy from CI (8c92aeb))
    Tags: ci-deploy Manual revert
     
    Line 98: Line 98:
    [[Category:Intermediate]]
    [[Category:Intermediate]]
    [[Category:Neural Networks]]
    [[Category:Neural Networks]]
    <!--v1.2.0 cache-bust-->
    <!-- pass 2 -->

    Latest revision as of 07:09, 24 April 2026

    Languages: English | Español | 中文
    Article
    Topic area Deep Learning
    Difficulty Intermediate
    Prerequisites Neural Networks, Backpropagation

    Batch normalization (frecuentemente abreviado BatchNorm o BN) es una tecnica para mejorar la velocidad, estabilidad y rendimiento de las redes neuronales profundas mediante la normalizacion de las entradas a cada capa. Introducida por Ioffe y Szegedy en 2015, se ha convertido en un componente estandar en la mayoria de las arquitecturas modernas de aprendizaje profundo.

    Desplazamiento covariante interno

    La motivacion original de batch normalization fue abordar el desplazamiento covariante interno — el fenomeno por el cual la distribucion de las entradas de cada capa cambia durante el entrenamiento a medida que se actualizan los parametros de las capas precedentes. Esta distribucion cambiante obliga a cada capa a adaptarse continuamente, ralentizando la convergencia y requiriendo una inicializacion cuidadosa y tasas de aprendizaje pequenas.

    Aunque el papel preciso del desplazamiento covariante interno ha sido debatido (Santurkar et al., 2018, argumentaron que los beneficios de BatchNorm provienen mas del suavizado del paisaje de perdida), la efectividad practica de la tecnica esta bien establecida.

    El algoritmo de batch normalization

    Durante el entrenamiento

    Para un mini-lote $ \mathcal{B} = \{x_1, \dots, x_m\} $ de activaciones en una capa dada, BatchNorm procede de la siguiente manera:

    Paso 1. Calcular la media y varianza del mini-lote:

    $ \mu_{\mathcal{B}} = \frac{1}{m} \sum_{i=1}^{m} x_i, \qquad \sigma_{\mathcal{B}}^2 = \frac{1}{m} \sum_{i=1}^{m} (x_i - \mu_{\mathcal{B}})^2 $

    Paso 2. Normalizar:

    $ \hat{x}_i = \frac{x_i - \mu_{\mathcal{B}}}{\sqrt{\sigma_{\mathcal{B}}^2 + \epsilon}} $

    donde $ \epsilon $ es una constante pequena (por ejemplo, $ 10^{-5} $) para estabilidad numerica.

    Paso 3. Escalar y desplazar con parametros aprendidos $ \gamma $ y $ \beta $:

    $ y_i = \gamma \hat{x}_i + \beta $

    Los parametros $ \gamma $ y $ \beta $ se aprenden durante el entrenamiento. Restauran la capacidad de la red para representar la transformacion identidad si esta es optima, asegurando que la normalizacion no reduzca la expresividad del modelo.

    Durante la inferencia

    En el momento de la inferencia, las estadisticas de mini-lotes individuales no son fiables (la entrada puede ser un unico ejemplo). En su lugar, BatchNorm utiliza estimaciones acumuladas de la media y varianza poblacional acumuladas durante el entrenamiento mediante promedios moviles exponenciales:

    $ \mu_{\mathrm{running}} \leftarrow (1 - \alpha)\, \mu_{\mathrm{running}} + \alpha\, \mu_{\mathcal{B}} $
    $ \sigma^2_{\mathrm{running}} \leftarrow (1 - \alpha)\, \sigma^2_{\mathrm{running}} + \alpha\, \sigma^2_{\mathcal{B}} $

    donde $ \alpha $ es el parametro de momento (tipicamente 0.1). Estas estadisticas fijas aseguran salidas deterministas en la inferencia.

    Beneficios

    • Tasas de aprendizaje mas altas: Al restringir las distribuciones de activacion, BatchNorm permite pasos mas grandes sin divergencia.
    • Menor sensibilidad a la inicializacion: Las redes con BatchNorm son mas tolerantes a una inicializacion de pesos deficiente.
    • Efecto regularizador: El ruido introducido por las estadisticas del mini-lote actua como un regularizador suave, a veces reduciendo la necesidad de Dropout.
    • Convergencia mas rapida: El entrenamiento tipicamente requiere menos epocas para alcanzar un nivel dado de rendimiento.

    Ubicacion

    BatchNorm se aplica tipicamente antes de la funcion de activacion (como en el articulo original), aunque algunos profesionales lo colocan despues de la activacion. Para capas convolucionales, la normalizacion se realiza por canal a traves de las dimensiones espaciales y la dimension del lote.

    Alternativas de normalizacion

    Metodo Normaliza sobre Caso de uso
    Batch Norm Dimensiones del lote y espaciales, por canal CNN con lotes grandes
    Layer Norm Todos los canales y dimensiones espaciales, por muestra Transformers, RNN, lotes pequenos
    Instance Norm Solo dimensiones espaciales, por muestra por canal Transferencia de estilo, generacion de imagenes
    Group Norm Grupos de canales, por muestra Deteccion de objetos, entrenamiento con lotes pequenos

    La normalizacion de capa (Ba et al., 2016) normaliza a traves de todas las caracteristicas dentro de una unica muestra, haciendola independiente del tamano del lote. Es la opcion estandar en las arquitecturas Transformer.

    La normalizacion de grupo (Wu y He, 2018) divide los canales en grupos y normaliza dentro de cada grupo por muestra. Sirve de puente entre Layer Norm e Instance Norm y funciona bien cuando los tamanos de lote son demasiado pequenos para obtener estadisticas de lote fiables.

    Limitaciones

    • El rendimiento se degrada con tamanos de lote muy pequenos, ya que las estadisticas del lote se vuelven ruidosas.
    • Introduce una discrepancia entre el comportamiento de entrenamiento (estadisticas de lote) y el de inferencia (estadisticas acumuladas).
    • No es directamente aplicable a secuencias de longitud variable sin relleno o enmascaramiento.
    • Las estadisticas acumuladas requieren un manejo cuidadoso cuando se utiliza entrenamiento distribuido en multiples dispositivos.

    Vease tambien

    Referencias

    • Ioffe, S. and Szegedy, C. (2015). "Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift". ICML.
    • Ba, J. L., Kiros, J. R. and Hinton, G. E. (2016). "Layer Normalization". arXiv:1607.06450.
    • Wu, Y. and He, K. (2018). "Group Normalization". ECCV.
    • Santurkar, S. et al. (2018). "How Does Batch Normalization Help Optimization?". NeurIPS.