Una red neuronal consta de un conjunto de neuronas
artificiales conectadas de una manera concreta y están
organizadas en grupos llamados capas, las cuales a su vez están
interconectadas secuencialmente. Cada neurona artificial procesa la
información recibida y luego emite un resultado que es transformado por
medio de una función de activación generando
una salida. Durante la fase de entrenamiento de la red neuronal, los
parámetros que afectan a la entrada de cada
neurona son reajustados con el propósito de adaptar la red a una tarea
concreta y lograr mejores predicciones.
Redes Neuronales Convolucionales
Una red neuronal convolucional (CNN o ConvNet) es un tipo de red
neuronal artificial (ANN) que consta de múltiples capas. Esta red
especialmente diseñada para el reconocimiento y clasificación de
imágenes. En las CNN, las primeras capas aprenderán características
simples y luego se van especializando hasta llegar a capas más profundas
que reconocen rasgos más complejos de las imágenes.
Estructura de las redes neuronales convolucionales
En general, estas redes están estructuradas por tres tipos de
capas.
Capa convolucional
Capa de agrupación (Pooling)
Capa clasificadora totalmente conectada
Figura 1. Esquema general de una CNN
Funcion de activacion ReLU
La capa de activación ReLU (Rectified Linear
Units) sustituye todos los valores negativos recibidos en la
entrada por ceros.
\[
f(u) = max(0,u)
\]
Figura 2. Función de activación ReLU
Capa convolucional
La operación convolucional correlaciona de forma cruzada la
entrada (imagen) y el filtro
(Kernel), luego agrega un sesgo escalar
(bias) para producir una salida, mapa de
características. La Figura 3 esquematiza la operación de
convolución.
Figura 3. Operación de convolución
El siguiente video muestra la operación de convolución sobre imagenes
RGB.
Capa de agrupación (Pooling)
La capa pooling se utiliza para la disminución de las
dimensiones espaciales (ancho y alto) de los datos de entrada para la
siguiente capa convolucional. No obstante, no afecta a la dimensión de
profundidad del volumen (número de canales de una imagen). Esta
operación trae consigo una pérdida de información. Sin embargo, una
merma de este tipo puede ser beneficioso para la red, ya que disminuye
el cálculo para las próximas capas y también se reduce el sobreajuste
(overfitting) de la red. La Figura 4 muestra la operación de
agrupación máxima (Max Pooling).
Figura 4. Operación de Max pooling
El siguiente video muestra la operación de Max pooling.
Capa clasificadora totalmente conectada
Las capas completamente conectadas se usan para calcular los puntajes
de las clases que usaremos como salida de la red. Las dimensiones del
volumen de salida son 1x1xN, donde N es el número de
clases de salida que estamos evaluando. Esta capa tiene una conexión
entre todas sus neuronas y con cada neurona de la capa anterior.
Ejemplos y procedimientos
Ejemplo de codigo en MATLAB para definir la
arquitectura de la red neuronal convolucional utilizando Deep
Learning Toolbox1.
Deep-learning will transform every single industry. Healthcare and
transportation will be transformed by deep-learning. I want to live in
an AI-powered society. When anyone goes to see a doctor, I want AI to
help that doctor provide higher quality and lower cost medical service.
I want every five-year-old to have a personalised tutor.
Deep Learning Toolbox proporciona un marco para
diseñar e implementar redes neuronales profundas con algoritmos, modelos
previamente entrenados y aplicaciones.↩︎