Artículos · arXiv 1512.03385
Deep Residual Learning for Image Recognition
Resumen en tres líneas
- 🎯 Las redes neuronales simples más profundas sufren de degradación de optimización, donde aumentar la profundidad genera un mayor error de entrenamiento a pesar de que los gradientes no se desvanecen.
- 🔧 Reformula las capas apiladas para ajustar un mapeo residual mediante conexiones de atajo de identidad sin parámetros .
- 📈 Permitió el entrenamiento de redes de hasta 152 capas en ImageNet (logrando un error top-5 de 3,57% en ensemble) y ganó el 1.er lugar en las competiciones ILSVRC y COCO 2015.
Resumen
Las redes neuronales más profundas son más difíciles de entrenar. Presentamos un marco de aprendizaje residual para facilitar el entrenamiento de redes sustancialmente más profundas que las utilizadas anteriormente. Reformulamos explícitamente las capas para que aprendan funciones residuales con referencia a las entradas de la capa, en lugar de aprender funciones no referenciadas. Aportamos amplia evidencia empírica que demuestra que estas redes residuales son más fáciles de optimizar y pueden ganar precisión gracias a un aumento considerable de la profundidad. En el conjunto de datos ImageNet evaluamos redes residuales con una profundidad de hasta 152 capas: 8 veces más profundas que las redes VGG, pero con menor complejidad. Un ensemble de estas redes residuales logra un error del 3,57% en el conjunto de prueba de ImageNet. Este resultado obtuvo el 1.er lugar en la tarea de clasificación de ILSVRC 2015. También presentamos análisis en CIFAR-10 con 100 y 1000 capas. La profundidad de las representaciones es de vital importancia para muchas tareas de reconocimiento visual. Únicamente gracias a nuestras representaciones extremadamente profundas, obtenemos una mejora relativa del 28% en el conjunto de datos de detección de objetos COCO. Las redes residuales profundas son la base de nuestras propuestas a las competiciones ILSVRC & COCO 2015, donde también obtuvimos el 1.er lugar en las tareas de detección de ImageNet, localización de ImageNet, detección de COCO y segmentación de COCO.
Resumen original (inglés)
Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. We explicitly reformulate the layers as learning residual functions with reference to the layer inputs, instead of learning unreferenced functions. We provide comprehensive empirical evidence showing that these residual networks are easier to optimize, and can gain accuracy from considerably increased depth. On the ImageNet dataset we evaluate residual nets with a depth of up to 152 layers---8x deeper than VGG nets but still having lower complexity. An ensemble of these residual nets achieves 3.57% error on the ImageNet test set. This result won the 1st place on the ILSVRC 2015 classification task. We also present analysis on CIFAR-10 with 100 and 1000 layers. The depth of representations is of central importance for many visual recognition tasks. Solely due to our extremely deep representations, we obtain a 28% relative improvement on the COCO object detection dataset. Deep residual nets are foundations of our submissions to ILSVRC & COCO 2015 competitions, where we also won the 1st places on the tasks of ImageNet detection, ImageNet localization, COCO detection, and COCO segmentation.
Guía de lectura
Problema y motivación
La profundidad de la red es fundamental para las representaciones de reconocimiento visual, pero apilar más capas expone un problema de degradación (degradation problem) crítico: a medida que aumenta la profundidad, la precisión se satura y luego se degrada rápidamente. De forma crucial, esta degradación no es causada por el sobreajuste: las redes más profundas producen un mayor error de entrenamiento que sus contrapartes menos profundas, a pesar de que técnicas como Batch Normalization y la inicialización normalizada aseguran que las activaciones hacia adelante y los gradientes retropropagados no se desvanezcan.
En teoría, un modelo más profundo tiene una solución de mapeo de identidad por construcción: copiar el modelo entrenado menos profundo y fijar las capas adicionales como transformaciones de identidad. Sin embargo, los optimizadores convencionales no logran encontrar esta solución cuando aprenden mapeos no lineales no referenciados de manera directa.
Ideas clave
- Marco de aprendizaje residual (Residual Learning Framework): En lugar de optimizar capas apiladas para aproximar un mapeo deseado , se deja explícitamente que las capas aproximen el mapeo residual . El mapeo original se recupera como .
- Conexiones de atajo de identidad (Identity Shortcut Connections): Se implementa mediante conexiones de atajo feedforward que omiten una o más capas. Los atajos de identidad requieren cero parámetros adicionales y prácticamente no añaden sobrecarga computacional.
- Optimización más sencilla y preacondicionamiento: Si los mapeos de identidad son óptimos, los optimizadores simplemente pueden llevar los pesos residuales hacia cero. En la práctica, las respuestas de la función residual tienen magnitudes pequeñas, lo que indica que las conexiones de identidad actúan como un preacondicionamiento efectivo.
- Arquitectura de cuello de botella (Bottleneck Architecture): Para variantes muy profundas (ResNet-50, ResNet-101, ResNet-152), cada unidad residual de 2 capas se reemplaza por un bloque de cuello de botella de 3 capas (convoluciones , , ), reduciendo el cómputo mientras se preserva la capacidad de representación.
Método
Para un bloque de construcción residual donde las dimensiones de entrada y salida coinciden: donde e son los vectores de entrada y salida, y para una unidad de 2 capas (con denotando ReLU, omitiendo los sesgos por simplicidad). La suma elemento a elemento se realiza antes de aplicar la segunda activación ReLU .
Cuando las dimensiones del mapa de características cambian (por ejemplo, durante el submuestreo espacial o la duplicación de canales): Aquí, denota:
- Opción A: Relleno con ceros (zero-padding) para las dimensiones adicionales junto con atajos de identidad (stride 2 para submuestreo), lo que introduce 0 parámetros adicionales.
- Opción B: Una proyección lineal por convolución utilizada únicamente al aumentar las dimensiones, empleando conexiones de identidad puras en el resto.
- Opción C: Atajos de proyección lineal para todos los bloques residuales.
El artículo adopta la Opción B para los modelos de ImageNet (ResNet-50/101/152) porque la Opción C incrementa innecesariamente los parámetros sin ganancias significativas en precisión, y los atajos de identidad puros son esenciales para mantener la eficiencia de las estructuras de cuello de botella.
Resultados
- Clasificación en ImageNet:
- ResNet-34 supera a plain-34 por 3,5% en error top-1 (25,03% frente a 28,54% en error de validación 10-crop) y resuelve la degradación en el entrenamiento.
- ResNet-152 logra un error de validación top-5 de modelo único de 4,49% (11,3 mil millones de FLOPs, menor complejidad que VGG-16 con 15,3 mil millones de FLOPs).
- Un ensemble de ResNets alcanzó un error top-5 del 3,57% en el conjunto de prueba, ganando el 1.er lugar en el desafío de clasificación ILSVRC 2015.
- CIFAR-10: Las profundidades de ResNet escalan sin problemas a través de 20, 32, 44, 56 y 110 capas, con ResNet-110 alcanzando un 6,43% de error de prueba. Se entrenó una red experimental de 1202 capas sin fallas de optimización ( de error de entrenamiento).
- Transferencia y tareas posteriores (Downstream Tasks): Sustituir VGG-16 por ResNet-101 en Faster R-CNN mejoró el mAP@[.5, .95] en MS COCO del 21,2% al 27,2% (un incremento relativo del 28%) y el mAP de prueba en PASCAL VOC 2007 del 73,2% al 76,4%. Las redes residuales profundas también obtuvieron el 1.er lugar en detección de ImageNet, localización de ImageNet, detección de COCO y segmentación de COCO.
Limitaciones y preguntas abiertas
- Sobreajuste en arquitecturas ultraprofundas: En CIFAR-10, el modelo de 1202 capas mostró un error de prueba mayor (7,93%) que ResNet-110 (6,43%) a pesar de alcanzar un error de entrenamiento , debido a la falta de regularización en un conjunto de datos pequeño.
- Causa teórica de la degradación: El artículo demuestra experimentalmente que el desvanecimiento del gradiente no es el problema, sugiriendo la hipótesis de que las redes simples sufren tasas de convergencia exponencialmente bajas, pero deja las demostraciones teóricas de la dinámica de optimización para trabajos futuros.
- Residuales de una sola capa: La formulación residual no proporciona ningún beneficio apreciable cuando consta de una sola capa (reduciéndose a ).
Términos clave
- degradation problem (problema de degradación)
- El fenómeno contraintuitivo donde agregar más capas a una red neuronal profunda genera un mayor error de entrenamiento, a pesar de la ausencia de gradientes que se desvanecen o explotan.
- residual learning (aprendizaje residual)
- Reformulación de las capas apiladas de una red neuronal para aprender explícitamente una función residual con respecto a sus entradas, en lugar de ajustar un mapeo no referenciado directamente.
- identity shortcut connection (conexión de atajo de identidad)
- Una conexión de salto sin parámetros que transmite el vector de entrada o mapa de características sin cambios y lo suma elemento a elemento a la salida de las capas convolucionales apiladas.
- projection shortcut (atajo de proyección)
- Una conexión de atajo que utiliza una matriz de transformación lineal o una convolución () para igualar dimensiones cuando las profundidades de canal o tamaños espaciales de entrada y salida difieren.
- bottleneck design (diseño de cuello de botella)
- Un bloque residual de 3 capas compuesto por convoluciones , y , donde las capas comprimen y restauran las dimensiones de las características para reducir la complejidad computacional.
- plain network (red simple)
- Una arquitectura de red convolucional base que simplemente apila capas convolucionales y de pooling estándar sin conexiones de atajo ni residuales.
Preguntas
¿Por qué el problema de degradación no es causado por el desvanecimiento de gradientes?
Las redes se entrenaron usando Batch Normalization e inicialización de pesos normalizada, lo que se verificó que mantenía varianzas de señal distintas de cero en la propagación hacia adelante y normas de gradiente adecuadas en la retropropagación. Además, las redes simples más profundas como plain-34 convergieron a soluciones no triviales, pero convergieron con un error de entrenamiento más alto que las menos profundas.
¿Cuál es la diferencia entre los atajos de identidad de ResNet y las Highway Networks?
Las Highway Networks utilizan funciones de compuerta (gating) parametrizadas y dependientes de los datos que pueden cerrarse y hacer que las capas dejen de ser residuales, mientras que los atajos de ResNet son mapeos de identidad libres de parámetros que nunca se cierran, garantizando el aprendizaje residual en todo momento.
¿Cuándo se utiliza la proyección en lugar de un atajo de identidad?
La proyección (mediante convoluciones ) se usa principalmente cuando las dimensiones de las características de entrada y salida no coinciden (por ejemplo, al duplicar canales y reducir a la mitad la resolución espacial con stride 2). Para dimensiones idénticas, el mapeo de identidad es suficiente, más económico y evita el incremento de parámetros en las unidades de cuello de botella.
¿Por qué ResNet-1202 obtuvo peores resultados en CIFAR-10 que ResNet-110?
ResNet-1202 sufrió de sobreajuste en lugar de fallas de optimización. Logró alcanzar con éxito de error de entrenamiento, pero sus 19,4 millones de parámetros resultaban excesivos para el reducido tamaño del conjunto de datos CIFAR-10 sin técnicas de regularización adicionales como 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.