Batch Normalization Accelerating Deep Network Training/es
| Research Paper | |
|---|---|
| Authors | Sergey Ioffe; Christian Szegedy |
| Year | 2015 |
| Venue | ICML |
| Topic area | Deep Learning |
| Difficulty | Research |
| arXiv | 1502.03167 |
| Download PDF | |
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift es un artículo de 2015 escrito por Ioffe y Szegedy de Google que introdujo la normalización por lotes (BatchNorm), una técnica para normalizar las entradas de las capas durante el entrenamiento de redes neuronales. Al reducir lo que los autores denominaron desplazamiento covariable interno (internal covariate shift) — el cambio en la distribución de las activaciones de la red a medida que se actualizan los parámetros — la normalización por lotes permitió el uso de tasas de aprendizaje mucho mayores, redujo la sensibilidad a la inicialización y, en algunos casos, actuó como regularizador, eliminando la necesidad de dropout.
Resumen
El entrenamiento de redes neuronales profundas se complica por el hecho de que la distribución de entrada de cada capa cambia durante el entrenamiento a medida que se actualizan los parámetros de todas las capas precedentes. Este fenómeno, que los autores llamaron desplazamiento covariable interno, obliga a usar tasas de aprendizaje más bajas y una inicialización cuidadosa de los parámetros, lo que ralentiza considerablemente el entrenamiento.
La normalización por lotes aborda este problema normalizando las entradas de cada capa utilizando estadísticas calculadas sobre el mini-lote actual. Esto garantiza que cada capa reciba entradas con una media y varianza estables, independientemente de los cambios en las capas precedentes. La técnica se aplica como una transformación diferenciable insertada en la arquitectura de la red, lo que la hace compatible con la backpropagation estándar y el descenso de gradiente estocástico.
Contribuciones Clave
- Normalización por lotes: Un método que normaliza cada característica escalar de forma independiente sobre el mini-lote, utilizando parámetros aprendibles de escala y desplazamiento para preservar la capacidad representacional.
- Hipótesis del desplazamiento covariable interno: Identificación y formalización del problema del cambio de las distribuciones de entrada durante el entrenamiento como un factor que contribuye a la dificultad de la optimización.
- Aceleración del entrenamiento: Demostración de que la normalización por lotes permite una convergencia 14 veces más rápida al mismo nivel de exactitud en ImageNet, y permite el uso de tasas de aprendizaje mucho mayores.
- Arquitectura Inception-BN: Una versión con normalización por lotes de GoogLeNet (Inception) que superó la exactitud del original y se aproximó al rendimiento humano en ImageNet.
Métodos
Para un mini-lote $ \mathcal{B} = \{x_1, x_2, \ldots, x_m\} $ de activaciones en una capa dada, la transformación de normalización por lotes calcula:
$ \mu_{\mathcal{B}} = \frac{1}{m} \sum_{i=1}^{m} x_i $
$ \sigma_{\mathcal{B}}^2 = \frac{1}{m} \sum_{i=1}^{m} (x_i - \mu_{\mathcal{B}})^2 $
$ \hat{x}_i = \frac{x_i - \mu_{\mathcal{B}}}{\sqrt{\sigma_{\mathcal{B}}^2 + \epsilon}} $
$ y_i = \gamma \hat{x}_i + \beta $
donde $ \epsilon $ es una constante pequeña para garantizar la estabilidad numérica, y $ \gamma $ y $ \beta $ son parámetros aprendibles que permiten a la red deshacer la normalización si no resulta beneficiosa. Estos parámetros de escala y desplazamiento son críticos: sin ellos, la normalización limitaría la representación a tener media cero y varianza unitaria, lo que potencialmente reduciría la expresividad del modelo.
Durante el entrenamiento, la media y la varianza se calculan por mini-lote. Durante la inferencia, las estadísticas del lote se reemplazan por estadísticas poblacionales — promedios móviles acumulados durante el entrenamiento — de modo que la salida para una única muestra sea determinista y no dependa de otras muestras del lote.
La normalización por lotes se aplica típicamente antes de la función de activación, después de la transformación lineal o convolucional. Cuando se usa con capas convolucionales, la normalización se realiza por mapa de características (canal) en lugar de por activación individual, compartiendo las estadísticas entre todas las ubicaciones espaciales dentro de un mapa de características.
Los autores también observaron que la normalización por lotes reduce la dependencia de una inicialización precisa, permite tasas de aprendizaje más altas sin divergencia y proporciona un leve efecto de regularización, ya que el valor normalizado de cada muestra depende de las otras muestras en su mini-lote, introduciendo ruido estocástico.
Resultados
En la tarea de clasificación de ImageNet:
- Una red con normalización por lotes igualó la exactitud del modelo Inception original en solo el 7% de los pasos de entrenamiento (aceleración de 14 veces).
- BN-Inception (con normalización por lotes y otras modificaciones) alcanzó un error de validación top-5 del 4,82%, superando la exactitud del GoogLeNet original (6,67%) y aproximándose al rendimiento humano.
- El uso de la normalización por lotes permitió entrenar con una tasa de aprendizaje 10 veces mayor que la base sin divergencia.
- En algunas configuraciones, la normalización por lotes eliminó la necesidad de dropout sin pérdida de exactitud, simplificando la arquitectura y reduciendo aún más el tiempo de entrenamiento.
Los experimentos de ablación mostraron que la combinación de normalización por lotes con tasas de aprendizaje más altas y la eliminación de dropout produjo los mejores resultados.
Impacto
La normalización por lotes se convirtió en uno de los componentes más omnipresentes en las arquitecturas de aprendizaje profundo. Fue adoptada de forma casi universal en las redes convolucionales a lo largo de la segunda mitad de la década de 2010 y sigue siendo estándar en muchas arquitecturas. El éxito de la técnica inspiró toda una familia de métodos de normalización, incluyendo la layer normalization (preferida en Transformers y redes recurrentes), la instance normalization (usada en transferencia de estilo) y la group normalization (útil para tamaños de lote pequeños).
Si bien la explicación original del desplazamiento covariable interno ha sido objeto de debate — el trabajo posterior de Santurkar et al. (2018) argumentó que el principal beneficio proviene de suavizar el panorama de optimización en lugar de reducir el desplazamiento distribucional — la efectividad práctica de la normalización por lotes es indiscutible. Fue un facilitador clave del entrenamiento de las redes profundas que impulsaron el progreso en visión por computadora a lo largo de la década de 2010.
La normalización por lotes también influyó en la forma en que los profesionales conciben el diseño de redes. Al estabilizar la dinámica del entrenamiento, hizo que la búsqueda de hiperparámetros fuera más tolerante y fomentó el desarrollo de arquitecturas más profundas y anchas. La interacción de la técnica con otros componentes — la tasa de aprendizaje, la inicialización de pesos y la regularización — sigue siendo un área activa de estudio.
Véase también
- Deep Residual Learning for Image Recognition
- ImageNet Classification with Deep CNNs
- Dropout A Simple Way to Prevent Overfitting
Referencias
- Ioffe, S. & Szegedy, C. (2015). Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift. Proceedings of ICML 2015. arXiv:1502.03167
- Szegedy, C., Liu, W., Jia, Y., et al. (2015). Going Deeper with Convolutions. CVPR 2015.
- Santurkar, S., Tsipras, D., Ilyas, A., & Madry, A. (2018). How Does Batch Normalization Help Optimization? NeurIPS 2018.