¿Qué es una red neuronal convolucional (CNN)?
Una red neuronal convolucional (CNN) es una red neuronalen el que la actividad de cada individuo neurona artificial se calcula mediante la llamada convolución. La convolución es un operador matemático que calcula una tercera función a partir de dos funciones. Este resultado puede verse como el producto matemático de las dos funciones. El concepto o algoritmo se utiliza principalmente en el campo del reconocimiento de imágenes, la Reconocimiento de voz así como en el llamado aprendizaje por refuerzo.
Mientras que el reconocimiento de imágenes y del habla pertenecen al ámbito de la Procesamiento del lenguaje natural (PLN)El aprendizaje por refuerzo es un método de aprendizaje automático que describe cómo el sistema es capaz de procesar el lenguaje humano. En este caso, el sistema aprender de forma autónoma una estrategia mediante la interacción con el entorno, lo que puede contribuir a la resolución de problemas. El comportamiento positivo/correcto se recompensa, el negativo/incorrecto se castiga.
La idea básica de una red neuronal convolucional se modeló a partir de los procesos del cerebro humano, más concretamente del córtex visual. Estas CNN pueden crearse, por ejemplo, en el lenguaje de programación Python con la ayuda de las bibliotecas del programa Keras o PyTorch, que proporcionan bibliotecas adecuadas para su creación y una interfaz con el marco. TensorFlow oferta. También con Matlab junto con Aprendizaje profundo Toolbox, se pueden crear, entrenar y aplicar CNN.
¿Cómo se estructura una CNN?
El El principio arquitectónico básico de una red neuronal convolucional es una capa convolucional seguida de una capa de agrupamiento.. Estas dos capas pueden repetirse tantas veces como se desee al calcular la salida. El modelo se completa con una capa totalmente conectada.
En primer paso, la entrada se convierte en forma de matriz. (utilizando el ejemplo de una imagen en forma de matriz tridimensional con las dimensiones anchura, altura y número de canales de color). En la capa convolucional, la actividad de las neuronas individuales se calcula mediante la convolución descrita. Las variables de entrada así determinadas se convierten en una salida mediante una función de activación, como en una red neuronal convencional. Normalmente se utiliza para ello un rectificador (función ReLu (Rectified Linear Unit)) o la función sigmoidea. Ambas son funciones no lineales y definidas como la parte positiva de su argumento. Esto significa que la salida es siempre mayor o igual que cero. Ambas funciones de activación están implementadas en las bibliotecas Keras o PyTorch, por ejemplo, y se pueden llamar a través de ellas. En el campo del reconocimiento de imágenes, la capa convolucional tiene la tarea de reconocer bordes, formas u otras características.
En el La siguiente capa de la red neuronal convolucional, la capa de agrupación o submuestreo, descarta la información superflua para reducir los datos y mejorar el rendimiento.. Por ejemplo, para el reconocimiento de imágenes basta con una localización aproximada de los objetos, mientras que la posición exacta no tiene mucha más utilidad. Los métodos aplicables para ello son, por ejemplo, max-pooling o mean-pooling. En este proceso de discretización, sólo se utilizan para el procesamiento posterior las neuronas más activas/máximas en áreas definidas de neuronas de la capa convolucional (por ejemplo, una matriz de 2×2), o las "neuronas más medias" en el caso de la agrupación de valores medios. En un sentido biológico, las dos capas pueden compararse con las zonas de la retina del ojo humano. Allí, en el campo receptivo, se produce una convergencia de un gran número de bastones y conos en unas pocas denominadas células ganglionares y una reducción de la avalancha de información y estímulos (inhibición lateral) para su posterior procesamiento.
En El último paso, la capa totalmente conectada, se utiliza para clasificar los datos.. Esta capa no suele diferir de un perceptrón multicapa de una red neuronal convencional. La clasificación o transformación en un vector unidimensional se realiza normalmente mediante una función softmax y de normalización, y los datos desembocan finalmente en una distribución de probabilidad.
¿Dónde se utilizan las redes neuronales convolucionales?
Las redes neuronales convolucionales se utilizan principalmente para en el campo del reconocimiento de imágenes, Reconocimiento de textosreconocimiento del habla y aprendizaje por refuerzo. Por ejemplo, el juego utiliza AlphaGo (una versión informática del juego de mesa Go) CNN para localizar las piezas del juego.
También Las redes neuronales convolucionales pueden utilizarse para detectar daños en caso de catástrofes naturales.detectando anomalías en el entorno o daños en los tejados de las casas, por ejemplo. Lo mismo ocurre en el campo médico para la detección de células cancerosas.
En el reconocimiento de texto, las CNN se utilizan para el reconocimiento de escritura a mano. sino también para la detección de características relevantes en imágenes como el código postal o el número de contrato en un documento o para el reconocimiento de matrículas de vehículos.