Una red neuronal convolucional (CNN) es un tipo de red neuronal artificial diseñada específicamente para analizar datos visuales. Inspirada en nuestro propio sistema visual, una CNN aprende a "ver" el mundo identificando patrones en datos visuales. Pero su principal ventaja no es solo ver imágenes, sino reconocer patrones en cualquier dato con una estructura similar a una cuadrícula, desde espectrogramas de audio hasta escáneres médicos en 3D.
Las CNN procesan las imágenes de entrada pasándolas por varias capas. Las primeras capas identifican características sencillas, como bordes y líneas, mientras que las capas más profundas reconocen patrones, formas y, finalmente, objetos completos más complejos. Este método de extracción de características de forma jerárquica es lo que hace que las CNN sean tan eficaces para el reconocimiento de imágenes y otras tareas de visión artificial.
Imagina que una CNN es un equipo de especialistas que analizan una fotografía para identificar un objeto. Cada capa tiene una tarea específica en una cadena de montaje de reconocimiento.
1. Capa convolucional: los escáneres de características
Este es el primer grupo de especialistas. A cada uno se le da una característica única y sencilla que buscar, como un borde recto, una curva o un color específico. Deslizan una pequeña lupa (el "filtro") por toda la imagen y toman nota cada vez que encuentran la característica que se les ha asignado. Esto crea un conjunto de "mapas de características", que son básicamente mapas de dónde se encuentran las características básicas.
2. Capa de activación (ReLU): el filtro de significación
Tras el escaneado inicial, un administrador (la función ReLU) revisa los mapas de características. Su función es sencilla: conservar las señales fuertes y descartar las débiles. Introduce la no linealidad, lo que garantiza que solo las funciones más importantes y claramente identificadas se pasen para su posterior análisis. De esta forma, se evita que el ruido interfiera en el proceso.
3. Capa de agrupación: los resumidores
La capa de agrupación actúa como un gestor regional. En lugar de analizar cada detalle, la capa de agrupación resume los hallazgos de pequeños parches del mapa de características. Por ejemplo, una capa de agrupamiento máximo examinará un área de 2x2 de un mapa de características y solo informará de la señal más fuerte. De esta forma, se reduce el tamaño general de los datos, lo que hace que la red sea más eficiente y la ayuda a reconocer un objeto independientemente de dónde aparezca en el fotograma (un concepto denominado "invariancia traslacional").
4. Capa totalmente conectada: el detective jefe
Tras varias rondas de escaneo y resumen, los informes finales de las funciones se entregan al detective jefe. Esta capa analiza la combinación de características de alto nivel ("tiene bigotes", "tiene orejas puntiagudas", "tiene textura de pelo") y toma la decisión final. Conecta todos los hallazgos resumidos para extraer una conclusión, como "Según todas las pruebas, el objeto de esta imagen es un gato". El resultado se pasa a una capa de salida final (como softmax) que da una probabilidad para cada clasificación posible.
Aunque tanto las redes neuronales convolucionales como las tradicionales están diseñadas para procesar datos y hacer predicciones, difieren significativamente en su arquitectura, aplicación y otras características clave.
Función | Redes neuronales convolucionales (CNNs) | Redes neuronales tradicionales |
Arquitectura principal | Está compuesta por capas convolucionales, capas de activación, capas de agrupación y capas totalmente conectadas. | Se compone principalmente de capas totalmente conectadas (densas). |
Tipo de datos de entrada | Es más adecuado para datos estructurados en forma de cuadrícula (por ejemplo, imágenes, vídeos o secuencias unidimensionales como texto). | Es flexible y se adapta a varios tipos de datos, normalmente datos tabulares o vectores aplanados. |
Extracción de características | Aprende automáticamente características jerárquicas (bordes, texturas, formas) mediante filtros. | Aprende características mediante conexiones directas, por lo que suele ser menos eficaz a la hora de aprender características espaciales. |
Relaciones espaciales | Conserva y aprovecha explícitamente las relaciones espaciales (por ejemplo, la adyacencia de píxeles en las imágenes). | Trata cada característica de entrada de forma independiente; las relaciones espaciales se pierden si la entrada se aplana. |
Compartir parámetros | Sí, los pesos (filtros o kernels) se comparten entre las diferentes ubicaciones de la entrada. | No, cada conexión tiene su propio peso único. |
Número de parámetros | Generalmente, tienen menos parámetros debido al uso compartido y la agrupación de volumen, sobre todo en el caso de las entradas de alta dimensión, como las imágenes. | Puede tener un número muy elevado de parámetros, sobre todo en el caso de las entradas de alta dimensión. |
Invariancia traslacional | Es intrínsecamente bueno para reconocer características independientemente de su posición exacta en la entrada. | Es más sensible a los cambios en las características de entrada, a menos que se entrene explícitamente con datos aumentados. |
Eficiencia computacional | Más eficiente para datos espaciales o de imagen, ya que tiene menos parámetros y operaciones especializadas. | Puede ser costosa a nivel computacional para entradas de alta dimensión debido a las conexiones densas. |
Aplicaciones principales | Clasificación de imágenes, detección de objetos, segmentación de imágenes, análisis de vídeo, imágenes médicas y algunas tareas de procesamiento del lenguaje natural | Clasificación o regresión de datos tabulares, reconocimiento de patrones simples, aproximación de funciones, procesamiento del lenguaje natural. |
Ventajas clave | Excelente para datos visuales, aprende características jerárquicas, invariancia traslacional, parámetros reducidos, menos propensa al sobreajuste en datos de imagen. | Es flexible para varios tipos de datos, adecuada para datos tabulares no espaciales y más sencilla de entender conceptualmente para tareas básicas. |
Limitaciones clave | Puede ser complejo de diseñar, normalmente requiere grandes conjuntos de datos para el entrenamiento y es menos eficaz para datos tabulares no espaciales. | No es ideal para datos espaciales de alta dimensión, ignora las relaciones espaciales y es propenso al sobreajuste con muchos parámetros en entradas complejas. |
Función
Redes neuronales convolucionales (CNNs)
Redes neuronales tradicionales
Arquitectura principal
Está compuesta por capas convolucionales, capas de activación, capas de agrupación y capas totalmente conectadas.
Se compone principalmente de capas totalmente conectadas (densas).
Tipo de datos de entrada
Es más adecuado para datos estructurados en forma de cuadrícula (por ejemplo, imágenes, vídeos o secuencias unidimensionales como texto).
Es flexible y se adapta a varios tipos de datos, normalmente datos tabulares o vectores aplanados.
Extracción de características
Aprende automáticamente características jerárquicas (bordes, texturas, formas) mediante filtros.
Aprende características mediante conexiones directas, por lo que suele ser menos eficaz a la hora de aprender características espaciales.
Relaciones espaciales
Conserva y aprovecha explícitamente las relaciones espaciales (por ejemplo, la adyacencia de píxeles en las imágenes).
Trata cada característica de entrada de forma independiente; las relaciones espaciales se pierden si la entrada se aplana.
Compartir parámetros
Sí, los pesos (filtros o kernels) se comparten entre las diferentes ubicaciones de la entrada.
No, cada conexión tiene su propio peso único.
Número de parámetros
Generalmente, tienen menos parámetros debido al uso compartido y la agrupación de volumen, sobre todo en el caso de las entradas de alta dimensión, como las imágenes.
Puede tener un número muy elevado de parámetros, sobre todo en el caso de las entradas de alta dimensión.
Invariancia traslacional
Es intrínsecamente bueno para reconocer características independientemente de su posición exacta en la entrada.
Es más sensible a los cambios en las características de entrada, a menos que se entrene explícitamente con datos aumentados.
Eficiencia computacional
Más eficiente para datos espaciales o de imagen, ya que tiene menos parámetros y operaciones especializadas.
Puede ser costosa a nivel computacional para entradas de alta dimensión debido a las conexiones densas.
Aplicaciones principales
Clasificación de imágenes, detección de objetos, segmentación de imágenes, análisis de vídeo, imágenes médicas y algunas tareas de procesamiento del lenguaje natural
Clasificación o regresión de datos tabulares, reconocimiento de patrones simples, aproximación de funciones, procesamiento del lenguaje natural.
Ventajas clave
Excelente para datos visuales, aprende características jerárquicas, invariancia traslacional, parámetros reducidos, menos propensa al sobreajuste en datos de imagen.
Es flexible para varios tipos de datos, adecuada para datos tabulares no espaciales y más sencilla de entender conceptualmente para tareas básicas.
Limitaciones clave
Puede ser complejo de diseñar, normalmente requiere grandes conjuntos de datos para el entrenamiento y es menos eficaz para datos tabulares no espaciales.
No es ideal para datos espaciales de alta dimensión, ignora las relaciones espaciales y es propenso al sobreajuste con muchos parámetros en entradas complejas.
Las CNN han transformado la visión artificial, permitiendo que las máquinas "vean" y comprendan las imágenes con precisión. Su capacidad para aprender representaciones jerárquicas de datos visuales ha supuesto un gran avance en diversas tareas de visión artificial, como las siguientes:
La clasificación de imágenes, una tarea fundamental de la visión artificial, consiste en etiquetar una imagen completa en función de su contenido. Las CNN destacan en esta tarea y consiguen resultados excelentes en conjuntos de datos como ImageNet. Su capacidad para aprender características complejas a partir de datos de píxeles brutos las hace muy eficaces a la hora de reconocer objetos, escenas e incluso emociones en las imágenes.
La detección de objetos va más allá de la clasificación, ya que identifica los objetos de una imagen y señala su ubicación. Las CNN son fundamentales en los algoritmos de detección de objetos, ya que permiten que aplicaciones como los coches autónomos perciban su entorno, que los robots se desplacen por entornos complejos y que los sistemas de seguridad detecten amenazas.
Las aplicaciones de las CNN van mucho más allá de las tareas relacionadas con imágenes. Su capacidad para aprender jerarquías espaciales de características las hace valiosas en diversas áreas, como las siguientes:
Google Cloud proporciona un ecosistema completo para aplicar CNN, tanto si necesitas una solución lista para usar como una plataforma potente para crear la tuya propia.
Para funciones de visión entrenadas previamente: si necesitas añadir funciones de visión potentes a tu aplicación sin tener que crear un modelo desde cero, servicios como Vision AI te permiten acceder a modelos basados en CNN a través de una API sencilla para tareas como la detección de objetos y el reconocimiento de texto. De forma similar, Document AI usa CNN para entender y extraer datos de documentos complejos.
Para crear, entrenar y desplegar modelos personalizados: cuando necesites entrenar una CNN con tus propios datos, Vertex AI te ofrece una plataforma unificada. Gestiona todo el ciclo de vida del aprendizaje automático, desde la preparación de los datos y el entrenamiento hasta el despliegue y la monitorización de tus modelos de CNN personalizados a escala.
Para acelerar el entrenamiento de alto rendimiento: entrenar redes neuronales convolucionales (CNN) grandes y de última generación requiere muchos recursos computacionales. Las TPU de Cloud son aceleradores por hardware diseñados a medida por Google específicamente para agilizar el entrenamiento de modelos de aprendizaje profundo, lo que te permite innovar más rápido.
Empieza a crear en Google Cloud con 300 USD en crédito gratis y más de 20 productos Always Free.