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, la CNN aprende a "ver" el mundo identificando patrones en los datos visuales. Pero su principal fortaleza 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 escaneos 3D para medicina.
Las CNN procesan las imágenes de entrada pasándolas por varias capas. Las capas iniciales identifican atributos simples, como bordes y líneas, mientras que las capas más profundas reconocen patrones, formas y, por último, objetos completos más complejos. Este método de extracción jerárquica de atributos es lo que hace que las CNN sean tan eficaces para el reconocimiento de imágenes y otras tareas de visión artificial.
Piensa en una CNN como un equipo de especialistas que analizan una fotografía para identificar un objeto. Cada capa tiene un trabajo específico en la línea de ensamblaje de reconocimiento.
1. Capa convolucional: los analizadores de atributos
Este es el primer grupo de especialistas. A cada uno se le da un atributo único y simple para buscarlo, como un borde recto, una curva o un color específico. Deslizan una pequeña lupa (el "filtro") sobre toda la imagen y toman nota cada vez que encuentran el atributo asignado. Esto crea un conjunto de "mapas de atributos", que son esencialmente mapas de dónde se encuentran los atributos básicos.
2. Capa de activación (ReLU): el filtro de importancia
Después del análisis inicial, un administrador (la función ReLU) revisa los mapas de atributos. Su trabajo es mantener los indicadores sólidos y descartar los débiles. Introduce la no linealidad, lo que garantiza que solo las funciones más importantes y claramente identificadas se transmitan para su análisis posterior. Esto evita que el ruido entorpezca el proceso.
3. Capa de reducción: los resumidores
La capa de reducción actúa como un gerente regional. En lugar de analizar cada detalle, resume los hallazgos de pequeños segmentos del mapa de atributos. Por ejemplo, una capa de "reducción máxima" analizará un área de 2 × 2 de un mapa de atributos y solo informará el indicador más fuerte. Esto 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 sin importar dónde aparezca en el fotograma (un concepto llamado "invariancia traslacional").
4. Capa completamente conectada: el detective principal
Después de varias rondas de escaneo y resumen, los informes finales de atributos se pasan al detective principal. Esta capa analiza la combinación de alto nivel de las características ("tiene bigotes", "tiene orejas puntiagudas", "tiene textura de pelaje") 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". Luego, el resultado se pasa a una capa de salida final (como softmax) que proporciona una probabilidad para cada clasificación posible.
Si bien las redes neuronales convolucionales y 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 (CNN) | Redes neuronales tradicionales |
Arquitectura principal | Se componen de capas convolucionales, capas de activación, capas de agrupación y capas completamente conectadas | Consiste principalmente en capas conectadas por completo (densas) |
Tipo de datos de entrada | Ideales para datos estructurados en forma de cuadrícula (por ejemplo, imágenes, video, secuencias 1D como texto) | Flexible para varios tipos de datos, por lo general, datos tabulares o vectores acoplados |
Extracción de atributos | Aprenden automáticamente atributos jerárquicos (bordes, texturas, formas) a través de filtros | Aprenden atributos a través de conexiones directas, que suele ser menos eficaz en el aprendizaje de atributos espaciales |
Relaciones espaciales | Preservan y aprovechan explícitamente las relaciones espaciales (por ejemplo, la adyacencia de píxeles en las imágenes) | Tratan cada atributo de entrada de forma independiente; las relaciones espaciales se pierden si la entrada se acopla |
Uso compartido de parámetros | Sí, los pesos (filtros/kernels) se comparten en diferentes ubicaciones de la entrada | No, cada conexión tiene su propio peso único |
Cantidad de parámetros | Generalmente, menos parámetros debido al uso compartido de pesos y la reducción, especialmente para entradas con muchas dimensiones, como imágenes | Puede tener una gran cantidad de parámetros, en especial para entradas con muchas dimensiones |
Invariancia traslacional | Inherentemente buenas para reconocer atributos, sin importar su posición exacta en la entrada | Más sensibles a los cambios en los atributos de entrada, a menos que se entrenen explícitamente con datos aumentados |
Eficiencia de procesamiento | Más eficientes para datos de imagen o espaciales debido a la reducción de parámetros y las operaciones especializadas | Puede ser costoso en términos de procesamiento para entradas de alta dimensión debido a conexiones densas |
Aplicaciones principales | Clasificación de imágenes, detección de objetos, segmentación de imágenes, análisis de videos, imágenes médicas, algunas tareas de PLN | Clasificación/regresión de datos tabulares, reconocimiento de patrones sencillos, aproximación de funciones, algo de PLN |
Ventajas principales | Excelentes para datos visuales, aprenden atributos jerárquicos, invariancia traslacional, parámetros reducidos, menos propensas al sobreajuste en datos de imágenes | Flexibles para varios tipos de datos, buenas para datos tabulares no espaciales y más simples de entender conceptualmente para tareas básicas |
Limitaciones clave | Pueden ser complejas de diseñar; por lo general, requierern grandes conjuntos de datos para el entrenamiento y son menos eficaces para datos tabulares no espaciales | No son ideales para datos espaciales con muchas dimensiones, ignoran las relaciones espaciales, son propensas al sobreajuste con muchos parámetros en entradas complejas |
Función
Redes neuronales convolucionales (CNN)
Redes neuronales tradicionales
Arquitectura principal
Se componen de capas convolucionales, capas de activación, capas de agrupación y capas completamente conectadas
Consiste principalmente en capas conectadas por completo (densas)
Tipo de datos de entrada
Ideales para datos estructurados en forma de cuadrícula (por ejemplo, imágenes, video, secuencias 1D como texto)
Flexible para varios tipos de datos, por lo general, datos tabulares o vectores acoplados
Extracción de atributos
Aprenden automáticamente atributos jerárquicos (bordes, texturas, formas) a través de filtros
Aprenden atributos a través de conexiones directas, que suele ser menos eficaz en el aprendizaje de atributos espaciales
Relaciones espaciales
Preservan y aprovechan explícitamente las relaciones espaciales (por ejemplo, la adyacencia de píxeles en las imágenes)
Tratan cada atributo de entrada de forma independiente; las relaciones espaciales se pierden si la entrada se acopla
Uso compartido de parámetros
Sí, los pesos (filtros/kernels) se comparten en diferentes ubicaciones de la entrada
No, cada conexión tiene su propio peso único
Cantidad de parámetros
Generalmente, menos parámetros debido al uso compartido de pesos y la reducción, especialmente para entradas con muchas dimensiones, como imágenes
Puede tener una gran cantidad de parámetros, en especial para entradas con muchas dimensiones
Invariancia traslacional
Inherentemente buenas para reconocer atributos, sin importar su posición exacta en la entrada
Más sensibles a los cambios en los atributos de entrada, a menos que se entrenen explícitamente con datos aumentados
Eficiencia de procesamiento
Más eficientes para datos de imagen o espaciales debido a la reducción de parámetros y las operaciones especializadas
Puede ser costoso en términos de procesamiento para entradas de alta dimensión debido a conexiones densas
Aplicaciones principales
Clasificación de imágenes, detección de objetos, segmentación de imágenes, análisis de videos, imágenes médicas, algunas tareas de PLN
Clasificación/regresión de datos tabulares, reconocimiento de patrones sencillos, aproximación de funciones, algo de PLN
Ventajas principales
Excelentes para datos visuales, aprenden atributos jerárquicos, invariancia traslacional, parámetros reducidos, menos propensas al sobreajuste en datos de imágenes
Flexibles para varios tipos de datos, buenas para datos tabulares no espaciales y más simples de entender conceptualmente para tareas básicas
Limitaciones clave
Pueden ser complejas de diseñar; por lo general, requierern grandes conjuntos de datos para el entrenamiento y son menos eficaces para datos tabulares no espaciales
No son ideales para datos espaciales con muchas dimensiones, ignoran las relaciones espaciales, son propensas al sobreajuste con muchos parámetros en entradas complejas
Las CNN transformaron la visión artificial, lo que permite que las máquinas "vean" y comprendan imágenes con precisión. Su capacidad para aprender representaciones jerárquicas de datos visuales ha llevado a grandes avances en diversas tareas de visión artificial, como las siguientes:
La clasificación de imágenes, una tarea central de la visión artificial, implica etiquetar una imagen completa en función de su contenido. Las CNN se destacan en esto y logran los mejores resultados en conjuntos de datos como ImageNet. Su capacidad para aprender características complejas a partir de datos de píxeles sin procesar las hace muy eficaces para reconocer objetos, escenas y hasta emociones en imágenes.
La detección de objetos va más allá de la clasificación, ya que identifica objetos en una imagen y señala sus ubicaciones. Las CNN son vitales en los algoritmos de detección de objetos, lo que permite que aplicaciones como los vehículos autónomos perciban su entorno, que los robots naveguen 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 atributos las hace valiosas en diversas áreas, incluidas las siguientes:
Google Cloud proporciona un ecosistema completo para aplicar CNN, ya sea que necesites una solución lista para usar o una plataforma potente para crear la tuya.
Para capacidades de visión previamente entrenadas: Si necesitas agregar funciones de visión potentes a tu app sin crear un modelo desde cero, servicios como Vision AI proporcionan acceso a modelos basados en CNN a través de una API simple para tareas como la detección de objetos y el reconocimiento de texto. De manera similar, Document AI usa CNN para comprender y extraer datos de documentos complejos.
Para crear, entrenar e implementar modelos personalizados: Cuando necesites entrenar una CNN con tus propios datos, Vertex AI te proporciona una plataforma unificada. Administra todo el ciclo de vida del AA, desde la preparación y el entrenamiento de datos hasta la implementación y la supervisión de tus modelos de CNN personalizados a gran escala.
Para acelerar el entrenamiento de alto rendimiento: Entrenar CNN grandes y de vanguardia requiere mucha capacidad de procesamiento. Las Cloud TPU son aceleradores de hardware de diseño personalizado de Google creados específicamente para acelerar el entrenamiento de modelos de aprendizaje profundo, lo que te permite innovar más rápido.
Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.