Red residual: ResNet

ResNet-34

inserte la descripción de la imagen aquí

En el diagrama esquemático de la estructura ResNet de 34 capas: primero está la capa convolucional, luego la capa de agrupación, la estructura con líneas de conexión es una estructura residual y la ResNet de 34 capas se compone de una serie de estructuras residuales. Finalmente, se compone de una capa de agrupación promedio y una capa base de cara completa, que es la capa de salida. La estructura de esta red es muy simple, compuesta básicamente por estructuras residuales apiladas.

inserte la descripción de la imagen aquí

Algunos aspectos destacados de la estructura ResNet:

  • Estructura de red ultra profunda (atravesando 1000 capas)
  • Proponer módulo residual
  • Usa BN para acelerar el entrenamiento

¿Funcionaría una simple pila de capas convolucionales y de agrupación?

 En la imagen de la izquierda (en el documento), cuando se apila en una estructura de red de 20 capas, el error de entrenamiento del modelo es de aproximadamente 1%-2%, pero cuando el número de capas de entrenamiento aumenta a 56 capas, el entrenamiento el error es 7% -8%. Obviamente, la adición de capas convolucionales y de agrupación no funcionará.

¿Cuál es la razón de los malos resultados del entrenamiento?

En el artículo, el autor planteó dos preguntas: a medida que aumenta el número de capas de red, los problemas de desaparición y explosión de gradientes se vuelven cada vez más evidentes. Supongamos que el error de gradiente de cada capa es un número menor que 1. En el proceso de propagación hacia atrás, si no se propaga hacia adelante una vez, debe multiplicarse por un gradiente de error menor que 1. Cuando la red se vuelve más y más luna, el coeficiente multiplicado por menos de 1 se acerca a 0. De esta manera, el gradiente se vuelve cada vez más pequeño, haciendo que el gradiente desaparezca.

Por el contrario, el gradiente es un número mayor que 1. En el proceso de retropropagación, cada vez que se propaga el gradiente, debe multiplicarse por un número mayor que 1. Cuando la red se hace cada vez más profunda, multiplicar por un coeficiente mayor que 1 es infinito Cuanto más grande, el gradiente se vuelve más y más grande, provocando una explosión de gradiente.

¿Cómo resolver la situación de desaparición de gradiente y explosión de gradiente?

Por lo general, se resuelve mediante la estandarización de datos, la inicialización del peso y los métodos BN.

En el artículo, el autor también plantea un problema que es el problema de la degradación.

Después de resolver la situación de desaparición de gradiente y explosión de gradiente, todavía hay una situación en la que el error de aumentar el número de capas es muy grande. ¿Cómo resolver el problema de degradación mencionado en el artículo?

Se propone la estructura del residual, y el problema de degradación se puede resolver a través de la estructura del residual.La línea continua en la figura de la derecha representa la tasa de error del conjunto de verificación, y la línea punteada representa la tasa de error del conjunto de entrenamiento Veamos la tasa de error del conjunto de verificación. A medida que aumenta el número de capas, la tasa de error disminuye y el efecto es mejor.

módulo residual

El módulo residual propuesto. Es precisamente por el módulo residual propuesto que se puede construir una red más profunda.

La imagen de la izquierda es principalmente para la estructura residual utilizada para la red con menos capas (ResNet-34), y la imagen de la derecha es la estructura residual para la red con más capas.

Primero mire la estructura de la izquierda. La línea principal es que las características de entrada se pasan a través de dos capas convolucionales de 3 × 3 para obtener resultados. En el lado derecho de esta línea principal hay una estructura de entrada a salida. La estructura completa significa pasando por la línea principal.La matriz de características obtenida después de una serie de capas convolucionales se agrega a la matriz de características de entrada (la matriz de las dos ramas se agrega en la misma dimensión), y luego la salida a través de la función de activación después de la adición. Nota: La forma de la matriz de características de salida de la rama principal y el atajo deben ser iguales.

 La estructura de la derecha es diferente de la estructura de la izquierda en que se agrega una capa convolucional de 1 × 1 a la entrada y la salida. ¿Cuáles son las funciones de estas dos capas convolucionales de 1 × 1?

Se puede ver en la figura que la profundidad de la matriz de entrada es 256-d Después de pasar por la capa convolucional de la primera capa (el núcleo de convolución es 64), la longitud y el ancho de la matriz de entrada permanecen sin cambios, pero el número de canales se cambia del original 256 a 64. (La capa convolucional de la primera capa juega el papel de dimensión). En la tercera capa, el número de canales se convierte en 256. En este momento, las dimensiones de la salida y la entrada son las mismas y se pueden agregar en este momento.

¿Cuántos parámetros se guardan al comparar las estructuras residuales izquierda y derecha?

La estructura de la izquierda es 1179648 y la estructura de la derecha tiene los parámetros 69632, por lo que parece que cuantas más estructuras residuales se usan, menos parámetros se usan.

