Artículos · arXiv 1502.03167
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
Resumen en tres líneas
- 🎯 El entrenamiento de redes profundas se ralentiza por el internal covariate shift: el desplazamiento continuo en las distribuciones de entrada de las capas causado por las actualizaciones de parámetros en capas previas.
- 🔧 Introduce Batch Normalization (BN), una capa arquitectónica que estandariza las activaciones del mini-batch a media cero y varianza unitaria, seguida de un escalado y desplazamiento afín aprendidos (γ y β).
- 📈 Iguala la precisión de validación del 72,2% de una línea base de Inception en 14 veces menos pasos y alcanza un 4,82% de error top-5 en los datos de prueba de ImageNet con un ensemble.
Resumen
El entrenamiento de redes neuronales profundas se complica debido a que la distribución de las entradas de cada capa cambia durante el entrenamiento, a medida que cambian los parámetros de las capas anteriores. Esto ralentiza el entrenamiento al exigir tasas de aprendizaje más bajas y una inicialización minuciosa de los parámetros, y hace que sea notoriamente difícil entrenar modelos con no linealidades saturadas. Denominamos a este fenómeno internal covariate shift y abordamos el problema normalizando las entradas de las capas. Nuestro método obtiene su fuerza al convertir la normalización en parte de la arquitectura del modelo y realizar dicha normalización para cada mini-batch de entrenamiento. Batch Normalization nos permite utilizar tasas de aprendizaje mucho más altas y ser menos meticulosos con la inicialización. También actúa como regularizador, eliminando en algunos casos la necesidad de Dropout. Aplicado a un modelo puntero de clasificación de imágenes, Batch Normalization logra la misma precisión con 14 veces menos pasos de entrenamiento y supera al modelo original por un margen significativo. Mediante un ensemble de redes normalizadas por lotes, mejoramos el mejor resultado publicado en la clasificación de ImageNet: alcanzando un 4,9% de error top-5 de validación (y un 4,8% de error de prueba), superando la precisión de evaluadores humanos.
Resumen original (inglés)
Training Deep Neural Networks is complicated by the fact that the distribution of each layer's inputs changes during training, as the parameters of the previous layers change. This slows down the training by requiring lower learning rates and careful parameter initialization, and makes it notoriously hard to train models with saturating nonlinearities. We refer to this phenomenon as internal covariate shift, and address the problem by normalizing layer inputs. Our method draws its strength from making normalization a part of the model architecture and performing the normalization for each training mini-batch. Batch Normalization allows us to use much higher learning rates and be less careful about initialization. It also acts as a regularizer, in some cases eliminating the need for Dropout. Applied to a state-of-the-art image classification model, Batch Normalization achieves the same accuracy with 14 times fewer training steps, and beats the original model by a significant margin. Using an ensemble of batch-normalized networks, we improve upon the best published result on ImageNet classification: reaching 4.9% top-5 validation error (and 4.8% test error), exceeding the accuracy of human raters.
Guía de lectura
Problema y motivación
Durante la optimización de redes profundas con SGD, los cambios en los parámetros de las capas anteriores alteran la distribución de las entradas de las capas posteriores. Los autores denominan a este fenómeno Internal Covariate Shift.
El internal covariate shift genera dos desafíos principales:
- Las subredes deben adaptarse continuamente a distribuciones de activación cambiantes.
- Las activaciones derivan fácilmente hacia los regímenes de saturación de las no linealidades (como las funciones sigmoides), provocando desvanecimiento de gradientes y exigiendo tasas de aprendizaje pequeñas y una inicialización meticulosa de los parámetros.
Aunque el blanqueamiento (decorrelación y estandarización) de las entradas de las capas en todo el conjunto de datos podría estabilizar las distribuciones, calcular matrices de covarianza completas y sus raíces cuadradas inversas en cada actualización de parámetros es computacionalmente prohibitivo y puede hacer que los gradientes exploten si la normalización no está integrada en la retropropagación.
Ideas clave
- Capa de normalización diferenciable: En lugar de estandarizar las activaciones fuera de la optimización, la normalización se integra directamente en la arquitectura del modelo, asegurando que la retropropagación considere las dependencias entre las activaciones de las capas y las estadísticas del mini-batch.
- Normalización por dimensión: En lugar de un blanqueamiento conjunto completo, cada dimensión escalar de características se normaliza de forma independiente a media cero y varianza unitaria.
- Restauración de la capacidad representacional: Para asegurar que la normalización no destruya la capacidad expresiva de una capa (como forzar a una sigmoide a comportarse de forma puramente lineal), se introducen parámetros aprendibles (escala) y (desplazamiento) para permitir que la capa recupere la transformación identidad si es necesario.
- Inferencia determinista: Durante el entrenamiento, las estadísticas se calculan sobre cada mini-batch . En el momento de la prueba, estadísticas poblacionales fijas (calculadas mediante promedios móviles o sobre los lotes de entrenamiento) reemplazan a las estadísticas del mini-batch, garantizando una inferencia determinista de una sola muestra.
- Invarianza a la escala de parámetros: Las transformaciones de escala de los pesos de las capas satisfacen , lo que significa que pesos más grandes conducen a gradientes efectivos más pequeños, previniendo la explosión de gradientes.
Método (con las ecuaciones clave)
Para un mini-batch correspondiente a una sola dimensión de activación:
- Calcular la media del mini-batch:
- Calcular la varianza del mini-batch:
- Normalizar las activaciones (con la constante de estabilidad ):
- Escalar y desplazar usando los parámetros aprendibles y :
Aplicación a las capas
- Ubicación: Se aplica inmediatamente antes de las no linealidades: . El sesgo original de la capa se omite porque la resta de la media lo cancela (su función es asumida por ).
- Capas convolucionales: Para preservar la propiedad de equivariancia a la traslación, la normalización se aplica por mapa de características en lugar de por activación espacial. Para un tamaño de lote y una resolución espacial , el tamaño efectivo del mini-batch pasa a ser , con un único par de compartido en cada mapa de características.
Transformación en inferencia
En el momento de la prueba, la transformación se convierte en una operación lineal estática utilizando las estadísticas poblacionales y :
Resultados (con las cifras más importantes)
- MNIST con sigmoides: Las redes equipadas con Batch Normalization conservaron distribuciones de activación estables a lo largo del entrenamiento, acelerando la convergencia y alcanzando una mayor precisión de prueba en comparación con las redes no normalizadas.
- Velocidad de entrenamiento en ImageNet (red individual):
- Inception no normalizado alcanzó un 72,2% de precisión de validación tras pasos.
- La línea base de Inception con Batch Normalization alcanzó el 72,2% en pasos.
- Con una tasa de aprendizaje 5 veces mayor (BN-x5), alcanzó el 72,2% en pasos—una reducción de 14 veces en los pasos de entrenamiento requeridos, alcanzando finalmente un pico del 73,0%.
- Con una tasa de aprendizaje 30 veces mayor (BN-x30), el modelo alcanzó una precisión máxima del 74,8% tras pasos.
- No linealidades saturadas: Mientras que Inception no normalizado con activaciones sigmoides falló en el entrenamiento (quedándose cerca del 0,1% de precisión aleatoria), BN-x5-Sigmoid logró un 69,8% de precisión top-1.
- SOTA Ensemble en ImageNet: Un ensemble de 6 redes normalizadas por lotes logró un error top-5 de validación del 4,9% y un error de prueba del 4,82% en el servidor de pruebas de ILSVRC, superando las líneas base de evaluadores humanos.
Limitaciones y preguntas abiertas
- Dependencia del tamaño de lote: Dado que la normalización se basa en las estadísticas muestrales del mini-batch, tamaños de mini-batch muy pequeños pueden degradar la calidad de las estimaciones de la varianza y la media.
- Redes recurrentes: El artículo evalúa modelos feedforward y convolucionales, señalando a las redes neuronales recurrentes (RNN) como una cuestión abierta no comprobada donde el internal covariate shift también podría ser crítico.
- Fundamentos teóricos: Los autores conjeturan que Batch Normalization hace que los jacobianos de las capas tengan valores singulares cercanos a 1, pero señalaron que la verificación teórica precisa del comportamiento del gradiente queda pendiente para análisis futuros.
Términos clave
- Internal Covariate Shift
- El cambio en la distribución de las activaciones internas de la red durante el entrenamiento, causado por las actualizaciones de parámetros en las capas precedentes.
- Batch Normalization
- Mecanismo que estandariza las entradas de una capa en un mini-batch a media cero y varianza unitaria antes de escalarlas y desplazarlas con parámetros aprendidos.
- Scale and Shift Parameters (γ and β)
- Parámetros aprendibles por activación capaces de restaurar la capacidad expresiva de la red, incluida la habilidad de representar la transformación identidad.
- Whitening
- Transformación de las entradas para producir media cero, varianza unitaria y dimensiones de características mutuamente decorrelacionadas.
- Batch Normalizing Transform
- El algoritmo diferenciable exacto que calcula la media y varianza del mini-batch, normaliza las entradas y aplica el escalado y desplazamiento afín aprendidos.
- Population Statistics
- La media esperada agregada y la varianza insesgada registradas a través de los mini-batches de entrenamiento para fijar los parámetros de normalización para una inferencia determinista.
- Feature Map Normalization
- Aplicación de la normalización de forma conjunta sobre los elementos del mini-batch y las ubicaciones espaciales para que todas las activaciones dentro de un mapa de características convolucional compartan estadísticas y parámetros afines.
Preguntas
¿Dónde se aplica Batch Normalization en relación con las activaciones y los sesgos?
Se aplica inmediatamente antes de la no linealidad (). El parámetro de sesgo de la transformación lineal precedente se omite debido a que la resta de la media lo cancela, dejando que asuma el papel del sesgo.
¿Cómo se comporta Batch Normalization de manera diferente durante el entrenamiento en comparación con la inferencia?
Durante el entrenamiento, la media y la varianza se calculan directamente sobre el mini-batch actual para estandarizar las activaciones. Durante la inferencia, estas se reemplazan por estadísticas poblacionales fijas (medias móviles insesgadas a lo largo de los lotes de entrenamiento), transformando la capa en una operación lineal estática.
¿Por qué Batch Normalization permite tasas de aprendizaje más altas?
Normalizar las activaciones evita que pequeños cambios en los parámetros escalen hacia regímenes de saturación o explosiones del gradiente. Además, el gradiente retropropagado a través de una capa es invariante a la escala con respecto a los pesos: pesos más grandes generan gradientes proporcionales más pequeños, lo que evita la inestabilidad.
¿Puede Batch Normalization sustituir a Dropout?
Sí, en muchas configuraciones. Dado que la activación normalizada de una muestra individual depende de los otros ejemplos aleatorios presentes en el mini-batch, se introduce un ruido estocástico que actúa como un regularizador eficaz, permitiendo reducir o eliminar Dropout.
La explicación de esta página la escribió una IA a partir del artículo y puede contener errores. Consulte el artículo para los detalles.