¿Qué es una red neuronal convolucional?

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.

¿Cómo funcionan las redes neuronales convolucionales?

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.

Capas de las CNN

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.

CNN frente a redes neuronales tradicionales

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

CNN y visión artificial

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:

Clasificación de imágenes

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.

Detección de objetos

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.

Aplicaciones de las CNN

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:

  • Procesamiento de lenguaje natural: Las CNN pueden analizar texto tratando las oraciones como "imágenes" unidimensionales en las que cada palabra o carácter es un atributo. Esto les permite identificar patrones y relaciones en los datos de texto, lo que las hace útiles para tareas como el análisis de opiniones (clasificar el texto como positivo, negativo o neutro) y la traducción de idiomas (mapear oraciones de un idioma a otro).
  • Análisis de imágenes médicas: En el sector de la salud, las CNN se pueden entrenar con grandes conjuntos de datos de imágenes médicas (radiografías, resonancias magnéticas, tomografías computarizadas) para detectar patrones y anomalías sutiles que indiquen enfermedades. Esto puede ayudar a los radiólogos en tareas como detectar tumores en mamografías, identificar fracturas en radiografías o segmentar órganos en tomografías computarizadas, lo que mejora la precisión y eficiencia del diagnóstico, y ayuda en la planificación de tratamientos personalizados.
  • Descubrimiento de fármacos: Las CNN pueden acelerar el descubrimiento de fármacos analizando estructuras moleculares. A través del aprendizaje de las relaciones entre la estructura de una molécula y sus propiedades, las CNN pueden predecir la eficacia, la toxicidad y otras características de los posibles candidatos a fármacos. Este análisis "in silico" de vastas bibliotecas químicas puede reducir el tiempo y el costo asociados con los métodos tradicionales de descubrimiento de fármacos.
  • Modelado financiero: Gracias a su capacidad para analizar datos secuenciales, las CNN también pueden ser adecuadas para usos financieros. Las CNN tratan los datos financieros de series temporales (precios de acciones, tipos de cambio de divisas, indicadores económicos) como "imágenes" unidimensionales, lo que les permite identificar tendencias, patrones y anomalías que los métodos estadísticos tradicionales podrían pasar por alto. Esto puede ayudar a las instituciones financieras a tomar decisiones de inversión más fundamentadas, predecir la volatilidad del mercado y gestionar el riesgo de forma más eficaz.

Aprovecha las CNN con Google Cloud

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.

Da el siguiente paso

Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.

Google Cloud