Main Content

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Creazione di una rete di classificazione di immagini semplice con Deep Network Designer

Questo esempio mostra come creare e addestrare una rete neurale convoluzionale semplice per la classificazione tramite Deep Learning con l’uso di Deep Network Designer. Le reti neurali convoluzionali sono strumenti essenziali per il Deep Learning e sono particolarmente adatte per il riconoscimento di immagini.

In questo esempio è necessario:

  • Importare i dati delle immagini.

  • Definire l’architettura di rete.

  • Specificare le opzioni di addestramento.

  • Addestrare la rete.

Caricamento dei dati

Carica i dati campione come datastore di immagini. La funzione imageDatastore etichetta automaticamente le immagini in base ai nomi delle cartelle. Il set di dati contiene 10 categorie e ogni immagine all’interno del set di dati ha un formato di 28x28x1 pixel.

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

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

Apri Deep Network Designer. Crea una rete, importa e visualizza i dati, quindi addestra la rete utilizzando Deep Network Designer.

deepNetworkDesigner

Per creare una rete nuova, utilizza la funzione di pausa su Blank Network (Rete vuota) e fai clic su New (Nuova).

Per importare il database delle immagini, seleziona la scheda Data (Dati) e fai clic su Import Data > Import Image Classification Data (Importare dati > Importare i dati di classificazione delle immagini). Seleziona imds come sorgente dei dati. Riserva il 30% dei dati di addestramento per utilizzarli come dati di convalida. Assegna in modo casuale le osservazioni ai set di addestramento e di convalida selezionando Randomize (Randomizzare).

Importa i dati facendo clic su Import (Importare).

Definizione dell’architettura di rete

Nel pannello Designer, definisci l’architettura della rete neurale convoluzionale. Trascina i livelli dalla Layer Library (Libreria livelli) e collegali. Per velocizzare la ricerca tra i livelli, usa la finestra di ricerca Filter layers (Filtrare livelli) nel pannello Layer Library. Per modificare le proprietà di un livello, fai clic sul livello e modifica i valori nel pannello Properties (Proprietà).

Collega i livelli in quest’ordine:

  1. imageInputLayer con la proprietà InputSize impostata su 28,28,1

  2. convolution2dLayer

  3. batchNormalizationLayer

  4. reluLayer

  5. fullyConnectedLayer con la proprietà OutputSize impostata su 10

  6. softmaxLayer

  7. classificationLayer

Per ulteriori informazioni sui livelli di Deep Learning, vedere List of Deep Learning Layers.

Addestramento della rete

Specifica le opzioni di addestramento e addestra la rete.

Nella scheda Training (Addestramento), fai clic su Training Options (Opzioni di addestramento). Per questo esempio, imposta il numero massimo di epoche su 5 e mantieni le altre impostazioni predefinite. Imposta le opzioni di addestramento facendo clic su OK. Per ulteriori informazioni sulle opzioni di addestramento, vedere Set Up Parameters and Train Convolutional Neural Network.

Addestra la rete facendo clic su Train (Addestrare).

La precisione è la frazione di etichette che la rete predice correttamente. In questo caso, oltre il 97% delle etichette predette corrisponde alle etichette vere del set di convalida.

Per esportare la rete addestrata sul workspace, nella scheda Training fai clic su Export (Esportare).

Per le fasi successive del Deep Learning si può provare a utilizzare le reti preaddestrate per altre attività. Risolvi nuovi problemi di classificazione sui dati di immagini con il transfer learning. Ad esempio, vedere Come iniziare a utilizzare il transfer learning. Per saperne di più sulle reti preaddestrate, vedere Reti neurali profonde preaddestrate.

Vedi anche

|

Argomenti complementari