¿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, 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.

¿Cómo funcionan las redes neuronales convolucionales?

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.

Las capas de las CNN

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.

CNN frente a redes neuronales tradicionales

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.

CNN y visión artificial

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:

Clasificación de imágenes

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.

Detección de objetos

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.

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 características las hace valiosas en diversas áreas, como las siguientes:

  • Procesamiento del lenguaje natural: las CNN pueden analizar texto tratando las frases como "imágenes" unidimensionales en las que cada palabra o carácter es una característica. Esto les permite identificar patrones y relaciones en los datos de texto, lo que los hace útiles para tareas como el análisis de opinión (clasificar el texto como positivo, negativo o neutro) y la traducción de idiomas (asignar frases de un idioma a otro).
  • Análisis de imágenes médicas: en el ámbito de la sanidad, las CNN se pueden entrenar con grandes conjuntos de datos de imágenes médicas (radiografías, resonancias magnéticas o tomografías computarizadas) para detectar patrones y anomalías sutiles que indiquen una enfermedad. 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, mejorando la precisión y la eficiencia del diagnóstico, y ayudando en la planificación de tratamientos personalizados.
  • Descubrimiento de fármacos: las CNN pueden acelerar el descubrimiento de fármacos analizando estructuras moleculares. Al aprender 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 posibles candidatos a fármacos. Este cribado "in silico" de grandes bibliotecas químicas puede reducir el tiempo y el coste asociados a 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 muy útiles en el ámbito financiero. Al tratar los datos financieros de series temporales (precios de acciones, tipos de cambio de divisas, indicadores económicos) como "imágenes" unidimensionales, las CNN pueden 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.

Ejecutar las CNN con Google Cloud

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.

Ve un paso más allá

Empieza a crear en Google Cloud con 300 USD en crédito gratis y más de 20 productos Always Free.

Google Cloud