Instance Normalization/es
| Article | |
|---|---|
| Topic area | Deep Learning |
| Prerequisites | Neural Networks, Convolutional Neural Networks, Batch Normalization |
Visión general
La normalización por instancia (a menudo abreviada como InstanceNorm o IN) es una técnica de normalización de características para redes neuronales profundas que normaliza cada ejemplo y cada canal de forma independiente, utilizando estadísticas calculadas únicamente sobre las dimensiones espaciales de un solo mapa de características. Introducida por Ulyanov, Vedaldi y Lempitsky en 2016 en el contexto de la transferencia rápida de estilo neuronal, elimina la información de contraste y brillo por instancia de las representaciones intermedias. La normalización por instancia es la opción dominante en tareas de generación de imágenes en las que la apariencia global de cada imagen, y no las estadísticas a nivel de población, es lo que debe guiar la salida.
A diferencia de la normalización por lotes, que acopla los ejemplos mediante estadísticas de lote, la normalización por instancia trata cada ejemplo de forma aislada. Este desacoplamiento la hace adecuada para entornos en los que el lote es pequeño, los ejemplos son heterogéneos o el objetivo es manipular el estilo de cada imagen.
Motivación
La técnica surgió de los trabajos sobre transferencia de estilo en tiempo real, donde una red convolucional de tipo feed-forward se entrena para mapear una imagen de contenido a una salida estilizada que coincida con las texturas de un estilo objetivo. Los enfoques iniciales intercalaban normalización por lotes entre las convoluciones, pero las redes resultantes producían imágenes cuyo contraste global dependía de la composición del lote y no de la imagen de contenido por sí sola. Sustituir la normalización por lotes por una normalización por ejemplo eliminó este acoplamiento y produjo estilizaciones más nítidas y consistentes.
La intuición es que la media y la varianza de las activaciones dentro de un solo mapa de características codifican propiedades globales de la imagen, como el brillo general, el contraste y (en las primeras capas) la textura de baja frecuencia. Restar la media por instancia y dividir por la desviación típica por instancia elimina estas propiedades de la representación, permitiendo que la red se concentre en la estructura relevante para el contenido. Esta es precisamente la operación deseada en tareas en las que el cometido de la red es sustituir el estilo en lugar de preservarlo.
Formulación
Considérese un tensor de activaciones convolucionales $ x \in \mathbb{R}^{N \times C \times H \times W} $, donde $ N $ es el tamaño de lote, $ C $ el número de canales y $ H, W $ las dimensiones espaciales. Para el ejemplo $ n $ y el canal $ c $, la media por instancia y la varianza se calculan únicamente sobre las dimensiones espaciales:
$ {\displaystyle \mu_{nc} = \frac{1}{HW} \sum_{h=1}^{H} \sum_{w=1}^{W} x_{nchw}, \qquad \sigma_{nc}^2 = \frac{1}{HW} \sum_{h=1}^{H} \sum_{w=1}^{W} \left( x_{nchw} - \mu_{nc} \right)^2.} $
La activación normalizada es
$ {\displaystyle \hat{x}_{nchw} = \frac{x_{nchw} - \mu_{nc}}{\sqrt{\sigma_{nc}^2 + \epsilon}},} $
donde $ \epsilon $ es una pequeña constante (típicamente $ 10^{-5} $) que evita la división por cero. Como en la normalización por lotes, a continuación se aplica una transformación afín con parámetros aprendidos por canal $ \gamma_c $ y $ \beta_c $:
$ {\displaystyle y_{nchw} = \gamma_c \, \hat{x}_{nchw} + \beta_c.} $
El paso afín restablece la capacidad de la red para representar cualquier escala y desplazamiento deseados después de la normalización, incluida la identidad si esa fuera la opción óptima.
Comportamiento en entrenamiento e inferencia
Una propiedad de importancia práctica de la normalización por instancia es que utiliza el mismo cómputo en entrenamiento e inferencia. Como las estadísticas se calculan por ejemplo, no es necesario llevar promedios móviles, no se requiere calibración y la capa se comporta de manera idéntica tanto si la entrada es una sola imagen como un lote. Esto contrasta marcadamente con la normalización por lotes, cuyo modo de inferencia sustituye las estadísticas de lote por estimaciones móviles acumuladas durante el entrenamiento y es sensible a la elección del momento y al cambio de distribución entre entrenamiento y prueba.
Este comportamiento sin estado también implica que la normalización por instancia no se ve afectada por el tamaño de lote: un lote de uno y un lote de cien producen la misma salida por ejemplo. Por ello es una elección natural cuando las restricciones de memoria obligan a usar lotes pequeños, como ocurre en la síntesis de imágenes de alta resolución.
Comparación con otras normalizaciones
Los principales esquemas de normalización de características difieren en las dimensiones sobre las que agrupan al calcular la media y la varianza:
- Normalización por lotes — agrupa sobre $ (N, H, W) $, un conjunto de estadísticas por canal.
- Normalización por instancia — agrupa sobre $ (H, W) $, un conjunto de estadísticas por ejemplo y por canal.
- Normalización por capa — agrupa sobre $ (C, H, W) $, un conjunto de estadísticas por ejemplo.
- Normalización por grupo — agrupa sobre $ (H, W) $ y un grupo de canales, interpolando entre la normalización por capa y la normalización por instancia.
La normalización por instancia es el caso particular de la normalización por grupo en el que cada grupo contiene un único canal. También está estrechamente relacionada con la normalización de contraste por imagen, un viejo truco de preprocesamiento, pero aplicada en cada capa y no solo a la entrada.
Los compromisos dependen de la tarea. La normalización por lotes sigue siendo la opción más sólida para la clasificación de imágenes con lotes grandes, donde el agrupamiento entre ejemplos proporciona un regularizador útil y expone a la red a las estadísticas de la población. La normalización por instancia, al eliminar el contraste por imagen, descarta información que las redes de clasificación necesitan; esa misma propiedad es la que la hace valiosa para la generación.
Variantes
Normalización por instancia adaptativa
La normalización por instancia adaptativa (AdaIN), introducida por Huang y Belongie en 2017, es el operador central en la transferencia de estilo neuronal arbitraria y en modelos generativos de imágenes como StyleGAN. AdaIN sustituye los parámetros afines aprendidos $ \gamma_c, \beta_c $ por valores calculados a partir de una entrada de estilo independiente $ s $:
$ {\displaystyle \mathrm{AdaIN}(x, s) = \sigma(s) \cdot \frac{x - \mu(x)}{\sigma(x)} + \mu(s),} $
donde $ \mu(\cdot) $ y $ \sigma(\cdot) $ se calculan por canal sobre las dimensiones espaciales. Intuitivamente, AdaIN despoja a la imagen de contenido de sus estadísticas por canal y las sustituye por las de la imagen de estilo, transfiriendo el estilo en una sola pasada feed-forward.
Normalización por instancia condicional
La normalización por instancia condicional (Dumoulin et al., 2017) extiende la normalización por instancia con una pequeña tabla de búsqueda de parámetros $ \gamma, \beta $ indexada por una etiqueta de estilo discreta. Una única red feed-forward puede entonces producir muchos estilos distintos, seleccionando un conjunto de parámetros diferente en cada inferencia. Este fue un paso importante hacia la generación multiestilo, ahora habitual en los modelos generativos modernos.
Normalización de respuesta de filtro
La normalización de respuesta de filtro (Singh y Krishnan, 2020) es un normalizador por instancia y por canal relacionado que omite la sustracción de la media y divide por la raíz cuadrática media de las activaciones, combinado con una activación lineal con umbral. Se propuso para recuperar la exactitud de clasificación en escenarios sensibles al tamaño de lote, conservando a la vez la independencia respecto al lote propia de la normalización por instancia.
Aplicaciones
La normalización por instancia, a menudo en su forma adaptativa, se utiliza en:
- Transferencia de estilo neuronal en tiempo real y arbitraria.
- Redes de traducción imagen a imagen, como las basadas en las arquitecturas U-Net o red generativa antagónica (GAN), incluidas las variantes CycleGAN y pix2pix.
- Arquitecturas de síntesis de imágenes de alta fidelidad como StyleGAN y StyleGAN2, donde una modulación al estilo de AdaIN inyecta códigos de estilo en cada capa.
- Algunos modelos de imagen médica y de segmentación con lotes de entrenamiento pequeños, donde las estadísticas de lote son inestables.
Limitaciones
- Elimina información global útil — en tareas donde el brillo o el contraste globales aportan señal de clase (la mayoría de la clasificación), la normalización por instancia suele rendir peor que la normalización por lotes.
- Sin regularización a partir del ruido de lote — la normalización por instancia carece de la regularización implícita que aportan las estadísticas de lote; en su lugar suelen ser necesarios regularizadores explícitos como Dropout o el decaimiento de pesos.
- Coste por canal — al calcularse las estadísticas de forma independiente para cada canal de cada ejemplo, la capa no puede amortizar el coste a través del lote como sí hace la normalización por lotes, lo que la hace ligeramente más costosa en modelos pequeños.
- Pérdida de detalle de textura en capas profundas — aplicar normalización por instancia a todas las capas de manera ingenua puede desdibujar las características de grano fino. Muchas arquitecturas prácticas la restringen a bloques específicos o la sustituyen por normalización por grupo en las capas más profundas.
Referencias
[1] [2] [3] [4] [5] [6] [7] [8]
- ↑ Ulyanov, D., Vedaldi, A., and Lempitsky, V., Instance Normalization: The Missing Ingredient for Fast Stylization, arXiv:1607.08022, 2016.
- ↑ Huang, X., and Belongie, S., Arbitrary Style Transfer in Real-Time with Adaptive Instance Normalization, ICCV, 2017.
- ↑ Dumoulin, V., Shlens, J., and Kudlur, M., A Learned Representation for Artistic Style, ICLR, 2017.
- ↑ Wu, Y., and He, K., Group Normalization, ECCV, 2018.
- ↑ Ba, J. L., Kiros, J. R., and Hinton, G. E., Layer Normalization, arXiv:1607.06450, 2016.
- ↑ Ioffe, S., and Szegedy, C., Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift, ICML, 2015.
- ↑ Karras, T., Laine, S., and Aila, T., A Style-Based Generator Architecture for Generative Adversarial Networks, CVPR, 2019.
- ↑ Singh, S., and Krishnan, S., Filter Response Normalization Layer: Eliminating Batch Dependence in the Training of Deep Neural Networks, CVPR, 2020.