SENet, abreviatura de Squeeze-and-Excitation Networks, es una arquitectura de aprendizaje profundo que mejora el poder representacional de las redes neuronales modelando dependencias entre canales. Fue introducida en 2018 por Jie Hu, Li Shen y Gang Sun, y ganó el ImageNet Large Scale Visual Recognition Challenge (ILSVRC) de ese año. La innovación central es el bloque squeeze-and-excitation (SE), que recalibra adaptativamente las respuestas de características por canal modelando explícitamente las interdependencias entre canales. Este mecanismo permite que la red enfatice características informativas y suprima las menos útiles, mejorando la precisión con solo un modesto aumento en el costo computacional.
Los bloques SE pueden integrarse en varias arquitecturas base, especialmente en redes residuales (ResNets), donde se insertan en bloques residuales. Al aplicar atención por canal, SENet logra mejoras significativas en tareas de clasificación de imágenes, como lo demuestra su tasa de error top-1 del 2.25% en el conjunto de datos ImageNet, una mejora sustancial sobre los modelos anteriores de última generación. La arquitectura también se ha extendido a otros dominios, incluida la detección de objetos y la segmentación semántica, y ha influido en mecanismos de atención posteriores en el aprendizaje profundo.
Bloque Squeeze-and-Excitation
El bloque SE opera sobre un mapa de características U de forma H × W × C, donde H y W son las dimensiones espaciales y C es el número de canales. Consiste en dos operaciones principales: squeeze y excitation.
Squeeze: Se aplica un promedio global por agrupación (global average pooling) sobre las dimensiones espaciales, produciendo un descriptor de canal z de longitud C. Esta operación agrega información espacial global, capturando la respuesta promedio de cada canal. Formalmente, para cada canal c, z_c = (1/(H×W)) Σ_{i=1}^{H} Σ_{j=1}^{W} u_{c}(i,j), donde u_c es el c-ésimo canal de U.
Excitation: El descriptor de canal se pasa a través de un pequeño mecanismo de compuerta, típicamente una red totalmente conectada de dos capas. La primera capa reduce la dimensionalidad a C/r (donde r es una relación de reducción, comúnmente 16), seguida de una activación ReLU, y la segunda capa expande de vuelta a C, seguida de una activación sigmoide. Esto produce un conjunto de pesos de escala por canal s, donde s = σ(W_2 δ(W_1 z)), con W_1 y W_2 como matrices de pesos aprendidas, δ denotando ReLU y σ denotando la función sigmoide.
La salida final se obtiene reescalando el mapa de características original: x̂_c = s_c · u_c, donde s_c es el peso de escala para el canal c. Esta recalibración enfatiza canales que son más informativos para la tarea.
Integración con Redes Residuales
SENet se implementa a menudo insertando bloques SE en bloques residuales de una ResNet. En un bloque residual estándar, la entrada x se suma a la salida de una subred convolucional F(x), resultando en x + F(x). En un bloque SE-ResNet, el bloque SE se aplica a la salida de las capas convolucionales antes de la suma residual. Específicamente, después de la última convolución en el bloque, el mapa de características se pasa a través del bloque SE para producir características recalibradas, que luego se suman a la conexión de salto.
Esta integración permite que la red aprenda atención por canal mientras preserva los beneficios de las conexiones residuales, como el entrenamiento estable y el flujo de gradientes. El bloque SE añade un pequeño número de parámetros (aproximadamente 2C²/r por bloque) y una cantidad insignificante de cómputo, lo que lo hace eficiente para redes profundas.
Rendimiento e Impacto
SENet logró una tasa de error top-5 del 2.25% en el punto de referencia de clasificación ImageNet, superando al ganador anterior, que tenía un error top-5 del 2.99%. Este resultado demostró la efectividad de la atención por canal para mejorar la precisión. La arquitectura también funcionó bien en otros puntos de referencia, incluidos CIFAR-10 y CIFAR-100, y se adaptó para tareas como detección de objetos y segmentación de instancias, donde mejoró la precisión promedio media (mAP) en el conjunto de datos COCO.
El éxito de SENet impulsó la investigación en mecanismos de atención en redes neuronales. Influyó en arquitecturas posteriores como atención multi-cabeza en transformadores, aunque los transformadores usan una forma diferente de atención. Los bloques SE son ahora un componente común en muchos modelos de última generación, incluidos aquellos para clasificación de imágenes, segmentación e incluso procesamiento de lenguaje natural.
Formulación Matemática
Dado un mapa de características de entrada U, el bloque SE calcula un vector de escala s como se describió. La operación de squeeze usa promedio global por agrupación, que es una forma de agregación de información espacial. La operación de excitation usa una arquitectura de cuello de botella para capturar dependencias entre canales. La escala final es una simple multiplicación elemento a elemento.
La relación de reducción r controla la capacidad del mecanismo de compuerta. Un r más pequeño aumenta el número de parámetros pero puede mejorar el rendimiento, mientras que un r más grande reduce el costo computacional. En la práctica, r=16 es una elección común que equilibra precisión y eficiencia.
Variantes y Extensiones
Se han propuesto varias variantes de bloques SE. Por ejemplo, el bloque squeeze-and-excitation espacial y de canal concurrente (scSE) aplica atención tanto a dimensiones espaciales como de canal. Otra variante, el bloque gather-excite (GE), usa una estrategia de agregación diferente. Estas extensiones buscan mejorar la flexibilidad y efectividad de los mecanismos de atención.
Los bloques SE también se han combinado con otras técnicas, como normalización por lotes y abandono, para estabilizar aún más el entrenamiento. En algunos trabajos, los bloques SE se insertan en arquitecturas no residuales, como U-Net para segmentación de imágenes médicas, produciendo mejoras de rendimiento.
Costo Computacional
Una de las ventajas clave de los bloques SE es su bajo costo computacional adicional. Para una ResNet-50 típica, agregar bloques SE aumenta el número de parámetros en aproximadamente un 10%, pero aumenta las operaciones de punto flotante (FLOPs) en menos del 1%. Esto hace que SENet sea adecuado para implementación en dispositivos con recursos limitados, como teléfonos móviles, donde la eficiencia es crítica.
La operación de squeeze usa promedio global por agrupación, que es computacionalmente barato. La operación de excitation involucra dos capas totalmente conectadas, pero la relación de reducción mantiene el número de parámetros pequeño. Como resultado, los bloques SE pueden agregarse a casi cualquier red convolucional sin una degradación significativa en la velocidad.
Relación con Mecanismos de Atención
SENet se describe a menudo como una forma de atención por canal, ya que aprende a enfocarse en canales importantes. Esto es conceptualmente similar a los mecanismos de atención en otros dominios, como transformadores en procesamiento de lenguaje natural, donde se calculan pesos de atención sobre tokens. Sin embargo, los bloques SE operan sobre mapas de características y no involucran atención espacial. Trabajos posteriores, como el módulo de atención de bloques convolucionales (CBAM), combinan atención de canal y espacial, basándose en las ideas de SENet.
El éxito de SENet destacó la importancia de la recalibración de características en el aprendizaje profundo. Mostró que no todos los canales son igualmente importantes, y que aprender a ponderarlos puede llevar a ganancias significativas en precisión. Este principio ha sido ampliamente adoptado en arquitecturas modernas.
Legado e Influencia
SENet se ha convertido en un componente estándar en muchos modelos de aprendizaje profundo. Su influencia se extiende más allá de la clasificación de imágenes a áreas como el aprendizaje profundo en general, donde los mecanismos de atención son ahora ubicuos. La arquitectura se usa a menudo como línea base para evaluar nuevos métodos de atención.
En el contexto del campo más amplio, SENet contribuyó a la tendencia de mejorar redes neuronales mediante innovaciones arquitectónicas en lugar de solo aumentar la profundidad o el ancho. Demostró que módulos cuidadosamente diseñados pueden producir mejoras sustanciales, inspirando enfoques similares en otros dominios.
A principios de la década de 2020, los bloques SE siguen siendo ampliamente utilizados en investigación e industria. Están implementados en marcos populares de aprendizaje profundo como TensorFlow y PyTorch, y están disponibles en zoológicos de modelos. Los principios de squeeze-and-excitation continúan informando nuevos desarrollos en arquitecturas basadas en atención.