Main Content

Specifica dei livelli della rete neurale convoluzionale

È possibile costruire e personalizzare un modello di Deep Learning in diversi modi: ad esempio, si può importare e adattare un modello preaddestrato, costruire una rete da zero o definire un modello di Deep Learning come funzione.

Nella maggior parte dei casi, è possibile specificare molti tipi di modelli di Deep Learning come una rete neurale di livelli e quindi addestrarla utilizzando la funzione trainnet. Per un elenco dei livelli e su come crearli, vedere List of Deep Learning Layers.

Per le reti neurali semplici con livelli collegati in serie, è possibile specificare l'architettura come un array di livelli. Ad esempio, per creare una rete neurale che classifica le immagini in scala di grigi 28x28 in 10 classi, è possibile specificare l'array di livelli:

layers = [
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    batchNormalizationLayer
    reluLayer
    fullyConnectedLayer(10)
    softmaxLayer];

Per le reti neurali con una struttura più complessa, ad esempio le reti neurali con ramificazioni, è possibile specificare la rete neurale come oggetto dlnetwork. È possibile aggiungere e collegare i livelli utilizzando rispettivamente le funzioni addLayers e connectLayers. Ad esempio, per creare una rete a input multipli che classifichi le coppie di immagini RGB 224x224 e in scala di grigi 64x64 in 10 classi, è possibile specificare la rete neurale:

net = dlnetwork;
layers = [
    imageInputLayer([224 224 3])
    convolution2dLayer(5,128)
    batchNormalizationLayer
    reluLayer
    flattenLayer
    concatenationLayer(1,2,Name="cat")
    fullyConnectedLayer(10)
    softmaxLayer];

net = addLayers(net,layers);

layers = [
    imageInputLayer([64 64 1])
    convolution2dLayer(5,128)
    batchNormalizationLayer
    reluLayer
    flattenLayer(Name="flatten2")];

net = addLayers(net,layers);
net = connectLayers(net,"flatten2","cat/in2");
Visualizzare la rete neurale in un grafico.
figure
plot(net)

Per i modelli che non possono essere specificati come reti di livelli, è possibile definire il modello come funzione. Per un esempio su come addestrare un modello di Deep Learning definito come una funzione, vedere Train Network Using Model Function.

Vedi anche

| |

Argomenti complementari