Inicio
Temas
redes neuronales convolucionales
Las redes neuronales son un subconjunto del 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.
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. Las redes neuronales son un subconjunto del aprendizaje automático, y están en el centro de los algoritmos de aprendizaje profundo.
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.
Descubra el poder de integrar una estrategia de data lakehouse (arquitectura que combina los beneficios de los data lakes [lagos de datos] y de los almacenes de datos) en su arquitectura de datos, incluyendo mejoras para escalar la IA y oportunidades de optimización de costos.
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:
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.
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.
Tenga en cuenta que los pesos en el detector de características permanecen fijos a medida que se mueve por la imagen, lo que también se conoce como intercambio de parámetros. Algunos parámetros, como los valores de peso, se ajustan durante el entrenamiento mediante el proceso de retropropagación y descenso de gradiente. Sin embargo, hay tres hiperparámetros que afectan el tamaño del volumen de la salida y que deben establecerse antes de que comience el entrenamiento de la red neuronal. Estos incluyen:
1. El número de filtros afecta la profundidad de la salida. Por ejemplo, tres filtros distintos producirían tres mapas de características diferentes, creando una profundidad de tres.
2. Stride es la distancia, o número de píxeles, que el núcleo se desplaza 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 se usa generalmente cuando los filtros no se ajustan a la imagen de entrada. De este modo, todos los elementos que quedan fuera de la matriz de entrada se ponen en cero, lo que produce una salida mayor o del mismo tamaño. Hay tres tipos de relleno:
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. 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 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:
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.
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.
Kunihiko Fukushima y Yann LeCun sentaron la base de la investigación en torno a redes neuronales neuronales convolucionales en su trabajo de 1980 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:
Sin embargo, LeNet-5 se conoce como la clásica arquitectura CNN.
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:
IBM SPSS Neural Networks puede ayudarle a descubrir relaciones complejas y obtener un mayor valor de sus datos.
Cree y amplíe la IA de confianza en cualquier nube. 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 implicados en la creación de una red neuronal convolucional.
En este documento, la investigación de IBM propone que las redes neuronales convolucionales dobles (DCNN) pueden mejorar significativamente el rendimiento de las CNN.
Los investigadores de IBM proponen un concepto novedoso de Deep Part Embeddings (DPE), que se puede utilizar para aprender nuevas redes neuronales convolucionales (CNN) para diferentes clases.
Ajuste un modelo de detección de objetos previamente capacitado.