¿Qué son las redes neuronales convolucionales?
Descubra cómo las redes neuronales convolucionales utilizan datos tridimensionales para tareas de clasificación de imágenes y reconocimiento de objetos
Suscríbase al boletín de IBM
Fondo negro y azul
¿Qué son las redes neuronales convolucionales?

Reiterando la información del artículo del Centro de aprendizaje Redes neuronales, estas son un subconjunto de aprendizaje automático y están en el centro de los algoritmos de aprendizaje profundo. Están compuestas de capas de nodos, que contienen una capa de entrada, una o más capas ocultas y una capa de salida. Cada nodo se conecta a otro y tiene un peso y umbral asociados. Si la salida de cualquier nodo individual está por encima del valor del umbral especificado, ese nodo se activa y envía datos a la siguiente capa de la red. De lo contrario, no se pasa ningún dato a la siguiente capa de la red.

Si bien nos enfocamos principalmente en redes de feedforward en ese artículo, existen varios tipos de redes neuronales que se utilizan para diferentes casos de uso y tipos de datos. Por ejemplo, las redes neuronales recurrentes se usan comúnmente para el procesamiento del lenguaje natural y el reconocimiento de voz, mientras que las redes neuronales convolucionales (ConvNets o CNN) se utilizan con mayor frecuencia para tareas de clasificación y visión artificial. Antes de las CNN, se usaban métodos manuales de extracción de características que consumían mucho tiempo a fin de identificar objetos en las imágenes. Ahora, las CNN proporcionan un enfoque más escalable para las tareas de clasificación de imágenes y reconocimiento de objetos, aprovechando principios del álgebra lineal, específicamente la multiplicación de matrices, para identificar patrones dentro de una imagen. Sin embargo, pueden ser muy exigentes desde el punto de vista informático, ya que requieren unidades de procesamiento gráfico (GPU) para entrenar los modelos.

¿Cómo funcionan las redes neuronales convolucionales?

Las CNN se distinguen de otras redes neuronales por su mejor desempeño con entradas de señal de imagen, voz o audio. Tienen tres tipos principales de capas, que son:

  • Capa convolucional
  • Capa de agrupamiento
  • Capa totalmente conectada (FC)

La capa convolucional es la primera capa de una red convolucional. Si bien a las capas convolucionales las pueden seguir capas convolucionales adicionales o capas agrupadas, la capa totalmente conectada es la capa final. Con cada capa, la CNN aumenta su complejidad, identificando mayores porciones de la imagen. Las primeras capas se enfocan en características simples, como colores y bordes. A medida que los datos de la imagen avanzan a través de las capas de CNN, se comienzan a reconocer elementos o formas más grandes del objeto, hasta que finalmente se identifica el objeto previsto.

Capa convolucional

La capa convolucional es el pilar central de una CNN, y es donde ocurre la mayor parte del cálculo. Requiere algunos componentes, que son datos de entrada, un filtro y un mapa de características. Supongamos que la entrada será una imagen en color, que se compone de una matriz de píxeles en 3D. Esto significa que la entrada tendrá tres dimensiones (altura, ancho y profundidad) que corresponden a RGB en una imagen. También hay un detector de características, conocido como kernel o filtro, que se moverá a través de los campos receptivos de la imagen, verificando si la característica está presente. Este proceso se conoce como convolución.

El detector de características es una matriz bidimensional (2-D) de pesos, que representa parte de la imagen. Aunque esto puede variar, el tamaño del filtro suele ser una matriz 3 x 3; esto también determina el tamaño del campo receptivo. Luego, el filtro se aplica a un área de la imagen y se calcula un producto de punto entre los píxeles de entrada y el filtro. Este producto de punto se introduce entonces en una matriz de salida. Después, el filtro cambia a pasos agigantados, repitiendo el proceso hasta que el kernel ha barrido toda la imagen. El resultado final de la serie de productos de puntos de la entrada y el filtro se conoce como mapa de características, mapa de activación o característica convolucionada.

Después de cada operación de convolución, una CNN aplica una transformación de Unidad lineal rectificada (ReLu) al mapa de características, introduciendo la no linealidad en el modelo.

Como se mencionó anteriormente, otra capa de convolución puede seguir a la capa de convolución inicial. Cuando esto sucede, la estructura de la CNN puede convertirse en jerárquica, ya que las capas posteriores pueden ver los píxeles dentro de los campos receptivos de las capas anteriores. Por ejemplo, supongamos que intentamos determinar si una imagen contiene una bicicleta. Pensemos en la bicicleta como una suma de partes. Está compuesta por una estructura, un manubrio, llantas, pedales, etc. Cada parte individual de la bicicleta constituye un patrón de nivel inferior en la red neuronal, y la combinación de sus piezas representa un patrón de nivel superior, creando una jerarquía de características dentro de la CNN.

Capa de agrupamiento