La imagen dada en el artículo:

inserte la descripción de la imagen aquí

 En la estructura residual de 34 capas, se utilizan líneas continuas entre capas y líneas discontinuas para algunas capas. ¿Cual es la diferencia?

   

 

 Primero, las formas de la matriz de entrada y la matriz de salida de la parte de la línea continua son las mismas, por lo que se pueden sumar directamente, pero las formas de las matrices de entrada y salida conectadas por la línea de puntos son diferentes. Se puede obtener una comparación de las dos imágenes de la derecha: el tamaño de paso de la primera capa convolucional de 3 × 3 128 es 2, y la longitud de la matriz de entrada desde el principio es 56 hasta la longitud de la matriz de salida es 28, que se reduce a la mitad. Se realiza una operación de aumento de dimensión a través del kernel de convolución 128, de manera que la profundidad de la matriz de salida es 128. En la parte del atajo, se agrega un kernel de convolución 128 y el tamaño del paso también es 2. Al aumentar el kernel de convolución de este atajo, la longitud y el ancho de la matriz de entrada también se reducen a la mitad. Esta operación asegura que la matriz de salida de la línea principal sea la misma que la matriz de salida del atajo.

La dimensión de la matriz de entrada es [56, 56, 256] y la dimensión de la matriz de salida es [28, 28, 512]. En este caso, las capas correspondientes son 50, 101, 152. ¿Cómo funciona esto?

Para No-Try 1 de la primera capa convolucional, el conocimiento juega el papel de una dimensión general. Cambiar la profundidad de la matriz de entrada a 128 no cambia la altura y el ancho de la matriz de características. A través de la capa de convolución de 3 × 3 de la segunda capa, la longitud y el ancho del kernel de convolución de salida se reducen a la mitad del original. Se convierte en 28 × 28 × 128. Luego, la profundidad aumenta a través de la última capa convolucional de 1 × 1, desde el original 256 a 512

 Entonces, la función de la línea de puntos es cambiar la longitud, el ancho y la altura de la matriz de entrada. Para líneas sólidas no hay cambio. Entonces, para la primera capa de conv3, conv4, conv5 vale la pena la estructura punteada. La primera capa debe ajustar la longitud, el ancho y la altura de la matriz de características de la capa anterior a la longitud, el ancho y la altura requerida por la capa actual.

BN

Usando BN para acelerar el entrenamiento, usando este método no necesita usar el método Dropout. El propósito de BN es hacer que el valor medio de la matriz de características correspondiente a nuestros datos por lotes sea 0 y la varianza sea 1. Este método acelera el entrenamiento de la red i y mejora la precisión de la red i.

Antes, en el proceso de construcción de la red, los datos de la imagen se preprocesaron primero. Satisfaga una determinada ley de distribución, de modo que se pueda acelerar el entrenamiento de la red, y la capa de características obtenida por la imagen a través de la capa convolucional 1 no cumple necesariamente con una determinada distribución deseada. Entonces, el método de BN es ajustar la distribución de la capa de características (la capa de características de cada capa) para satisfacer la distribución con un valor medio de 0 y una varianza de 1.

Nota: BN es para ajustar la distribución de cada capa del mapa de características que ingresa un lote de datos, de modo que el mapa de características de cada capa pueda satisfacer la ley de distribución con un valor medio de 0 y una varianza de 1. No es para ajustar la distribución correspondiente a un determinado mapa de características.

La fórmula para el procesamiento de estandarización primero calcula el valor medio correspondiente a cada canal, y cada canal mencionado aquí se refiere a la media y la varianza de todos los datos en el mismo canal de un lote de datos. La tercera fórmula es el valor inicial obtenido por estandarización. La cuarta fórmula es un ajuste adicional \gamapara ajustar la varianza de los datos, \betaque se utiliza para ajustar el valor medio de los datos.Estos dos parámetros de aprendizaje se aprenden a través de la propagación hacia atrás. La media y la varianza se calculan y calculan en lotes.

El siguiente ejemplo será:

 Suponiendo que el tamaño del lote es 2, se obtienen dos matrices de características al ingresar dos imágenes: característica 1 y característica 2. Ahora, si el proceso BN se realiza en estas dos matrices de características, primero se calculan la media y la varianza. Se calcula el canal de todo el lote, la varianza y la media de 1. De la misma manera, el canal 2 es el mismo. La media y la varianza buscadas son vectores en lugar de un número. La dimensión del vector es la misma que la profundidad del canal. 1 corresponde al valor medio del canal 1 y 0,5 corresponde al valor medio del canal 2. El valor de la matriz de características después de BN se obtiene a través de la fórmula BN.

Supongo que te gusta

Origin blog.csdn.net/upupyon996deqing/article/details/124862680
Recomendado
Clasificación