Redes neuronales convolucionales
Fondo negro y azul
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.


¿Qué son las redes neuronales convolucionales?

Para reiterar sobre el artículo de Neural Networks Learn Hub, las redes neuronales son un subconjunto del machine learning y están en el corazón de los algoritmos de deep learning. Se componen de capas de nodo, 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 un umbral asociados. Si la salida de cualquier nodo individual está por encima del valor de umbral especificado, dicho nodo se activa, enviando datos a la siguiente capa de la red. De lo contrario, no se pasan datos a la siguiente capa de la red.

Si bien en ese artículo nos centramos principalmente en las redes de feedforward, 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 por computadora. Antes de las CNN, se utilizaban métodos manuales de extracción de características que consumían mucho tiempo para identificar objetos en imágenes. Sin embargo, las redes neuronales convolucionales ahora brindan un enfoque más escalable para las tareas de clasificación de imágenes y reconocimiento de objetos, aprovechando los principios del álgebra lineal, específicamente la multiplicación de matrices, para identificar patrones dentro de una imagen. Dicho esto, pueden ser computacionalmente exigentes y requieren unidades de procesamiento gráfico (GPU) para entrenar modelos. 


¿Cómo funcionan las redes neuronales convolucionales?

Las redes neuronales convolucionales se distinguen de otras redes neuronales por su rendimiento superior con entradas de señales de imagen, voz o audio. Tienen tres tipos principales de capas, que son:

  • Capa convolucional
  • Capa de agrupación
  • Capa completamente conectada (FC)

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

Capa convolucional

La capa convolucional es el bloque de construcción central de una CNN, y es donde ocurre la mayor parte de los cálculos. 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 está formada por 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 tenemos un detector de características, también 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. Si bien pueden variar en tamaño, el tamaño del filtro suele ser una matriz de 3x3; esto también determina el tamaño del campo receptivo. A continuación, el filtro se aplica a un área de la imagen y se calcula un producto escalar entre los píxeles de entrada y el filtro. Este producto escalar se alimenta luego a una matriz de salida. Luego, el filtro se desplaza a pasos agigantados, repitiendo el proceso hasta que el núcleo ha barrido toda la imagen. La salida final de la serie de productos escalares 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, lo que introduce la no linealidad en el modelo.

Como mencionamos anteriormente, otra capa de convolución puede seguir a la capa de convolución inicial. Cuando esto sucede, la estructura de la CNN puede volverse jerárquica, ya que las capas posteriores pueden ver los píxeles dentro de los campos receptivos de las capas anteriores.  Como ejemplo, supongamos que estamos tratando de determinar si una imagen contiene una bicicleta. Puede pensar en la bicicleta como una suma de partes. Se compone de cuadro, manillar, ruedas, pedales, etcétera. Cada parte individual de la bicicleta forma un patrón de nivel inferior en la red neuronal, y la combinación de sus partes representa un patrón de nivel superior, creando una jerarquía de características dentro de la CNN.

Capa de agrupación

La agrupación de capas, también conocida como submuestreo, lleva a cabo una reducción de dimensionalidad, lo que reduce el número de parámetros en la entrada. Similar a la capa convolucional, la operación de agrupación barre un filtro a través de toda la entrada, pero la diferencia es que este filtro no tiene ningún peso. En cambio, el kernel aplica una función de agregación a los valores dentro del campo receptivo, llenando 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 acotación al margen, 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.

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

Capa completamente conectada

El nombre de la capa totalmente conectada se describe a sí misma adecuadamente. Como se mencionó anteriormente, los valores de píxeles de la imagen de entrada no están conectados directamente a la capa de salida en capas parcialmente conectadas. Sin embargo, en la capa completamente conectada, cada nodo de la capa de salida se conecta directamente a un nodo de la capa anterior.

Esta capa realiza la tarea de clasificación en base a 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 usualmente aprovechan una función de activación softmax para clasificar las entradas de manera apropiada, produciendo una probabilidad de 0 a 1.


Tipos de redes neuronales convolucionales

Kunihiko Fukushima y Yann LeCun sentaron las bases de la investigación en torno a las redes neuronales convolucionales en su trabajo en 1980 (PDF, 1,1 MB) (enlace externo a IBM) y 1989 (PDF, 5,5 MB) (enlace externo a IBM), respectivamente. Más famoso, Yann LeCun aplicó con éxito la retropropagación para entrenar redes neuronales para identificar y reconocer patrones dentro de una serie de códigos postales escritos a mano. Continuaría su investigación con su equipo a lo largo de la década de 1990, culminando con "LeNet-5", (PDF, 933 KB) (enlace externo a IBM), que aplicó los mismos principios de la investigación previa al reconocimiento de documentos. Desde entonces, han surgido varias arquitecturas de CNN variantes con la introducción de nuevos conjuntos de datos, como MNIST y CIFAR-10, y concursos, como ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Algunas de estas otras arquitecturas incluyen:

  • AlexNet (PDF, 1,4 MB) (enlace externo a IBM)
  • VGGNet (PDF, 195 KB) (enlace externo a IBM)
  • GoogLeNet (PDF, 1,3 MB) (enlace externo a IBM)
  • ResNet (PDF, 800 KB) (enlace externo a IBM)
  • ZFNet

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


Redes neuronales convolucionales y visión por computadora

Las redes neuronales convolucionales potencian el reconocimiento de imágenes y las tareas de visión por computadora. Visión por computadora es un área de la IA que permite que las computadoras y los sistemas obtengan información significativa de imágenes digitales, videos y otras entradas visuales, y que actúen con base en ellas. Esta capacidad de proporcionar recomendaciones lo distingue de las tareas de reconocimiento de imágenes. Algunas aplicaciones comunes de esta visión por computadora hoy en día se pueden ver en:

  • Márketing: Las plataformas de redes sociales brindan sugerencias sobre quién podría aparecer en la fotografía que se ha publicado en un perfil, lo que facilita etiquetar amigos en álbumes de fotos. 
  • Cuidado de la salud: La visión por computadora se ha incorporado a la tecnología de radiología, lo que permite a los médicos identificar mejor los tumores cancerosos en una anatomía sana.
  • Venta minorista: La búsqueda visual se ha incorporado en algunas plataformas de comercio electrónico, lo que permite a las marcas recomendar artículos que complementarían un guardarropa existente.   
  • Automotor : Si bien la era de los automóviles sin conductor no ha surgido del todo, la tecnología subyacente ha comenzado a abrirse camino en los automóviles, mejorando la seguridad de los conductores y pasajeros a través de funciones como la detección de líneas de carril.

Redes neuronales convolucionales e IBM

Desde hace décadas, IBM ha sido pionera 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 empresas que buscan aplicar técnicas de procesamiento avanzado del lenguaje natural y deep learning a sus sistemas utilizando un enfoque escalonado probado para la adopción e implementación de IA.

IBM’s Watson Visual Recognition facilita la extracción de miles de etiquetas de las imágenes de su organización y la detección de contenido específico listo para usar. También puede crear modelos personalizados para detectar contenido específico en imágenes dentro de sus aplicaciones. Para obtener más información sobre cómo etiquetar, clasificar y buscar contenido visual de forma rápida y precisa mediante el machine learning, explore IBM Watson Visual Recognition.

Regístrese para obtener un ID de IBM (IBMid) y crear su cuenta de IBM Cloud

Soluciones relacionadas

IBM SPSS Neural Networks

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