Cálculo y configuración de parámetros de capa convolucional.

Cálculo y configuración de dimensiones de capa convolucional

Estructura de convolución

Estructura CNN:

Entrada (capa de entrada)----> Conv (convolución)---->Relu (activación)---->Pool (agrupación)---->FC (conexión completa)

Introducción a los parámetros de la capa de entrada:

  1. tamaño_lote: equivalente al número de muestras para una sesión de entrenamiento
  2. peso/alto: ancho y alto de la imagen
  3. canales: el número de canales de imagen, 1 es blanco y negro, 3 es RGB

Introducción a los parámetros de la capa convolucional:

  1. filtro = núcleo de convolución (1x1,3x3,5x5)
  2. mapa de características = resultado de salida obtenido después de la convolución
  3. peso/altura: tamaño del núcleo de convolución
  4. in_channel: igual al número de canales de la imagen de entrada (esto se puede configurar según sus propias necesidades)
  5. out_channel: igual al número de canales de salida
  6. relleno: valor de relleno, agregue una cierta cantidad de filas y columnas a cada lado del mapa de características de entrada, de modo que la longitud y el ancho del mapa de características de salida = la longitud y el ancho del mapa de características de entrada
  7. Zancada: tamaño del paso, el intervalo de muestreo del núcleo de convolución a través del mapa de características de entrada

Fórmula de cálculo de convolución:
N tamaño de salida = (W tamaño de entrada − Filtro + 2Padding)/Stride+1
Fórmula de cálculo de deconvolución:
N tamaño de salida = (W tamaño de entrada − 1)*Stride+Filter - 2 *Relleno
Nota: El volumen del producto está redondeado hacia abajo y la agrupación se redondea hacia arriba.

Introducción a los parámetros de la capa de agrupación:

  1. Filtro: tamaño del núcleo de convolución
  2. Zancada: tamaño del paso, el intervalo de muestreo del núcleo de convolución a través del mapa de características de entrada

Fórmula de cálculo de agrupación:
tamaño de salida = (tamaño de entrada - Filtro)/Paso+1

Función:
maxpooling tiene invariancia local y puede extraer características significativas al mismo tiempo que reduce los parámetros del modelo, reduciendo así el sobreajuste del modelo.
Debido a que solo se extraen características significativas y se descarta información insignificante, los parámetros del modelo se reducen, lo que puede aliviar la aparición de sobreajuste hasta cierto punto.

¿Cómo elegir el tamaño, el número y el número de capas del núcleo de convolución?

1. Tamaño del núcleo de convolución:

En teoría, el tamaño del núcleo de convolución puede ser arbitrario, pero la mayoría de los núcleos de convolución utilizados en CNN son cuadrados de tamaño impar, como 1x1, 3x3, 5x5, 7x7, 11x11, etc., y también hay convoluciones rectangulares. , como 3x3 en Inceptionv3 se convierten en 1x3 y 3x1.
¿Por qué los núcleos de convolución de CNN son generalmente cuadrados y no rectangulares?

La selección de tamaño es generalmente más de 3x3, cuanto más pequeña mejor, lo que reduce la cantidad de parámetros y la complejidad. Varios núcleos de convolución pequeños son mejores que un núcleo de convolución grande por dos razones:

1. Se redujo la cantidad de parámetros
2.3 Núcleos de convolución 3x3 = 1 núcleo de convolución 7x7 = 1 núcleo de convolución 5x5

Tome Mnist como ejemplo, la imagen es 28x28, use un núcleo de convolución de 5x5, paso = 1 para convolucionarlo, Resultado = (28-5) / 1 + 1 = 24 use dos núcleos de convolución de 3x3: (28-3)
/
1 +1=26
(26-3)/ 1+1=24
Insertar descripción de la imagen aquí

2. Número de núcleos de convolución

Es igual al número de canales del mapa de características de salida. Cuanto mayor es el número de núcleos de convolución, más tipos de características se extraen. Generalmente es 2 ^ n, que se multiplica por un múltiplo de 16 .

3. Número de capas convolucionales

Para establecer el número de capas de convolución, elija el modelo con mejor rendimiento y establezca cuántas capas tiene. Esto está influenciado por muchos aspectos, como los datos de entrenamiento, la función de activación, el algoritmo de actualización de gradiente, etc., y no se puede encontrar simplemente probándolo.

4. Selección de relleno

Refiriéndose a un ppt, encontré:
Insertar descripción de la imagen aquí

Cuando el núcleo de convolución es 3, se selecciona el relleno.
Cuando el núcleo de convolución es 5, se selecciona el relleno.
Cuando el núcleo de convolución es 7, se selecciona el relleno. Seleccione 3.
Lo anterior son solo configuraciones en principio. De hecho, es mejor configurar los parámetros según el modelo, después de todo, todos los ajustes de parámetros han sido optimizados. . . .

5.Selección de zancada

El tamaño del paso generalmente no excede el ancho o la longitud del núcleo de convolución. Cuando el tamaño del paso es mayor que 1, se produce un efecto de reducción de resolución. Por ejemplo, cuando el tamaño del paso es 2, se puede reducir el tamaño del mapa de características. por la mitad.

Ejemplos de parámetros de LeNet

Insertar descripción de la imagen aquí

Ejemplos de parámetros AlexNet

Insertar descripción de la imagen aquí

Ejemplos de parámetros VGG

Insertar descripción de la imagen aquí

Referencia

1. ¿Cómo se determinan el tamaño del núcleo de convolución, el número de capas convolucionales y el número de mapas en cada capa de la red neuronal convolucional?
2. Comprensión detallada de la zancada y el relleno en CNN
3. Cálculo de parámetros de la red neuronal convolucional
4. Explicación detallada de la configuración de cada capa convolucional y cálculo del tamaño de salida en la red neuronal convolucional

Supongo que te gusta

Origin blog.csdn.net/qq_42740834/article/details/123757816
Recomendado
Clasificación