Una red neuronal convolucional, o CNN, es una red neuronal que busca pequeños patrones locales y luego los combina en otros más grandes. En imágenes, las primeras capas suelen detectar bordes o esquinas, las capas intermedias detectan texturas o partes, y las capas más profundas usan esas señales para apoyar una predicción final.
La idea clave es compartir pesos. En lugar de aprender un peso distinto para cada par píxel-posición, una CNN reutiliza el mismo filtro pequeño en muchas posiciones. Eso la hace mucho más barata que una capa densa sobre la imagen sin procesar y le ayuda a detectar el mismo tipo de patrón en más de un lugar.
Qué hace una red neuronal convolucional
En una capa totalmente conectada, cada salida puede depender de todos los valores de entrada a la vez. Una CNN es más estructurada. Usa kernels pequeños, a menudo llamados filtros, que observan un parche local cada vez.
Para una entrada de un solo canal y un kernel , una entrada de salida puede escribirse como
Esta es la idea de suma ponderada local detrás de una capa convolucional. En muchas bibliotecas de aprendizaje automático, la operación implementada es técnicamente una correlación cruzada en lugar de una convolución matemática invertida, pero la intuición práctica es la misma: el kernel recorre la entrada y produce un mapa de características.
El mapa de características te dice dónde aparece con fuerza el patrón aprendido.
Por qué ayudan los filtros compartidos
Si el mismo borde vertical aparece cerca de la esquina superior izquierda de una imagen o cerca del centro, normalmente queremos que el modelo lo detecte en ambos casos. Una CNN lo permite al reutilizar los mismos parámetros del filtro en distintas posiciones.
Esto tiene dos efectos prácticos:
- Reduce el número de parámetros aprendidos en comparación con una capa densa sobre la imagen sin procesar.
- Favorece que la red detecte patrones locales recurrentes en lugar de memorizar una única posición fija.
Esa reutilización es una de las razones por las que las CNN se volvieron eficaces para tareas de imágenes.
Cómo es una arquitectura básica de CNN
Una CNN básica suele seguir este patrón:
- capa convolucional
- activación como ReLU
- pooling o reducción de resolución opcional
- más bloques convolucionales
- capa final de predicción
Las primeras capas suelen capturar estructura local simple. Las capas más profundas combinan esas respuestas en características más grandes y más específicas para la tarea.
El pooling no es obligatorio, pero cuando se usa, reduce las dimensiones espaciales para que las capas posteriores trabajen con una representación más compacta. Un ejemplo común es el max pooling, que conserva el valor más grande en cada región pequeña.
Si el stride es y el padding es , entonces una entrada de con un kernel de produce una salida de . Esta regla de tamaño es útil cuando compruebas si un ejemplo resuelto tiene sentido.
Ejemplo resuelto: cómo se crea un mapa de características en una CNN
Toma esta imagen de entrada de :
Usa este kernel de :
Supón stride y sin padding. Como la entrada es de y el kernel es de , la salida debe ser de . Cada entrada de salida es la suma de un parche de porque cada entrada del kernel vale .
El valor de salida superior izquierdo es
El parche un paso a la derecha es
así que
Al recorrer todas las posiciones válidas se obtiene
Esta salida es el mapa de características. Los valores grandes muestran dónde el kernel encontró una coincidencia fuerte. Aquí el filtro responde con más fuerza donde aparece un bloque brillante completo de .
Si ahora aplicas ReLU, nada cambia porque todas las entradas ya son no negativas. Si después usas max pooling de con stride , la salida agrupada pasa a ser
Eso no crea información nueva. Conserva las respuestas cercanas más fuertes y reduce la rejilla espacial.
Este ejemplo es simple, pero muestra con claridad el mecanismo central: un filtro se desliza, calcula sumas ponderadas locales y crea un mapa de dónde aparece un patrón.
Qué aprende una CNN durante el entrenamiento
El kernel de arriba fue elegido a mano, pero en una CNN real los valores del filtro se aprenden a partir de los datos. El entrenamiento ajusta esos valores para que los mapas de características resultantes sean útiles para la tarea.
Si la tarea es clasificación de imágenes, la red aprende filtros que ayudan a separar clases. Si la tarea es segmentación o detección, las capas posteriores se entrenan para esas salidas. El mecanismo básico es el mismo: propagación hacia delante, pérdida, backpropagation, actualización de parámetros.
Errores comunes al aprender CNN
Pensar que una CNN solo significa "clasificador de imágenes"
Las imágenes son el ejemplo estándar, pero las CNN en realidad tratan sobre estructura local y filtros compartidos. Si importan los valores cercanos, la misma idea puede ser útil más allá de las imágenes.
Suponer que el pooling siempre es obligatorio
Es común, no universal. Algunas arquitecturas reducen el tamaño espacial con convoluciones con stride en su lugar, y algunas conservan más detalle espacial durante más tiempo.
Ignorar el stride y el padding
El tamaño del mapa de características depende de estas decisiones. Si cambias el stride o el padding, cambias no solo la forma de la salida, sino también qué vecindarios locales puede ver cada unidad.
Tratar la capa como si fuera solo una fórmula
La fórmula de la convolución importa, pero la arquitectura también importa. Una CNN funciona porque la convolución, la activación, el apilamiento y el entrenamiento trabajan juntos.
Cuándo son útiles las redes neuronales convolucionales
Las CNN se usan mucho en tareas de visión por computador como clasificación de imágenes, detección de objetos y segmentación. También aparecen en algunos contextos de procesamiento de señales y secuencias donde los patrones locales son significativos.
Son especialmente útiles cuando la entrada tiene una estructura clara de rejilla o de vecindad ordenada. Si esa condición es débil, otra arquitectura puede encajar mejor.
Un modelo mental que facilita entender las CNN
Piensa en una CNN como un detector de patrones que empieza con cosas pequeñas y se vuelve más abstracto con la profundidad. Una capa pregunta: "¿Aparece aquí este patrón pequeño?" Las capas posteriores preguntan: "¿Se combinan estos patrones más simples en algo más significativo?"
Por eso las CNN se entienden mejor cuando te centras en los mapas de características, no solo en la palabra "convolución".
Prueba tu propia versión
Mantén la misma entrada, pero cambia el kernel a
Vuelve a calcular el mapa de características y observa qué regiones producen ahora respuestas positivas o negativas grandes. Ese pequeño cambio deja mucho más claro cómo distintos filtros detectan distintos patrones.
¿Necesitas ayuda con un problema?
Sube tu pregunta y obtén una solución verificada, paso a paso, en segundos.
Abrir GPAI Solver →