Main Content

Crear una red de clasificación de imágenes sencilla utilizando Deep Network Designer

Este ejemplo muestra cómo crear y entrenar una red neuronal convolucional sencilla para la clasificación mediante deep learning utilizando Deep Network Designer. Las redes neuronales convolucionales son herramientas fundamentales en deep learning y resultan especialmente adecuadas para reconocer imágenes.

En este ejemplo, puede hacer lo siguiente:

  • Importar datos de imágenes.

  • Definir la arquitectura de la red.

  • Especificar las opciones de entrenamiento.

  • Entrenar la red.

Cargar datos

Cargue los datos de dígitos de muestra como un almacén de datos de imágenes. La función imageDatastore etiqueta automáticamente las imágenes en función de los nombres de carpeta. El conjunto de datos tiene 10 clases y cada imagen del conjunto de datos tiene un tamaño de 28 por 28 por 1 píxeles.

digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ...
    'nndatasets','DigitDataset');

imds = imageDatastore(digitDatasetPath, ...
    'IncludeSubfolders',true, ...
    'LabelSource','foldernames');

Abra Deep Network Designer. Cree una red, importe y visualice datos, y entrene la red con Deep Network Designer.

deepNetworkDesigner

Si desea crear una red en blanco, deténgase en Blank Network y haga clic en New.

Para importar el almacén de datos de imágenes, seleccione la pestaña Data y haga clic en Import Data > Import Image Data. Seleccione imds como el origen de los datos. Reserve el 30% de los datos de entrenamiento para utilizarlos como datos de validación. Asigne observaciones de forma aleatoria a los conjuntos de entrenamiento y validación seleccionando Randomize.

Importe los datos haciendo clic en Import.

Definir la arquitectura de red

En el panel Designer, defina la arquitectura de la red neuronal convolucional. Arrastre capas de la Layer Library y conéctelas. Para buscar capas con rapidez, utilice el recuadro de búsqueda Filter layers del panel Layer Library. Para editar las propiedades de una capa, haga clic en la capa y edite los valores en el panel Properties.

Conecte las capas en este orden:

  1. imageInputLayer con la propiedad InputSize establecida en 28,28,1

  2. convolution2dLayer

  3. batchNormalizationLayer

  4. reluLayer

  5. fullyConnectedLayer con la propiedad OutputSize establecida en 10

  6. softmaxLayer

  7. classificationLayer

Para obtener más información sobre las capas de deep learning, consulte List of Deep Learning Layers.

Entrenar la red

Especifique las opciones de entrenamiento y entrene la red.

En la pestaña Training, haga clic en Training Options. Para este ejemplo, establezca el número máximo de épocas en cinco y conserve el resto de valores predeterminados. Establezca las opciones de entrenamiento haciendo clic en Close. Para obtener más información sobre las opciones de entrenamiento, consulte Set Up Parameters and Train Convolutional Neural Network.

Entrene la red haciendo clic en Train.

La precisión es la fracción de etiquetas que la red predice correctamente. En este caso, más del 97% de las etiquetas predichas coincide con las etiquetas verdaderas del conjunto de validación.

Para exportar la red entrenada al espacio de trabajo, en la pestaña Training, haga clic en Export.

Para seguir avanzando en deep learning, puede probar a usar las redes preentrenadas para otras tareas. Resuelva nuevos problemas de clasificación en los datos de imágenes mediante la transferencia del aprendizaje. Por ejemplo, consulte Introducción a la transferencia del aprendizaje. Para obtener más información sobre las redes preentrenadas, consulte Redes neuronales profundas preentrenadas.

Consulte también

|

Temas relacionados