Información sobre las redes neuronales convolucionales
Las redes neuronales convolucionales (ConvNets) son herramientas muy usadas en deep learning. Resultan especialmente adecuadas para imágenes como entradas, aunque también se usan para otras aplicaciones, como texto, señales y otras respuestas continuas. Difieren de otros tipos de redes neuronales en ciertos aspectos:
Las redes neuronales convolucionales se inspiran en la estructura biológica de un córtex visual, que contiene arreglos de celdas sencillas y complejas [1]. Se sabe que estas celdas se activan en función de las subregiones de un campo visual. Estas subregiones se llaman campos receptivos. Inspirándose en las conclusiones de este estudio, las neuronas de una capa convolucional se conectan a las subregiones de las capas antes de la capa en cuestión en lugar de estar totalmente conectada, como ocurre en otros tipos de redes neuronales. Las neuronas no responden a las áreas que quedan fuera de estas subregiones de la imagen.
Estas subregiones podrían solaparse, de ahí que las neuronas de una ConvNet produzcan resultados correlacionados espacialmente, mientras que, en otros tipos de redes neuronales, las neuronas no comparten las conexiones y producen resultados independientes.
Además, en una red neuronal con neuronas totalmente conectadas, el número de parámetros (pesos) puede aumentar rápidamente a medida que aumenta el tamaño de la entrada. Una red neuronal convolucional reduce el número de parámetros con el número reducido de conexiones, pesos repartidos y submuestreo.
Una ConvNet consta de varias capas, como las capas convolucionales, capas de agrupación máxima o promedio, y capas totalmente conectadas.
Las neuronas de cada capa de una ConvNet se disponen en 3D, transformando una entrada 3D en una salida 3D. Por ejemplo, para una entrada de imágenes, la primera capa (capa de entrada) alberga las imágenes como entradas 3D con las dimensiones de altura, anchura y los canales de color de la imagen. Las neuronas de la primera capa convolucional se conectan a las regiones de estas imágenes y las transforman en una salida 3D. Las unidades ocultas (neuronas) de cada capa aprenden combinaciones no lineales de las entradas originales, que se denomina extracción de características [2]. Estas funcionalidades aprendidas de una capa, también conocidas como activaciones, se convierten en las entradas de la capa siguiente. Por último, las características aprendidas se convierten en entradas para el clasificador o la función de regresión al final de la red.
La arquitectura de una ConvNet puede variar dependiendo de los tipos y el número de capas incluidas. Los tipos y el número de capas incluidas dependen de la aplicación concreta o de los datos. Una red más pequeña con solo una o dos capas convolucionales podría ser suficiente para aprender un pequeño número de datos de imágenes de escala de grises. Por otro lado, para datos más complejos con millones de imágenes de color, tal vez necesite una red más compleja con varias capas convolucionales y totalmente conectadas.
Puede concatenar las capas de una red neuronal convolucional en MATLAB® de la siguiente manera:
layers = [ imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,Stride=2) fullyConnectedLayer(10) softmaxLayer];
Después de definir las capas de la red, debe especificar las opciones de entrenamiento con la función trainingOptions
. Por ejemplo,
options = trainingOptions("sgdm");
Después, seleccione una función de pérdida para la tarea. Si tiene respuestas categóricas, puede usar la pérdida de entropía cruzada; pero si la respuesta es continua, puede usar la pérdida de error cuadrático medio.
lossFcn = "crossentropy";
Luego, podrá entrenar la red con los datos de entrenamiento y la función trainnet
. Así, los datos, las capas, la función de pérdida y las opciones de entrenamiento se convierten en entradas de la función de entrenamiento. Por ejemplo,
net = trainnet(data,layers,lossFcn,options);
Referencias
[1] Hubel, H. D. and Wiesel, T. N. '' Receptive Fields of Single neurones in the Cat’s Striate Cortex.'' Journal of Physiology. Vol 148, pp. 574-591, 1959.
[2] Murphy, K. P. Machine Learning: A Probabilistic Perspective. Cambridge, Massachusetts: The MIT Press, 2012.
Consulte también
trainnet
| trainingOptions
| dlnetwork