La agrupación de capas, también conocida como reducción de muestreo, reduce la dimensionalidad y, por lo tanto, el número de parámetros en la entrada. De manera similar a la capa convolucional, la operación de agrupación muestra un filtro en toda la entrada, pero la diferencia es que este filtro no tiene pesos. En cambio, el kernel aplica una función de agregación a los valores dentro del campo receptivo, poblando la matriz de salida. Hay dos tipos principales de agrupación:

  • Agrupación máxima: a medida que el filtro se mueve a través de la entrada, selecciona el píxel con el valor máximo para enviar a la matriz de salida. Como dato informativo, este enfoque tiende a usarse con más frecuencia en comparación con la agrupación promedio.
  • Agrupación promedio: a medida que el filtro se mueve a través de la entrada, calcula el valor promedio dentro del campo receptivo para enviarlo a la matriz de salida.

Aunque se pierde mucha información en la capa de agrupación, también tiene una serie de beneficios para la CNN. Ayuda a reducir la complejidad, mejorar la eficiencia y limitar el riesgo de sobreajuste. 

Capa totalmente conectada

El nombre de la capa totalmente conectada es claro. Como se mencionó antes, los valores de píxeles de la imagen de entrada no se conectan de manera directa a la capa de salida en capas parcialmente conectadas. Sin embargo, en la capa totalmente conectada, cada nodo de la capa de salida establece una conexión directa a un nodo en la capa anterior.

Esta capa realiza la tarea de clasificación basada en las características extraídas a través de las capas anteriores y sus diferentes filtros. Mientras que las capas convolucionales y agrupadas tienden a usar funciones ReLu, las capas FC suelen aprovechar una función de activación softmax para clasificar las entradas adecuadamente, produciendo una probabilidad de 0 a 1.

Tipos de redes neuronales convolucionales

Kunihiko Fukushima y Yann LeCun sentaron la base de la investigación en torno a redes neuronales convolucionales en su trabajo de 1980 (PDF, 1.1 MB) (enlace externo a IBM) y Backpropagation Applied to Handwritten Zip Code Recognition en 1989, respectivamente. Yann LeCun aplicó con éxito la propagación inversa para entrenar redes neuronales a fin de identificar y reconocer patrones dentro de una serie de códigos postales escritos a mano. Continuó su investigación con su equipo durante la década de los 90, que culminó con “LeNet-5”, que aplicaba los mismos principios de investigación previa al reconocimiento de documentos. Desde entonces, surgieron varias arquitecturas CNN variantes con la introducción de nuevos conjuntos de datos, como MNIST y CIFAR-10, así como competidores, como el ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Algunas de estas otras arquitecturas son:

  • AlexNet (PDF, 1.4 MB) (el enlace reside fuera de IBM)
  • VGGNet (PDF, 195 KB) (el enlace reside fuera de IBM)
  • GoogLeNet (PDF, 1.3 MB) (el enlace reside fuera de IBM)
  • ResNet (PDF, 800 KB) (el enlace reside fuera de IBM)
  • ZFNet

Sin embargo, LeNet-5 se conoce como la clásica arquitectura CNN.

Redes neuronales convolucionales y visión artificial

Las redes neuronales convolucionales impulsan el reconocimiento de imágenes y las tareas de visión artificial. La visión artificial es un campo de la inteligencia artificial (IA) que permite a los equipos y sistemas obtener información significativa de imágenes digitales, videos y otras entradas visuales, en función de las cuales puede actuar. Esta capacidad de proporcionar recomendaciones la distingue de las tareas de reconocimiento de imágenes. Algunas aplicaciones comunes de la visión artificial se pueden apreciar hoy en día en:

  • Marketing: las plataformas de redes sociales ofrecen sugerencias sobre quién podría estar en la fotografía que se ha publicado en un perfil, lo que facilita etiquetar a amigos en álbumes de fotos. 
  • Atención médica: la visión artificial se ha incorporado a la tecnología radiológica, lo que permite a los médicos identificar mejor tumores cancerosos en una anatomía saludable.
  • Retail: la búsqueda visual se ha incorporado a algunas plataformas de comercio electrónico, permitiendo a las marcas recomendar artículos que complementarían un guardarropa existente.   
  • Automotriz: si bien la era de los automóviles sin conductor aún no ha surgido, la tecnología subyacente ha comenzado a abrirse camino, mejorando la seguridad del conductor y los pasajeros a través de características como la detección de línea de carril.
Soluciones relacionadas
IBM SPSS Neural Networks

IBM SPSS Neural Networks puede ayudarle a descubrir relaciones complejas y obtener un mayor valor de sus datos.

Explore IBM SPSS Neural Networks
IBM Watson® Studio

Cree y amplíe la IA de confianza en cualquier nube. Automatice el ciclo de vida de la IA para ModelOps.

Más información sobre IBM Watson® Studio
Dé el siguiente paso

Durante décadas, IBM ha sido pionero en el desarrollo de tecnologías de IA y redes neuronales, destacadas por el desarrollo y la evolución de IBM Watson. Watson es ahora una solución confiable para las empresas que buscan aplicar técnicas avanzadas de reconocimiento visual y aprendizaje profundo a sus sistemas utilizando un enfoque por niveles comprobado para la adopción y la implementación de la IA.

Explore IBM Watson® Studio hoy mismo