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 están en el corazón de los algoritmos de deep learning. Están compuestas por capas de nodos, que incluyen una capa de entrada, una o más capas ocultas y una capa de salida. Cada nodo está conectado 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 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.
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.
Las redes neuronales convolucionales se distinguen de otras redes neuronales por su rendimiento superior con entradas de señal de imagen, voz o 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 su complejidad, identificando mayores porciones 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 los 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 mediante el 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 ellas 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, puesto 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 diversas arquitecturas de CNN con la introducción de nuevos conjuntos de datos, como MNIST y CIFAR-10, y también competiciones similares a 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 visión artificial 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 asesoramiento la distingue de las actividades de reconocimiento de imágenes. Hoy en día, se pueden encontrar algunas aplicaciones comunes de la visión artificial en las siguientes áreas:
Conozca en profundidad las redes neuronales, sus funciones básicas y los fundamentos para construir una.
IBM Granite es nuestra familia de modelos de IA abiertos, eficaces y de confianza, adaptados a la empresa y optimizados para escalar sus aplicaciones de IA. Explore las opciones de idioma, código, series de tiempo y salvaguardas.
Hemos encuestado a 2000 organizaciones sobre sus iniciativas de IA para descubrir qué funciona, qué no y cómo puede adelantarse.
Aprenda a incorporar con confianza la IA generativa y el machine learning a su negocio.
Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com