Inicio
Topics
redes neuronales convolucionales
Las redes neuronales convolucionales utilizan datos tridimensionales para tareas de clasificación de imágenes y reconocimiento de objetos.
Las redes neuronales son un subconjunto del machine learning y son el núcleo de los algoritmos de deep learning. Se componen 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 un umbral asociados. Si la salida de cualquier nodo individual está por encima del valor umbral especificado, ese nodo se activa, enviando datos a la siguiente capa de la red. En caso contrario, no se envía ningún dato a la siguiente capa de la red.
Aunque en ese artículo nos centramos principalmente en las redes predictivas, existen varios tipos de redes neuronales que se utilizan para diferentes casos prácticos y tipos de datos. Por ejemplo, las redes neuronales recurrentes se suelen usar 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 computer vision. Antes de las CNN, se utilizaban métodos manuales de extracción de características que requerían mucho tiempo para identificar objetos en imágenes. Sin embargo, actualmente las redes neuronales convolucionales proporcionan un enfoque más escalable para las tareas de clasificación de imágenes y reconocimiento de objetos al aprovechar los principios del álgebra lineal, en concreto la multiplicación de matrices, para identificar patrones en una imagen. No obstante, estas redes pueden exigir un uso intensivo de recursos informáticos y requerir unidades de procesamiento gráfico (GPU) para entrenar los modelos.
Descubra el poder de integrar una estrategia basada en un lakehouse de datos en su arquitectura de datos, incluidas las mejoras para escalar la IA y las oportunidades de optimización de costos.
Las redes neuronales convolucionales se distinguen de otras redes neuronales por su rendimiento superior con entradas de imagen, voz o señales de audio. Se componen de tres tipos principales de capas:
La capa convolucional es la primera capa de una red convolucional. Si bien las capas convolucionales pueden ir seguidas de otras capas convolucionales o de capas de agrupación, la capa final es la capa totalmente conectada. Con cada capa, la CNN aumenta en complejidad, identificando partes cada vez más grandes de la imagen. Las primeras capas 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, la CNN comienza a reconocer elementos o formas más grandes hasta que finalmente identifica el objeto esperado.
La capa convolucional es el bloque de creación principal de una CNN, y es donde se realizan la mayoría de los cálculos. Requiere algunos componentes, como datos de entrada, un filtro y un mapa de características. Supongamos que la entrada es una imagen en color compuesta por una matriz de píxeles en 3D. Esto significa que la entrada tendrá tres dimensiones: altura, anchura y profundidad, que corresponden a la composición RGB en una imagen. También hay un detector de características, conocido como kernel o filtro, que se mueve por los campos receptivos de la imagen para comprobar si la característica está presente. Este proceso se denomina convolución.
El detector de características es una matriz bidimensional (2D) de pesos que representa una parte de la imagen. Aunque su tamaño puede variar, 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 introduce en una matriz de salida. Después, el filtro se desplaza un poco y repite el proceso hasta que el kernel haya recorrido toda la imagen. El resultado 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.
Observe que los pesos del detector de características permanecen fijos a medida que se desplaza por la imagen, lo que también se conoce como compartición de parámetros. Algunos parámetros, como los valores de peso, se ajustan durante el entrenamiento a través del proceso de retropropagación y descenso del gradiente. Sin embargo, hay tres hiperparámetros que afectan al tamaño del volumen de la salida y que deben configurarse antes de que comience el entrenamiento de la red neuronal. Entre ellos se incluyen:
1. El número de filtros afecta a la profundidad de la salida. Por ejemplo, tres filtros distintos producirían tres mapas de entidades diferentes, lo que crearía una profundidad de tres.
2. El stride es la distancia, o el número de píxeles, que el kernel mueve sobre la matriz de entrada. Aunque los valores de stride iguales o superiores a dos son poco frecuentes, un stride mayor produce una salida menor.
3. El zero-padding suele utilizarse cuando los filtros no se ajustan a la imagen de entrada. Esto pone a cero todos los elementos que quedan fuera de la matriz de entrada, produciendo una salida de mayor o igual tamaño. Existen tres tipos de padding:
Después de cada operación de convolución, la CNN aplica una transformación de unidad lineal rectificada (ReLU) al mapa de características, introduciendo la no linealidad en el modelo.
Como se ha mencionado anteriormente, la capa de convolución inicial puede ir seguida de otra capa de convolución. Cuando esto sucede, la estructura de la CNN puede volverse jerárquica, ya que las capas siguientes pueden ver los píxeles en los campos receptivos de las capas anteriores. Por ejemplo, supongamos que queremos determinar si una imagen contiene una bicicleta. Podemos considerar la bicicleta una suma de varias partes. Se compone de un cuadro, un manillar, ruedas, pedales, etc. Cada parte de la bicicleta forma un patrón de nivel inferior en la red neuronal, y la combinación de todas las partes representa un patrón de nivel superior, lo que crea una jerarquía de características dentro de la CNN. En última instancia, la capa convolucional convierte la imagen en valores numéricos, lo que permite a la red neuronal interpretar y extraer patrones relevantes.
La agrupación de capas, también conocida como submuestreo, permite reducir la dimensión mediante la reducción del número de parámetros de la entrada. De manera similar a la capa convolucional, la operación de agrupación barre toda la entrada con un filtro, pero la diferencia es que este filtro no tiene ningún peso. En su lugar, el kernel aplica una función de agregación a los valores dentro del campo receptivo y llena así la matriz de salida. Hay dos tipos principales de agrupación:
Aunque se pierde mucha información en la capa de agrupación, esta tiene una serie de beneficios para la CNN. Ayuda a reducir la complejidad, mejora la eficiencia y limita el riesgo de sobreajuste.
El nombre de la capa totalmente conectada describe con precisión la capa en sí. Como se ha mencionado anteriormente, los valores de píxel de la imagen de entrada no están conectados directamente con la capa de salida en las capas parcialmente conectadas. Sin embargo, en la capa totalmente conectada, cada nodo de la capa de salida sí está conectado directamente a un nodo de la capa anterior.
Esta capa realiza la tarea de clasificación basándose en las características extraídas de las capas anteriores y sus diferentes filtros. Las capas convolucionales y de agrupación suelen utilizar funciones ReLU, mientras que las capas totalmente conectadas generalmente usan una función de activación softmax para clasificar adecuadamente las entradas y generar una probabilidad entre 0 y 1.
Kunihiko Fukushima y Yann LeCun sentaron las bases de la investigación en torno a las redes neuronales convolucionales en sus trabajos de 1980 (enlace externo a ibm.com) y "Backpropagation Applied to Handwritten Zip Code Recognition" de 1989, respectivamente. Más conocido es el caso de Yann LeCun, que aplicó con éxito la retropropagación para entrenar redes neuronales que identificaran y reconocieran patrones en una serie de códigos postales escritos a mano. Continuó su investigación con su equipo durante la década de los noventa, culminando con "LeNet-5", que aplica los mismos principios de su investigación anterior para el reconocimiento de documentos. Desde entonces, han surgido diferentes arquitecturas de CNN con la introducción de nuevos conjuntos de datos, como MNIST y CIFAR-10, y también competiciones, como ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Estas otras arquitecturas incluyen:
Sin embargo, LeNet-5 se considera la arquitectura clásica de CNN.
Las redes neuronales convolucionales potencian las tareas de reconocimiento de imágenes y computer vision. La computer vision es un campo de la inteligencia artificial (IA) que permite a los ordenadores y los sistemas obtener información significativa de imágenes digitales, vídeos y otras entradas visuales, y tomar medidas basándose en esas entradas. Esta capacidad de proporcionar recomendaciones la distingue de las tareas de reconocimiento de imágenes. Hoy en día algunas aplicaciones habituales de esta computer vision pueden verse en:
IBM SPSS Neural Networks puede ayudarle a descubrir relaciones complejas y obtener más valor de sus datos.
Cree y escale una IA de confianza en cualquier cloud. Automatice el ciclo de vida de la IA para ModelOps.
Use Python para implementar una red simple que clasifique dígitos escritos a mano.
Explore los diferentes pasos para crear una red neuronal convolucional.
En este documento, la investigación de IBM propone que las redes neuronales doblemente convolucionales (DCNN) pueden mejorar significativamente el rendimiento de las CNN.
Los investigadores de IBM proponen un concepto novedoso de incrustación de partes profundas (DPE, por sus siglas en inglés) que se puede utilizar para entrenar nuevas redes neuronales convolucionales (CNN) de diferentes clases.
Ajuste de un modelo de detección de objetos preentrenado.