En las redes neuronales artificiales , una capa convolucional es un tipo de capa de red que aplica una operación de convolución a la entrada. Las capas convolucionales son algunos de los componentes básicos de las redes neuronales convolucionales (CNN), una clase de red neuronal que se aplica con mayor frecuencia a imágenes, vídeo, audio y otros datos que poseen la propiedad de simetría traslacional uniforme . [ 1 ]
La operación de convolución en una capa convolucional consiste en deslizar una pequeña ventana (llamada núcleo o filtro) a través de los datos de entrada y calcular el producto escalar entre los valores del núcleo y la entrada en cada posición. Este proceso crea un mapa de características que representa las características detectadas en la entrada. [ 2 ]
Conceptos
Núcleo
Los kernels , también conocidos como filtros , son pequeñas matrices de pesos que se aprenden durante el proceso de entrenamiento. Cada kernel se encarga de detectar una característica específica en los datos de entrada. El tamaño del kernel es un hiperparámetro que afecta al comportamiento de la red.
Circunvolución
Para una entrada 2Dy un núcleo 2DLa operación de convolución 2D se puede expresar como:dóndeyson la altura y el ancho del núcleo, respectivamente.
Esto se generaliza inmediatamente a las convoluciones nD. Las convoluciones más utilizadas son las unidimensionales (para audio y texto), las bidimensionales (para imágenes) y las tridimensionales (para objetos espaciales y vídeos).
Paso
El paso determina cómo se mueve el núcleo a través de los datos de entrada. Un paso de 1 significa que el núcleo se desplaza un píxel a la vez, mientras que un paso mayor (por ejemplo, 2 o 3) produce una menor superposición entre las convoluciones y genera mapas de características de salida más pequeños.
Relleno
El relleno consiste en añadir píxeles adicionales alrededor de los bordes de los datos de entrada. Cumple dos propósitos principales:
- Preservación de las dimensiones espaciales: Sin relleno, cada convolución reduce el tamaño del mapa de características.
- Manejo de píxeles de borde: El relleno garantiza que los píxeles de borde reciban la misma importancia en el proceso de convolución.
Las estrategias de relleno más comunes incluyen:
- Sin relleno/relleno válido. Esta estrategia suele provocar que la salida se reduzca.
- Relleno idéntico: Cualquier método que garantice que el tamaño de salida sea el mismo que el de entrada es una estrategia de relleno idéntico.
- Relleno completo: Cualquier método que garantice que cada entrada se convolucione el mismo número de veces es una estrategia de relleno completo.
Los algoritmos de relleno comunes incluyen:
- Relleno de ceros: Añade entradas de cero a los bordes del campo de entrada.
- Relleno simétrico/reflejo/espejo: Refleja la matriz de entrada en el borde.
- Relleno circular: Recorre el array de entrada hasta el borde opuesto, como un toroide.
Los números exactos utilizados en las convoluciones son complicados, para lo cual remitimos a (Dumoulin y Visin, 2018) [ 3 ] para obtener más detalles.
Variantes
Estándar
La forma básica de convolución, tal como se describió anteriormente, donde cada núcleo se aplica a todo el volumen de entrada.
Separable en profundidad
La convolución separable en profundidad separa la convolución estándar en dos pasos: convolución en profundidad y convolución puntual . La convolución separable en profundidad descompone una única convolución estándar en dos convoluciones: una convolución en profundidad que filtra cada canal de entrada de forma independiente y una convolución puntual (convolución) que combina las salidas de la convolución en profundidad. Esta factorización reduce significativamente el costo computacional. [ 4 ]
Fue desarrollado por primera vez por Laurent Sifre durante una pasantía en Google Brain en 2013 como una variación arquitectónica de AlexNet para mejorar la velocidad de convergencia y el tamaño del modelo. [ 4 ]
Dilatado
La convolución dilatada , o convolución atrosa , introduce espacios entre los elementos del núcleo, lo que permite a la red capturar un campo receptivo más grande sin aumentar el tamaño del núcleo. [ 5 ] [ 6 ]
Transpuesto
La convolución transpuesta , también conocida como deconvolución , convolución con paso fraccional o convolución de sobremuestreo , es una convolución en la que el tensor de salida es mayor que el de entrada. Se utiliza frecuentemente en arquitecturas codificador-decodificador para el sobremuestreo. Se emplea en la generación de imágenes, la segmentación semántica y las tareas de superresolución .
Historia
El concepto de convolución en las redes neuronales se inspiró en la corteza visual de los cerebros biológicos. Los primeros trabajos de Hubel y Wiesel en la década de 1960 sobre el sistema visual del gato sentaron las bases para las redes de convolución artificiales. [ 7 ]
Una de las primeras redes neuronales convolucionales fue desarrollada por Kunihiko Fukushima en 1969. Tenía núcleos diseñados principalmente a mano, inspirados en las convoluciones de la visión de los mamíferos. [ 8 ] En 1979 la mejoró hasta convertirla en el Neocognitron , que aprende todos los núcleos convolucionales mediante aprendizaje no supervisado (en su terminología, " autoorganizado mediante 'aprendizaje sin un maestro'"). [ 9 ] [ 10 ]
Durante el período de 1988 a 1998, Yann LeCun et al. introdujeron una serie de CNN , culminando con LeNet-5 en 1998. Fue una de las primeras arquitecturas de CNN influyentes para el reconocimiento de dígitos escritos a mano, entrenada con el conjunto de datos MNIST , y se utilizó en ATM . [ 11 ]
( Olshausen y Field, 1996) [ 12 ] descubrieron que las células simples en la corteza visual primaria de los mamíferos implementan campos receptivos localizados, orientados y de paso de banda, que podrían recrearse ajustando códigos lineales dispersos para escenas naturales. Posteriormente se descubrió que esto también ocurre en los núcleos de nivel más bajo de las CNN entrenadas. [ 13 ] : Fig. 3
El campo experimentó un resurgimiento en la década de 2010 con el desarrollo de arquitecturas más profundas y la disponibilidad de grandes conjuntos de datos y potentes GPU. AlexNet , desarrollado por Alex Krizhevsky et al. en 2012, fue un evento catalizador en el aprendizaje profundo moderno . [ 13 ] [ 14 ] En la competición ImageNet de ese año , el modelo AlexNet logró una tasa de error top-5 del 16 %, superando significativamente a la siguiente mejor entrada, que tuvo una tasa de error del 26 %. La red utilizó ocho capas entrenables, aproximadamente 650 000 neuronas y alrededor de 60 millones de parámetros, lo que destaca el impacto de las arquitecturas más profundas y la aceleración por GPU en el rendimiento del reconocimiento de imágenes . [ 14 ]
A partir de la competición ImageNet de 2013, la mayoría de las propuestas adoptaron redes neuronales convolucionales profundas, basándose en el éxito de AlexNet. En los años siguientes, el rendimiento mejoró progresivamente, y la tasa de error de los cinco primeros puestos disminuyó del 16 % en 2012 y del 12 % en 2013 a menos del 3 % en 2017, a medida que las redes se volvían cada vez más profundas. [ 14 ]
Véase también
Referencias
- ↑ Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron (2016). Aprendizaje profundo . Cambridge, MA: MIT Press. págs. 326–366 . ISBN 978-0262035613.
- ↑ Zhang, Aston; Lipton, Zachary; Li, Mu; Smola, Alexander J. (2024). "7.2. Convoluciones para imágenes" . Sumérgete en el aprendizaje profundo . Cambridge, Nueva York, Puerto Rico, Melbourne, Nueva Delhi, Singapur: Cambridge University Press. ISBN 978-1-009-38943-3.
- ↑ Dumoulin, Vincent; Visin, Francesco (2016). "Una guía para la aritmética de convolución para el aprendizaje profundo". arXiv : 1603.07285 [ stat.ML ].
- 1 2 Chollet, François (2017). "Xception: Deep Learning with Depthwise Separable Convolutions" . 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) . pp. 1800–1807 . arXiv : 1610.02357 . doi : 10.1109/CVPR.2017.195 . ISBN 978-1-5386-0457-1.
- ↑ Yu, Fisher; Koltun, Vladlen (2016). "Agregación de contexto multiescala mediante convoluciones dilatadas". Iclr 2016 . arXiv : 1511.07122 .
- ↑ Chen, Liang-Chieh; Papandreou, George; Kokkinos, Iasonas; Murphy, Kevin; Yuille, Alan L. (2018-04-01). "DeepLab: Segmentación semántica de imágenes con redes neuronales convolucionales profundas, convolución atrous y CRF totalmente conectados". IEEE Transactions on Pattern Analysis and Machine Intelligence . 40 (4): 834– 848. arXiv : 1606.00915 . Bibcode : 2018ITPAM..40..834C . doi : 10.1109/TPAMI.2017.2699184 . ISSN 0162-8828 . PMID 28463186 .
- ↑ Hubel, DH; Wiesel, TN (1968). "Campos receptivos y arquitectura funcional de la corteza estriada del mono" . The Journal of Physiology . 195 (1): 215– 243. doi : 10.1113/jphysiol.1968.sp008455 . PMC 1557912. PMID 4966457 .
- ↑ Fukushima, Kunihiko (1969). "Extracción de características visuales mediante una red multicapa de elementos de umbral analógicos". IEEE Transactions on Systems Science and Cybernetics . 5 (4): 322– 333. doi : 10.1109/TSSC.1969.300225 . ISSN 0536-1567 .
- ^ Fukushima, Kunihiko (octubre de 1979). "位置ずれに影響されないパターン認識機構の神経回路のモデル --- ネオコグニトロン ---" [ Modelo de red neuronal para un mecanismo de reconocimiento de patrones que no se ve afectado por el cambio de posición - Neocognitron - ] . Trans. IECE (en japonés). J62-A (10): 658–665 .
- ↑ Fukushima, Kunihiko (1980). "Neocognitron: Un modelo de red neuronal autoorganizada para un mecanismo de reconocimiento de patrones que no se ve afectado por el cambio de posición" . Cibernética Biológica . 36 (4): 193–202 . doi : 10.1007/BF00344251 . PMID 7370364 .
- ↑ LeCun, Yann; Bottou, Léon; Bengio, Yoshua; Haffner, Patrick (1998). "Aprendizaje basado en gradientes aplicado al reconocimiento de documentos". Actas del IEEE . 86 (11): 2278– 2324. doi : 10.1109/5.726791 .
- ↑ Olshausen, Bruno A.; Field, David J. (junio de 1996). "Surgimiento de propiedades de campo receptivo de células simples mediante el aprendizaje de un código disperso para imágenes naturales" . Nature . 381 (6583): 607– 609. Bibcode : 1996Natur.381..607O . doi : 10.1038/381607a0 . ISSN 1476-4687 . PMID 8637596 .
- 1 2 Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E (2012). "Clasificación de ImageNet con redes neuronales convolucionales profundas" . Avances en sistemas de procesamiento de información neuronal . 25. Curran Associates, Inc.
- 1 2 3 "Cómo las computadoras se volvieron sorprendentemente buenas en el reconocimiento de imágenes" . Ars Technica . 18 de diciembre de 2018. Consultado el 21 de marzo de 2025 .
- Redes neuronales artificiales
- visión por computadora
- Aprendizaje profundo