Esta pregunta se reduce a "cómo funcionan exactamente las capas de convolución .
Supongamos que tengo una imagen en escala de grises . Entonces la imagen tiene un canal. En la primera capa, aplico una convolución de 3 × 3 con k 1 filtros y relleno. Luego tengo otra capa de convolución con 5 × 5 convoluciones y k 2 filtros. ¿Cuántos mapas de características tengo?
Convolución tipo 1
La primera capa se ejecuta. Después de eso, tengo mapas de características (uno para cada filtro). Cada uno de ellos tiene el tamaño n × m . Cada píxel se creó tomando 3 × 3 = 9 píxeles de la imagen de entrada acolchada.
Luego se aplica la segunda capa. Cada filtro se aplica por separado a cada uno de los mapas de características . Esto da como resultado mapas de funciones para cada uno de los mapas de funciones k 1 . Entonces, hay mapas de características k 1 × k 2 después de la segunda capa. Cada píxel de cada uno de los nuevos mapas de características se creó tomando 5 ⋅ 5 = 25 "píxeles" del mapa de características acolchado de antes.
El sistema tiene que aprender parámetros.
Convolución tipo 2.1
Como antes: la primera capa se ejecuta. Después de eso, tengo mapas de características (uno para cada filtro). Cada uno de ellos tiene el tamaño n × m . Cada píxel se creó tomando 3 × 3 = 9 píxeles de la imagen de entrada acolchada.
A diferencia de antes: luego se aplica la segunda capa. Cada filtro se aplica a la misma región, pero todos los mapas de características de antes. Esto resulta en mapas de características en total después de que se ejecutó la segunda capa. Cada píxel de cada uno de los nuevos mapas de características se creó tomando k 2 ⋅ 5 ⋅ 5 = 25 ⋅ k 2 "píxeles" de los mapas de características acolchados de antes.
El sistema tiene que aprender parámetros.
Convolución tipo 2.2
Pregunta
- ¿Se usa típicamente el tipo 1 o el tipo 2?
- ¿Qué tipo se usa en Alexnet ?
- ¿Qué tipo se usa en GoogLeNet ?
- Si dice tipo 2: explique el costo cuadrático ("Por ejemplo, en una red de visión profunda, si se encadenan dos capas convolucionales, cualquier aumento uniforme en el número de sus filtros resulta en un aumento cuadrático de cómputo")
Para todas las respuestas, proporcione alguna evidencia (documentos, libros de texto, documentación de marcos) de que su respuesta es correcta.
Pregunta extra 1
¿La agrupación se aplica siempre solo por mapa de características o también se realiza en múltiples mapas de características?
Pregunta extra 2
Mi investigación
- He leído los dos documentos de arriba, pero todavía no estoy seguro de qué se usa.
- He leído la documentación de lasaña
- He leído la documentación de Theano.
- He leído las respuestas sobre Comprender las redes neuronales convolucionales (sin seguir todos los enlaces)
- He leído Redes neuronales convolucionales (LeNet) . Especialmente la figura 1 me hace relativamente seguro de que el Tipo 2.1 es el correcto. Esto también encajaría con el comentario del "costo cuadrático" en GoogLe Net y con alguna experiencia práctica que tuve con Caffee.
fuente
Respuestas:
No estoy seguro acerca de las alternativas descritas anteriormente, pero la metodología comúnmente utilizada es:
Bono 1: la agrupación se realiza por mapa de características, por separado.
Bono 2: El orden de "deslizamiento" no importa. De hecho, cada salida se calcula en función de la capa anterior, por lo que las respuestas del filtro de salida no dependen unas de otras. Se pueden calcular en paralelo.
fuente
Acabo de luchar con esta misma pregunta durante unas horas. Pensé en compartir el insite que me ayudó a entenderlo.
La respuesta es que los filtros para la segunda capa convolucional no tienen la misma dimensionalidad que los filtros para la primera capa. En general, el filtro debe tener el mismo número de dimensiones que sus entradas . Entonces, en la primera capa conv, la entrada tiene 2 dimensiones (porque es una imagen). Por lo tanto, los filtros también tienen dos dimensiones. Si hay 20 filtros en la primera capa conv, la salida de la primera capa conv es una pila de 20 mapas de características 2D. Por lo tanto, la salida de la primera capa conv es tridimensional, donde el tamaño de la tercera dimensión es igual al número de filtros en la primera capa.
Ahora esta pila 3D forma la entrada a la segunda capa conv. Como la entrada a la segunda capa es 3D, los filtros también tienen que ser 3D. Haga que el tamaño de los filtros de la segunda capa en la tercera dimensión sea igual al número de mapas de características que fueron los resultados de la primera capa.
Ahora solo te involucras en las 2 primeras dimensiones; filas y columnas. Por lo tanto, la convolución de cada filtro de segunda capa con la pila de mapas de características (salida de la primera capa) produce un solo mapa de características.
El tamaño de la tercera dimensión de la salida de la segunda capa es, por lo tanto, igual al número de filtros en la segunda capa.
fuente
Mira esta conferencia y esta visualización
Por lo general, se utiliza convolución tipo 2.1. En la entrada tiene una imagen NxMx1, luego de la primera convolución obtendrá N_1xM_1xk_1, por lo que su imagen después de la primera convolución tendrá k_1 canales. La nueva dimensión N_1 y M_1 dependerá de su zancada S y relleno P: N_1 = (N - 3 + 2P) / S + 1, calcula M_1 en analogía. Para la primera capa conv tendrá 3x3xk_1 + k_1 pesos. Se agrega k_1 para sesgos en la función no lineal.
En la segunda capa tiene una imagen de entrada con tamaño N_1xM_1xk_1, donde k_1 es un nuevo número de canales. Y después de la segunda convolución, obtiene la imagen (matriz) N_2xM_2xk_2 Tiene 5x5xk_2xk_1 + k_2 parámetros en la segunda capa.
Para una convolución 1x1 con filtros k_3 y entrada NxMxC (C es el número de canales de entrada) obtendrá una nueva imagen (matriz) NxMxk_3, por lo que 1x1 tiene sentido. Fueron presentados en este documento
Bono 1: la agrupación se aplica por mapa de características.
Para obtener más información, consulte las diapositivas del curso CNN en Stanford: tiene una buena visualización de cómo se resume la convolución desde varios canales de entrada.
fuente
Es decir, los núcleos en una capa convolucional abarcan la profundidad de la salida de la capa anterior.
Especulación:
La pregunta extra 2 no es algo con lo que estoy familiarizado, pero supongo que el parámetro de profundidad en la convolución se convierte en una dimensión adicional.
fuente