¿Qué es una capa convolucional 1D en aprendizaje profundo?

13

Tengo una buena comprensión general del papel y el mecanismo de las capas convolucionales en Deep Learning para el procesamiento de imágenes en caso de implementaciones 2D o 3D: "simplemente" intentan capturar patrones 2D en imágenes (en 3 canales en caso de 3D).

Pero recientemente me topé con capas convolucionales 1D en el contexto del procesamiento del lenguaje natural, lo cual es una especie de sorpresa para mí, porque, en mi opinión, la convolución 2D se usa especialmente para atrapar patrones 2D que son imposibles de revelar en forma 1D (vector) de píxeles de imagen. ¿Cuál es la lógica detrás de la convolución 1D?

Hendrik
fuente

Respuestas:

16

En resumen, no hay nada especial sobre el número de dimensiones para convolución. Podría considerarse cualquier dimensionalidad de convolución, si encaja en un problema.

El número de dimensiones es una propiedad del problema que se está resolviendo. Por ejemplo, 1D para señales de audio, 2D para imágenes, 3D para películas. . .

Ignorando brevemente el número de dimensiones, las siguientes pueden considerarse fortalezas de una red neuronal convolucional (CNN), en comparación con los modelos completamente conectados, cuando se trata con ciertos tipos de datos:

  1. El uso de pesos compartidos para cada ubicación que procesa la convolución reduce significativamente la cantidad de parámetros que deben aprenderse, en comparación con los mismos datos procesados ​​a través de una red totalmente conectada.

  2. Los pesos compartidos son una forma de regularización.

  3. La estructura de un modelo convolucional hace fuertes suposiciones sobre las relaciones locales en los datos, que cuando son verdaderas lo hacen un buen ajuste al problema.

    3.1 Los patrones locales proporcionan buenos datos predictivos (y / o pueden combinarse de manera útil en patrones predictivos más complejos en capas superiores)

    3.2 Los tipos de patrones encontrados en los datos se pueden encontrar en múltiples lugares. Encontrar el mismo patrón en un conjunto diferente de puntos de datos es significativo.

Estas propiedades de las CNN son independientes del número de dimensiones. Las CNN unidimensionales funcionan con patrones en una dimensión y tienden a ser útiles en el análisis de señales sobre señales de longitud fija. Funcionan bien para el análisis de señales de audio, por ejemplo. También para algunos procesos de lenguaje natural, aunque las redes neuronales recurrentes, que permiten diferentes longitudes de secuencia, pueden encajar mejor allí, especialmente aquellas con arreglos de puerta de memoria como LSTM o GRU. Aún así, una CNN puede ser más fácil de administrar, y simplemente puede rellenar la entrada para que tenga una longitud fija.

Neil Slater
fuente
es 2D solo para imágenes en escala de grises? ¿Qué sucede cuando introduces RGB?
Mohammad Athar
1
@MohammadAthar: RGB se representa como canales (o mapas de características ) de información 2D separada, y generalmente se considera 2D también cuando se describen capas CNN. Si usara TensorFlow o Keras, definitivamente usaría una definición de capa Conv2D para manejar imágenes en color. Sin embargo, las implementaciones a menudo tendrán estructuras 3D y 4D internamente para almacenar los pesos. . . y una convolución 2D a través de múltiples canales es efectivamente un caso especial de una convolución 3D matemáticamente (donde las dimensiones de entrada y núcleo deben coincidir para la última capa). Así que esta es una convención de nombres tanto como cualquier otra cosa.
Neil Slater