Main Content

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

network

Créer un réseau de neurones peu profond personnalisé

Syntaxe

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

Pour obtenir de l’aide

Saisissez help network/network.

Conseil

Pour découvrir comment créer un réseau de Deep Learning, veuillez consulter Specify Layers of Convolutional Neural Network.

Description

network crée de nouveaux réseaux personnalisés. Il permet de créer des réseaux qui sont ensuite personnalisés par des fonctions comme feedforwardnet et narxnet.

net = network sans argument renvoie un nouveau réseau de neurones sans entrée, ni couche ni sortie.

net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect) prend ces arguments optionnels (indiqués avec leurs valeurs par défaut) :

numInputs

Nombre d’entrées, 0

numLayers

Nombre de couches, 0

biasConnect

Vecteur booléen numLayers x 1, zéros

inputConnect

Matrice booléenne numLayers x numInputs, zéros

layerConnect

Matrice booléenne numLayers x numLayers, zéros

outputConnect

Vecteur booléen 1 x numLayers, zéros

et renvoie

net

Nouveau réseau avec les valeurs de propriétés données

Propriétés

Propriétés d'architecture

net.numInputs

0 ou un entier positif

Nombre d’entrées.

net.numLayers

0 ou un entier positif

Nombre de couches.

net.biasConnect

Vecteur booléen numLayer x 1

Si net.biasConnect(i) est 1, la couche i a un biais et net.biases{i} est une structure décrivant ce biais.

net.inputConnect

Vecteur booléen numLayer x numInputs

Si net.inputConnect(i,j) est 1, la couche i a un poids provenant de l’entrée j et net.inputWeights{i,j} est une structure décrivant ce poids.

net.layerConnect

Vecteur booléen numLayer x numLayers

Si net.layerConnect(i,j) est 1, la couche i a un poids provenant de la couche j et net.layerWeights{i,j} est une structure décrivant ce poids.

net.outputConnect

Vecteur booléen 1 x numLayers

Si net.outputConnect(i) est 1, le réseau a une sortie provenant de la couche i et net.outputs{i} est une structure décrivant cette sortie.

net.numOutputs

0 ou un entier positif (lecture seule)

Nombre de sorties du réseau selon net.outputConnect.

net.numInputDelays

0 ou un entier positif (lecture seule)

Retard d’entrée maximal selon tous les net.inputWeights{i,j}.delays.

net.numLayerDelays

0 ou un nombre positif (lecture seule)

Retard de couche maximal selon tous les net.layerWeights{i,j}.delays.

Propriétés de structure de sous-objet

net.inputs

Cell array numInputs x 1

net.inputs{i} est une structure définissant une entrée i.

net.layers

Cell array numLayers x 1

net.layers{i} est une structure définissant une couche i.

net.biases

Cell array numLayers x 1

Si net.biasConnect(i) est 1, net.biases{i} est une structure définissant le biais pour la couche i.

net.inputWeights

Cell array numLayers x numInputs

Si net.inputConnect(i,j) est 1, net.inputWeights{i,j} est une structure définissant le poids pour la couche i de l’entrée j.

net.layerWeights

Cell array numLayers x numLayers

Si net.layerConnect(i,j) est 1, net.layerWeights{i,j} est une structure définissant le poids pour la couche i de la couche j.

net.outputs

Cell array 1 x numLayers

Si net.outputConnect(i) est 1, net.outputs{i} est une structure définissant la sortie du réseau de la couche i.

Propriétés des fonctions

net.adaptFcn

Nom d’une fonction d’adaptation d’un réseau ou ''

net.initFcn

Nom d’une fonction d’initialisation d’un réseau ou ''

net.performFcn

Nom d’une fonction de performance d’un réseau ou ''

net.trainFcn

Nom d’une fonction d’apprentissage d’un réseau ou ''

Propriétés des paramètres

net.adaptParam

Paramètres d’adaptation d’un réseau

net.initParam

Paramètres d’initialisation d’un réseau

net.performParam

Paramètres de performance d’un réseau

net.trainParam

Paramètres d’apprentissage d’un réseau

Propriétés des valeurs de poids et de biais

net.IW

Cell array numLayers x numInputs de valeurs des poids en entrée

net.LW

Cell array numLayers x numLayers de valeurs des poids des couches

net.b

Cell array numLayers x 1 de valeurs des biais

Autres propriétés

net.userdata

Structure que vous pouvez utiliser pour stocker des valeurs utiles

Exemples

Créer un réseau avec une entrée et deux couches

Cet exemple montre comment créer un réseau sans entrée ni couche, puis comment définir son nombre d’entrées et de couches respectivement à 1 et 2.

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

Vous pouvez également créer le même réseau avec une ligne de code.

net = network(1,2)

Créer un réseau feedforward et afficher les propriétés

Cet exemple montre comment créer un réseau feedforward à une entrée et deux couches. Seule la première couche a un biais. Un poids d’entrée connecte la couche 1 et l’entrée 1. Un poids de couche connecte la couche 2 et la couche 1. La couche 2 est une sortie du réseau et a une cible.

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

Vous pouvez afficher les sous-objets du réseau avec le code suivant.

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

Vous pouvez modifier les propriétés de n’importe lequel des sous-objets du réseau. Ce code change les fonctions de transfert des deux couches :

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

Vous pouvez afficher les poids pour la connexion entre la première entrée et la première couche comme suit. Les poids pour une connexion entre une entrée et une couche sont stockés dans net.IW. Si les valeurs ne sont pas encore définies, ce résultat est vide.

net.IW{1,1}

Vous pouvez afficher les poids pour la connexion entre la première couche et la deuxième couche comme suit. Les poids pour une connexion d'une couche à une autre sont stockés dans net.LW. De nouveau, si les valeurs ne sont pas encore définies, ce résultat est vide.

net.LW{2,1}

Vous pouvez afficher les valeurs de biais pour la première couche comme suit.

net.b{1}

Pour changer le nombre d’éléments en entrée de 1 à 2, définissez la plage de chaque élément :

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

Pour simuler le réseau pour un vecteur en entrée à deux éléments, le code ressemblera à ceci :

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

Historique des versions

Introduit avant R2006a