¿Qué hace el paso de convolución en una red neuronal convolucional?

16

Estoy estudiando redes neuronales convolucionales (CNN) debido a sus aplicaciones en visión por computadora. Ya estoy familiarizado con las redes neuronales estándar de alimentación hacia adelante, por lo que espero que algunas personas aquí puedan ayudarme a dar un paso adicional para comprender las CNN. Esto es lo que pienso sobre las CNN:

  1. En los NN de alimentación hacia adelante tradicionales, tenemos datos de entrenamiento en los que cada elemento consiste en un vector de características que ingresamos al NN en la "capa de entrada", por lo que con el reconocimiento de imágenes, podríamos hacer que cada píxel sea una entrada. Esos son nuestros vectores de características. Alternativamente, podríamos crear manualmente otros vectores de características, probablemente más pequeños.
  2. La ventaja de la CNN es que puede generar vectores de características más fuertes que son más invariables para la distorsión y la posición de la imagen. Como muestra la siguiente imagen (de este tutorial ), los CNN generan mapas de características que luego se alimentan a una red neuronal estándar (por lo que realmente es un paso de preprocesamiento gigante).

ingrese la descripción de la imagen aquí

  1. La forma en que obtenemos esas "mejores" características es alternando convolución y submuestreo. Entiendo cómo funciona el submuestreo. Para cada mapa de características, solo tome un subconjunto de los píxeles, o podemos promediar los valores de píxeles.

Pero lo que más me confunde es cómo funciona el paso de convolución. Estoy familiarizado con las convoluciones de la teoría de probabilidad (densidad para la suma de dos variables aleatorias), pero ¿cómo funcionan en las CNN y por qué son efectivas?

Mi pregunta es similar a esta, pero en particular, no estoy seguro de por qué funciona el primer paso de convolución.

Científico de la computación
fuente

Respuestas:

16

Primero trataré de compartir algo de intuición detrás de CNN y luego comentaré los temas particulares que enumeró.

Las capas de convolución y submuestreo en un CNN no son diferentes de las capas ocultas en un MLP común, es decir, su función es extraer características de su entrada. Estas características se entregan a la siguiente capa oculta para extraer características aún más complejas, o directamente a un clasificador estándar para generar la predicción final (generalmente un Softmax, pero también se puede usar SVM o cualquier otro). En el contexto del reconocimiento de imágenes, estas características son imágenes tratadas, como patrones de trazo en las capas inferiores y partes de objetos en las capas superiores.

En imágenes naturales, estas características tienden a ser las mismas en todas las ubicaciones. Reconocer un cierto patrón de trazo en el medio de las imágenes será tan útil como reconocerlo cerca de los bordes. Entonces, ¿por qué no replicamos las capas ocultas y conectamos varias copias en todas las regiones de la imagen de entrada, para que se puedan detectar las mismas características en cualquier lugar? Es exactamente lo que hace una CNN, pero de manera eficiente. Después de la replicación (el paso de "convolución") agregamos un paso de submuestra, que puede implementarse de muchas maneras, pero no es más que una submuestra. En teoría, este paso podría incluso eliminarse, pero en la práctica es esencial para permitir que el problema siga siendo manejable.

Así:

  1. Correcto.
  2. Como se explicó anteriormente, las capas ocultas de una CNN son extractores de características como en un MLP normal. Los pasos alternos de convolución y submuestreo se realizan durante el entrenamiento y la clasificación, por lo que no se realizan "antes" del procesamiento real. No los llamaría "preprocesamiento", de la misma manera que las capas ocultas de un MLP no se llaman así.
  3. Correcto.

3×35 5×5 5

ingrese la descripción de la imagen aquí

9 características convolucionadas. Si tuviéramos un mayor número de unidades en la capa oculta, estaría claro por qué se requiere el paso de submuestreo después de esto.

Los siguientes pasos de convolución y submuestreo se basan en el mismo principio, pero se calculan sobre las características extraídas en la capa anterior, en lugar de los píxeles sin procesar de la imagen original.

Saul Berardo
fuente
Gracias por la aclaración. Comprobaré el tutorial que mencionaste.
ComputerScientist
Muy buenos gráficos ilustrativos. Ver el trabajo de referencia: M. Egmont-Petersen, D. de Ridder, H. Handels. Procesamiento de imágenes con redes neuronales: una revisión, Pattern Recognition, vol. 35, N ° 10, págs. 2279-2301, 2002
Match Maker EE
Cuatro años después y ahora trabajo con CNN casi todos los días. Esta publicación de @Saul Berardo realmente me ayudó a encontrar el camino correcto :)
ComputerScientist
1

No tengo idea de lo que quieres decir con "por qué funciona el primer paso de convolución". Para que una CNN tenga éxito, necesita tener muchas capas. Una de las ideas fundamentales detrás de CNN y muchos otros enfoques de aprendizaje profundo es que las señales más grandes pueden identificarse mediante la correlación espacial de sus partes más pequeñas que pueden estar escasamente representadas. En otras palabras, las imágenes pueden parecer complejas, pero están hechas de una combinación de solo unas pocas partes básicas. Para la visión por computadora, la estructura de la línea de base en las imágenes generalmente se compone de bordes y esquinas. CNN intenta explotar la escasez de la estructura en una imagen buscando estructuras localizadas comunes. Eso es lo que la primera capa de la CNN está tratando de determinar. Piense en una convolución como un filtro de coincidencia que busca señales que coincidan con una plantilla específica. Lo bien que funcione depende de los datos disponibles. Afortunadamente, el mundo está lleno de repetición a pequeña escala, por lo que CNN funciona bien para las tareas de visión por computadora.

SimpleLikeAnEgg
fuente
Sí, creo que esa es la idea general. No estaba claro en mi pregunta original, pero me preguntaba por qué funcionaban las matemáticas, es decir, por qué la propiedad de convolución en sí misma permite que la primera capa encuentre esas partes pequeñas.
Informático
1
Lea más sobre convolución y filtrado combinado. Cuando el núcleo de convolución coincide con la señal, da el mayor rendimiento.
SimpleLikeAnEgg