Main Content

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

network

Crea una rete neurale superficiale personalizzata

Sintassi

net = network
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)

Per la richiesta di assistenza

Digitare help network/network.

Suggerimento

Per apprendere come creare una rete di Deep Learning, vedere Specify Layers of Convolutional Neural Network.

Descrizione

network crea nuove reti personalizzate. Viene utilizzato per creare reti che vengono poi personalizzate da funzioni come feedforwardnet e narxnet.

net = network senza argomenti restituisce una nuova rete neurale senza alcun input, livello o output.

net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect) considera questi argomenti opzionali (mostrati con valori predefiniti):

numInputs

Numero di input, 0

numLayers

Numero di livelli, 0

biasConnect

Vettore booleano numLayersx1, zeri

inputConnect

Matrice booleana numLayers per numInputs, zeri

layerConnect

Matrice booleana numLayers per numLayers, zeri

outputConnect

Vettore booleano 1xnumLayers, zeri

e restituisce

net

Nuova rete con valori di proprietà dati

Proprietà

Proprietà dell’architettura

net.numInputs

0 o un numero intero positivo

Numero di input.

net.numLayers

0 o un numero intero positivo

Numero di livelli.

net.biasConnect

Vettore booleano numLayerx1

Se net.biasConnect(i) è 1, il livello i presenta un bias e net.biases{i} è una struttura che descrive tale bias.

net.inputConnect

Vettore booleano numLayer per numInputs

Se net.inputConnect(i,j) è 1, il livello i presenta un peso proveniente dall’input j e net.inputWeights{i,j} è una struttura che descrive tale peso.

net.layerConnect

Vettore booleano numLayer per numLayers

Se net.layerConnect(i,j) è 1, il livello i presenta un peso proveniente dal livello j e net.layerWeights{i,j} è una struttura che descrive tale peso.

net.outputConnect

Vettore booleano 1xnumLayers

Se net.outputConnect(i) è 1, la rete presenta un output dal livello i e net.outputs{i} è una struttura che descrive tale output.

net.numOutputs

0 o un numero intero positivo (solo lettura)

Numero degli output della rete secondo net.outputConnect.

net.numInputDelays

0 o un numero intero positivo (solo lettura)

Ritardo massimo di input in base a tutti i net.inputWeights{i,j}.delays.

net.numLayerDelays

0 o un numero positivo (solo lettura)

Ritardo massimo del livello in base a tutti i net.layerWeights{i,j}.delays.

Proprietà della struttura di sottooggetti

net.inputs

Array di celle numInputsx1

net.inputs{i} è una struttura che definisce l’input i.

net.layers

Array di celle numLayersx1

net.layers{i} è una struttura che definisce il livello i.

net.biases

Array di celle numLayersx1

Se net.biasConnect(i) è 1, net.biases{i} è una struttura che definisce il bias per il livello i.

net.inputWeights

Array di celle numLayers per numInputs

Se net.inputConnect(i,j) è 1, net.inputWeights{i,j} è una struttura che definisce il peso al livello i dall’input j.

net.layerWeights

Array di celle numLayers per numLayers

Se net.layerConnect(i,j) è 1, net.layerWeights{i,j} è una struttura che definisce il peso al livello i dal livello j.

net.outputs

Array di celle 1xnumLayers

Se net.outputConnect(i) è 1, net.outputs{i} è una struttura che definisce l’output della rete dal livello i.

Proprietà della funzione

net.adaptFcn

Nome di una funzione di adattamento della rete o ''

net.initFcn

Nome di una funzione di inizializzazione della rete o ''

net.performFcn

Nome di una funzione di performance della rete o ''

net.trainFcn

Nome di una funzione di addestramento della rete o ''

Proprietà del parametro

net.adaptParam

Parametri di adattamento della rete

net.initParam

Parametri di inizializzazione della rete

net.performParam

Parametri di performance della rete

net.trainParam

Parametri di addestramento della rete

Proprietà del valore di pesi e bias

net.IW

Array di celle numLayers per numInputs dei valori di peso di input

net.LW

Array di celle numLayers per numLayers dei valori di peso del livello

net.b

Array di celle numLayersx1 dei valori di bias

Altre proprietà

net.userdata

Struttura che si può utilizzare per memorizzare valori utili

Esempi

Creazione di una rete con un input e due livelli

Questo esempio mostra come creare una rete senza alcun input e alcun livello, impostando poi il numero di input e di livelli rispettivamente su 1 e 2.

net = network
net.numInputs = 1
net.numLayers = 2

In alternativa, è possibile creare la stessa rete con una riga di codice.

net = network(1,2)

Creazione di una rete feed-forward e visualizzazione delle proprietà

Questo esempio mostra come creare una rete feed-forward a un input e due livelli. Solo il primo livello ha un bias. Un peso di input si collega al livello 1 dall’input 1. Un peso di livello si collega al livello 2 dal livello 1. Il livello 2 è un output della rete e ha un target.

net = network(1,2,[1;0],[1; 0],[0 0; 1 0],[0 1])

I sottooggetti di rete possono essere visualizzati con il seguente codice.

net.inputs{1}
net.layers{1}, net.layers{2}
net.biases{1}
net.inputWeights{1,1}, net.layerWeights{2,1}
net.outputs{2}

È possibile modificare le proprietà di qualsiasi sottooggetto della rete. Questo codice modifica le funzioni di trasferimento di entrambi i livelli:

net.layers{1}.transferFcn = 'tansig';
net.layers{2}.transferFcn = 'logsig';

I pesi per la connessione dal primo input al primo livello possono essere visualizzati come segue. I pesi per una connessione da un input a un livello sono memorizzati in net.IW. Se i valori non sono ancora impostati, il risultato è vuoto.

net.IW{1,1}

È possibile visualizzare i pesi per la connessione dal primo livello al secondo livello come segue. I pesi per una connessione da un livello a un livello sono memorizzati in net.LW. Se i valori non sono ancora impostati, il risultato è vuoto.

net.LW{2,1}

I valori di bias del primo livello possono essere visualizzati come segue.

net.b{1}

Per modificare il numero di elementi di input da 1 a 2, impostare l'intervallo di ciascun elemento:

net.inputs{1}.range = [0 1; -1 1];

Dopo aver addestrato la rete, è possibile utilizzare sim per simularla. Ad esempio, simulare la rete per un vettore di input a due elementi.

p = [0.5; -0.1];
y = sim(net,p)

Cronologia versioni

Introduzione prima di R2006a