Group Normalization/es
| Article | |
|---|---|
| Topic area | Deep Learning |
| Prerequisites | Batch Normalization, Convolutional Neural Network |
Resumen
La Normalización por Grupos (GN) es una técnica de normalización de características para redes neuronales profundas, introducida por Yuxin Wu y Kaiming He en 2018.[1] Divide los canales de una capa en un número fijo de grupos y calcula la media y la varianza para la normalización dentro de cada grupo, de forma independiente para cada ejemplo del lote. A diferencia de la normalización por lotes, sus estadísticas no dependen de la dimensión del lote, lo que la hace estable al entrenar con lotes pequeños, en hardware con memoria limitada o en tareas como la detección de objetos y la comprensión de vídeo, donde los tamaños de lote grandes resultan poco prácticos.
La GN se sitúa entre la normalización por capas y la normalización por instancias dentro de la familia de métodos de normalización de activaciones. La normalización por capas normaliza a través de todos los canales de un único ejemplo, la normalización por instancias normaliza cada canal de cada ejemplo por separado, y la Normalización por Grupos adopta un punto intermedio normalizando grupos de canales. Empíricamente, este punto intermedio suele ofrecer una precisión cercana a la de la normalización por lotes en benchmarks de visión, eliminando a la vez la dependencia de las estadísticas del lote.
Motivación
La normalización por lotes revolucionó el aprendizaje profundo al estabilizar el entrenamiento y permitir redes mucho más profundas, pero presenta una debilidad estructural: su media y su varianza por canal se estiman a partir de los ejemplos del minilote actual. Cuando el lote es pequeño, esas estimaciones son ruidosas y la propia normalización se convierte en una fuente de error. El problema es agudo en tareas como la detección, la segmentación, el vídeo y el aprendizaje 3D, donde una sola muestra puede ocupar una gran parte de la memoria de la GPU y son habituales lotes de uno o dos por dispositivo. Pasar de un lote de 32 a uno de 2 en BN puede degradar la precisión top-1 en ImageNet en más de diez puntos porcentuales.
La Normalización por Grupos se diseñó para conservar los beneficios de regularización y de acondicionamiento de la normalización de activaciones, eliminando al mismo tiempo la dependencia del lote. Dado que la GN calcula las estadísticas a partir de un único ejemplo, se utiliza la misma ruta de código en entrenamiento e inferencia, y el comportamiento de la normalización no cambia con el tamaño de lote ni con el cambio de distribución entre los lotes de entrenamiento y de prueba.
Formulación
Considérese un tensor de activaciones 4D procedente de una red neuronal convolucional con forma $ (N, C, H, W) $, donde $ N $ es el tamaño de lote, $ C $ es el número de canales, y $ H, W $ son las dimensiones espaciales. La Normalización por Grupos divide los $ C $ canales en $ G $ grupos, cada uno con $ C/G $ canales. Para un ejemplo dado $ n $ y un grupo $ g $, sea $ \mathcal{S}_{n,g} $ el conjunto de activaciones de ese grupo, de tamaño $ (C/G) \cdot H \cdot W $.
La media y la varianza del grupo son
$ {\displaystyle \mu_{n,g} = \frac{1}{|\mathcal{S}_{n,g}|} \sum_{x \in \mathcal{S}_{n,g}} x, \qquad \sigma_{n,g}^2 = \frac{1}{|\mathcal{S}_{n,g}|} \sum_{x \in \mathcal{S}_{n,g}} (x - \mu_{n,g})^2.} $
Cada activación $ x_i $ del grupo $ g $ del ejemplo $ n $ se normaliza entonces como
$ {\displaystyle \hat{x}_i = \frac{x_i - \mu_{n,g}}{\sqrt{\sigma_{n,g}^2 + \epsilon}},} $
donde $ \epsilon $ es una pequeña constante (típicamente $ 10^{-5} $) añadida por estabilidad numérica. Finalmente, se aplica una transformación afín por canal con parámetros aprendibles $ \gamma_c $ y $ \beta_c $:
$ {\displaystyle y_i = \gamma_c \hat{x}_i + \beta_c.} $
Los parámetros afines preservan la capacidad representacional de la capa y se comparten a través de las posiciones espaciales y de la dimensión del lote. Dos casos límite recuperan métodos bien conocidos: con $ G = 1 $, la GN se reduce a la normalización por capas (un único grupo que abarca todos los canales); con $ G = C $, se reduce a la normalización por instancias (un grupo por canal). Wu y He recomiendan $ G = 32 $ como valor por defecto que funciona bien en distintas arquitecturas.
Comparación con otros normalizadores
La familia de normalización de activaciones puede caracterizarse por los ejes sobre los que se reduce al calcular las estadísticas. Dado un tensor de forma $ (N, C, H, W) $:
- La normalización por lotes reduce sobre $ (N, H, W) $ por canal — sus estadísticas acoplan los ejemplos del lote.
- La normalización por capas reduce sobre $ (C, H, W) $ por ejemplo — una media y una varianza por ejemplo.
- La normalización por instancias reduce sobre $ (H, W) $ por (ejemplo, canal).
- La Normalización por Grupos reduce sobre $ (C/G, H, W) $ por (ejemplo, grupo).
Solo la normalización por lotes mezcla información entre ejemplos; las demás, incluyendo la GN, son por muestra y por tanto se comportan de forma idéntica en entrenamiento e inferencia. Esta independencia respecto a la composición del lote es lo que confiere a la GN su estabilidad bajo tamaños de lote pequeños o variables. La contrapartida es que la GN no obtiene la regularización implícita que la BN deriva del ruido del lote, por lo que la tasa de aprendizaje óptima y la programación del decaimiento de pesos pueden diferir.
Consideraciones prácticas
El número de grupos $ G $ es un hiperparámetro, pero en la práctica rara vez se ajusta capa a capa. La elección estándar $ G = 32 $ funciona bien para redes troncales tipo ResNet con números de canales que son múltiplos de 32. Cuando una capa tiene menos de 32 canales, la convención es usar un tamaño de grupo fijo (por ejemplo, 16 canales por grupo) en lugar de un número fijo de grupos. La mayoría de las implementaciones requieren que $ C $ sea divisible por $ G $; rellena o ajusta la arquitectura si es necesario.
La GN es un sustituto directo de la BN en la mayoría de las arquitecturas: se reemplaza cada capa BN por una capa GN, se mantiene el resto de la red sin cambios y se reentrena. No es necesario llevar estadísticas en ejecución, lo que simplifica el modelo y elimina una fuente de discrepancia entrenamiento/prueba. La sobrecarga de memoria y de cómputo es modesta — la GN suele costar ligeramente más que la BN por pasada hacia adelante en los frameworks modernos, porque la forma de la reducción es menos amigable con el hardware que las reducciones por canal, pero la diferencia suele ser inferior al diez por ciento.
Al hacer ajuste fino de una red preentrenada con BN, cambiar a GN generalmente requiere reentrenamiento o un ajuste fino sustancial en lugar de un intercambio en caliente, porque los parámetros afines se aprendieron en un régimen de normalización diferente.
Comportamiento empírico
En el artículo original, una ResNet-50 entrenada en ImageNet con un tamaño de lote de 32 por GPU alcanza una precisión top-1 comparable bajo BN y GN (dentro de aproximadamente medio punto porcentual). La diferencia decisiva aparece al reducir el lote: con un tamaño de lote de 2 por GPU, la precisión de BN se desploma unos diez puntos mientras que la de GN permanece esencialmente sin cambios. El mismo patrón se observa en detección de objetos en COCO con Mask R-CNN y en clasificación de vídeo, donde la GN supera consistentemente a la BN en los regímenes de lote pequeño que esas tareas imponen.
La Normalización por Grupos se ha convertido en una opción estándar en los frameworks de detección y segmentación, y se utiliza con frecuencia en los modelos de difusión y en otras arquitecturas en las que los tamaños de lote por dispositivo están limitados por la memoria de activaciones. También es un normalizador de referencia común en implementaciones que requieren un comportamiento determinista y libre de distribución, como el aprendizaje por refuerzo y los entornos federados.
Variantes y métodos relacionados
Varios métodos extienden la GN o se relacionan con ella:
- Switchable Normalization aprende una combinación ponderada de las estadísticas de BN, LN e IN por capa, dejando efectivamente que la red elija dónde operar dentro del espectro BN/GN/LN/IN.[2]
- Filter Response Normalization elimina por completo el paso de sustracción de la media y combina la normalización de la varianza por canal con una activación aprendida con umbral, evitando también la dependencia del lote.[3]
- Weight Standardization normaliza los pesos convolucionales en lugar de las activaciones y suele combinarse con GN para recuperar una precisión a nivel de BN con tamaños de lote pequeños.[4]
- Las convoluciones agrupadas comparten la intuición de agrupamiento a lo largo de la dimensión del canal, pero operan sobre la propia convolución en lugar de sobre las estadísticas de normalización, y ambas ideas se combinan a veces en arquitecturas eficientes.
Limitaciones
La GN elimina la dependencia del lote a costa de eliminar la regularización implícita que aporta la BN, y en clasificación de imágenes con lotes grandes a veces queda por detrás de la BN por un margen pequeño. La divisibilidad requerida de $ C $ entre $ G $ es una restricción arquitectónica menor. Dado que las reducciones abarcan extensiones espaciales variables, la GN puede ser más lenta que la BN en hardware altamente optimizado para reducciones por canal. Por último, la elección de $ G $ es un hiperparámetro adicional; aunque los valores por defecto funcionan bien, el valor óptimo puede depender del ancho de la red y de la tarea.