Lectura de papel | ResNet: aprendizaje residual profundo para el reconocimiento de imágenes

Antecedentes:
la evolución de las redes de VGG a GoogleNet demuestra que la profundidad es crucial para las redes neuronales. La profundidad de la red neuronal en el desafío del conjunto de datos de ImageNet también ha evolucionado de 16 a 30+. El aumento de la profundidad aporta rendimiento a la red. El mejora, es decir, cuanto más profunda, mejor.
Esto plantea la pregunta: ¿es posible obtener una red más profunda simplemente apilando la red?
Aquí tenemos que pensar en un obstáculo clásico en el entrenamiento de la red profunda: la desaparición del gradiente o la explosión del gradiente, y este obstáculo se ha resuelto en gran medida mediante la normalización inicial y la normalización de la capa intermedia (BN). De modo que la red profunda se puede ajustar mediante métodos de optimización como como SGD.
Por lo tanto, se puede obtener una red más profunda superponiendo más capas.
Inserte la descripción de la imagen aquí
Figura 1: La tasa de error en el conjunto de entrenamiento y el conjunto de prueba de una red simple con 20 capas y 56 capas con diferentes profundidades obtenidas por una red apilada simple.
Se puede ver que el edificio de 56 pisos es peor que el edificio de 20 pisos. Esto es un poco indeseable. En teoría, cuanto más profundo soy, incluso si no necesitas una red poco profunda, mejor, pero al menos no debería ser peor. Por ejemplo, se aplican los mismos pesos a las capas que son iguales a la red superficial, y luego se superponen algunas capas de mapeo de identidad, de modo que al menos no será peor que la capa superficial. Entonces, el autor pensó que el problema podría ser que el mapeo de identidad es más difícil de ajustar.
Así que el autor cambió de opinión. Dado que es difícil para la red apilada ajustarse directamente al mapeo de identidad, yo no encajaré directamente en el mapeo de identidad. En su lugar, usaré la red apilada para ajustar un mapeo residual para realizar indirectamente la identidad. Cartografía.

Es decir, suponga que una función de mapeo potencial que se va a ajustar es H (x) H (x)H ( x ) , use la red apilada para ajustar otra función de mapeoF (x): = H (x) - x F (x): = H (x) −xF ( x ):=H ( x ) - x . De esta forma, la función de mapeo original a ajustar es equivalente aF (x) + x F (x) + xF ( x )+x (aquí supongaxxx yF (x) F (x)F ( x ) tiene las mismas dimensiones). Xxaquíx es la entrada, el aprendizaje de la red se convierte en aprenderF (x) F (x)F ( x ) . En casos extremos, si el mapeo de identidad se implementa realmente para que sea óptimo, puede dejar que la red de apilamiento aprenda a hacerF (x) F (x)F ( x ) se acerca a 0 para darse cuenta, lo cual es mejor que dejar que la red aprenda directamente a darse cuentaH (x) = x H (x) = xH ( x )=Un mapeo de identidad como x es mucho más fácil.
Lo anteriorF (x) + x F (x) + xF ( x )+x se puede lograr mediante una conexión de acceso directo, como se muestra en la figura siguiente.
Inserte la descripción de la imagen aquí
Figura 2. Diagrama esquemático del aprendizaje residual. La rama x no requiere parámetros adicionales ni cálculos de copia, simplemente implementa el mapeo de identidad y agrega el resultado a la salida de la red de apilamiento.
De esta manera, la red supera la dificultad del entrenamiento profundo de la red y utiliza atajos para lograrlo.
El soporte teórico del modelo: múltiples capas no lineales pueden ajustarse gradualmente a una función compleja, por lo que múltiples capas no lineales también pueden ajustarse a nuestra función de mapeoF (x) F (x) aquíF ( x ) .
nota: Si x yF (x) F (x)Las dimensiones de F ( x ) son diferentes, por lo que x obtiene la misma dimensión a través de la transformación de convolución 1 × 1.

Estructura de la red:
Inserte la descripción de la imagen aquí
Figura 3. A la izquierda está la red VGG-19. La red simple de 34 capas está en el medio y la red residual de 34 capas está a la derecha.
El diseño de la red ordinaria de 34 capas en el medio está inspirado en la red VGG. Los dos métodos de construcción son similares. La red utiliza básicamente una convolución de 3 × 3 y sigue dos principios de diseño:

  1. Para la salida del mapa de características del mismo tamaño, la capa de red debe tener el mismo número de núcleos de convolución.
  2. Si el tamaño del mapa de características se reduce a la mitad, el número de canales del mapa de características (el número de núcleos de convolución) debe duplicarse para mantener la misma complejidad computacional para cada capa.

La red termina con una capa de agrupación promedio global y una capa totalmente convolucional de 1000 dimensiones con softmax.

El diseño de la red residual equivale a agregar una estructura de atajos a la red común intermedia.
La estructura de atajos aquí se divide en dos categorías:
una es simplemente para implementar atajos de identidad mapeo de identidad, como se muestra en la línea continua en el lado derecho de la Figura 3; la
otra es para abarcar dos capas con diferentes números de canales, por lo que el es necesario aumentar el número de canales. ——Como se muestra humildemente en la imagen. Hay dos formas de aumentar la cantidad de canales, una es agregar directamente 0 a los canales agregados (atajos de relleno de ceros), este método no tiene parámetros adicionales; la otra es aumentar la cantidad de canales a través de una convolución 1 × 1 ( atajos de proyección). La estructura de los atajos en la superficie experimental no tiene un gran impacto en los resultados, la constatación del autor es utilizar atajos de proyección donde se agrega el canal y usar atajos de identidad directamente en el resto.

Mejora del bloque residual:
Inserte la descripción de la imagen aquí
Figura 4. Dos funciones residuales F (x) F (x)La estructura de F ( x ) , la izquierda son los bloques de construcción residuales, en el interior hay una pila simple de dos convoluciones de 3 × 3; la derecha es el bloque de construcción de "cuello de botella" residual, que consta de dos convoluciones de 1 × 1 y un 3 Composición de convolución × 3, la convolución 1 × 1 desempeña el papel de reducción de dimensionalidad y aumento de dimensionalidad, es decir, la dimensionalidad se reduce antes de la operación de convolución 3 × 3 para reducir la cantidad de cálculo, y luego la dimensionalidad aumenta después del cálculo. Este método Puede reducir la cantidad de cálculo y reducir los parámetros.
Nota: Cuando la función residual de la red adopta la estructura de bloques de construcción de "cuello de botella", entonces el atajo debe usar atajos de identidad, y la estructura residual es más sensible a esto.

Resultados utilizados para la detección de objetivos:
Inserte la descripción de la imagen aquí
07 + 12 significa PASCAL VOC2007 trainval dataset más MS COCO2012 trainval dataset, 07 ++ 12 significa PASCAL VOC2007 trainval + test dataset más MS COCO2012 trainval dataset.

Supongo que te gusta

Origin blog.csdn.net/yanghao201607030101/article/details/110729801
Recomendado
Clasificación