regressionLayer
(Déconseillé) Couche de sortie de régression
L’utilisation de regressionLayer
est déconseillée. Utilisez la fonction trainnet
et définissez la fonction de perte à "mse"
à la place. Pour plus d’informations, veuillez consulter Historique des versions.
Description
Une couche de régression calcule la perte de demi-erreur quadratique moyenne des tâches de régression.
renvoie une couche de sortie de régression d’un réseau de neurones comme un objet layer
= regressionLayerRegressionOutputLayer
.
définit les propriétés optionnelles layer
= regressionLayer(Name,Value
)Name
et ResponseNames
avec des paires nom-valeur. Par exemple, regressionLayer('Name','output')
crée une couche de régression avec le nom 'output'
. Mettez chaque nom de propriété entre guillemets simples.
Exemples
Créez une couche de sortie de régression.
Créez une couche de sortie de régression avec le nom 'routput'
.
layer = regressionLayer('Name','routput')
layer = RegressionOutputLayer with properties: Name: 'routput' ResponseNames: {} Hyperparameters LossFunction: 'mean-squared-error'
La fonction de perte par défaut pour la régression est l’erreur quadratique moyenne.
Ajoutez une couche de sortie de régression dans le tableau de couches.
layers = [ ...
imageInputLayer([28 28 1])
convolution2dLayer(12,25)
reluLayer
fullyConnectedLayer(1)
regressionLayer]
layers = 5x1 Layer array with layers: 1 '' Image Input 28x28x1 images with 'zerocenter' normalization 2 '' 2-D Convolution 25 12x12 convolutions with stride [1 1] and padding [0 0 0 0] 3 '' ReLU ReLU 4 '' Fully Connected 1 fully connected layer 5 '' Regression Output mean-squared-error
Arguments nom-valeur
Spécifiez des paires d’arguments en option selon le modèle Name1=Value1,...,NameN=ValueN
, où Name
est le nom de l’argument et Value
est la valeur correspondante. Les arguments nom-valeur doivent apparaître après les autres arguments, mais l’ordre des paires n’a aucune importance.
Avant R2021a, utilisez des virgules pour séparer les noms et les valeurs, et mettez Name
entre guillemets.
Exemple : regressionLayer('Name','output')
crée une couche de régression avec le nom 'output'
Nom de la couche, défini par un vecteur de caractères ou un string scalar. Pour le tableau de Layer
en entrée, la fonction trainNetwork
attribue automatiquement des noms aux couches avec le nom ""
.
L’objet RegressionOutputLayer
stocke cette propriété comme un vecteur de caractères.
Types de données : char
| string
Noms des réponses, définis par un cell array de vecteurs de caractères ou un tableau de chaînes de caractères. Au moment de l’apprentissage, le software définit automatiquement les noms des réponses selon les données d’apprentissage. La valeur par défaut est {}
.
Types de données : cell
Arguments de sortie
Couche de sortie de régression, retournée en tant qu'objet RegressionOutputLayer
.
En savoir plus
Une couche de régression calcule la perte de demi-erreur quadratique moyenne des tâches de régression. Pour des problèmes de régression typiques, une couche de régression doit suivre la couche entièrement connectée finale.
Pour une observation unique, l’erreur quadratique moyenne est donnée par :
où R est le nombre de réponses, ti est la sortie cible et yi est la prédiction du réseau pour la réponse i.
Pour des réseaux de régression d’images et de sequence-to-one, la fonction de perte de la couche de régression est la demi-erreur quadratique moyenne des réponses prédites, non normalisée par R :
Pour des réseaux de régression image-à-image, la fonction de perte de la couche de régression est la demi-erreur quadratique moyenne des réponses prédites pour chaque pixel, non normalisée par R :
où H, W et C désignent respectivement la hauteur, la largeur et le nombre de canaux de la sortie, et p indexe chaque élément (pixel) de t et y linéairement.
Pour des réseaux de régression sequence-to-sequence, la fonction de perte de la couche de régression est la demi-erreur quadratique moyenne des réponses prédites pour chaque pas de temps, non normalisée par R :
où S est la longueur de la séquence.
Lors de l’apprentissage, le software calcule la perte moyenne sur les observations dans le mini-batch.
Capacités étendues
Notes d’usage et limitations :
Le générateur de code représente les caractères avec un codage ASCII 8 bits déterminé par les paramètres régionaux. Par conséquent, l’utilisation de caractères non-ASCII dans les noms de classes, les noms et descriptions de couches ou les noms de réseaux peut entraîner des erreurs. Pour plus d’informations, veuillez consulter Encoding of Characters in Code Generation (MATLAB Coder).
Notes d'usage et limitations :
Pour générer du code CUDA® ou C++ avec GPU Coder™, vous devez commencer par construire et entraîner un réseau de neurones profond. Une fois le réseau entraîné et évalué, vous pouvez configurer le générateur de code pour générer du code et déployer le réseau de neurones à convolution sur des plateformes utilisant des processeurs GPU NVIDIA® ou ARM®. Pour plus d’informations, veuillez consulter Deep Learning with GPU Coder (GPU Coder).
Pour cette couche, vous pouvez générer du code qui tire parti de la bibliothèque NVIDIA CUDA Deep Neural Network (cuDNN), la bibliothèque d’interférence haute performance NVIDIA TensorRT™ ou ARM
Compute Library
pour le GPU Mali.Le générateur de code représente les caractères avec un codage ASCII 8 bits déterminé par les paramètres régionaux. Par conséquent, l’utilisation de caractères non-ASCII dans les noms de classes, les noms et descriptions de couches ou les noms de réseaux peut entraîner des erreurs. Pour plus d’informations, veuillez consulter Encoding of Characters in Code Generation (MATLAB Coder).
Historique des versions
Introduit dans R2017aÀ partir de R2024a, l’utilisation des objets RegressionOutputLayer
est déconseillée. Utilisez trainnet
et définissez la fonction de perte à "mse"
à la place.
Il n’est pas prévu de supprimer le support des objets RegressionOutputLayer
. Cependant, la fonction trainnet
présente les avantages suivants et son utilisation est recommandée à la place de ces objets :
trainnet
supporte les objetsdlnetwork
qui supportent un plus large éventail d’architectures de réseau que vous pouvez créer ou importer à partir de plateformes externes.trainnet
permet de spécifier facilement des fonctions de perte. Vous pouvez sélectionner une fonction de perte prédéfinie ou spécifier une fonction de perte personnalisée.trainnet
génère en sortie un objetdlnetwork
qui est un type de données unifié supportant la création de réseau, la prédiction, l’apprentissage prédéfini, la visualisation, la compression, la vérification et les boucles d’apprentissage personnalisées.trainnet
est généralement plus rapide quetrainNetwork
.
Le tableau suivant indique quelques utilisations courantes de la fonction trainNetwork
avec des objets RegressionOutputLayer
et comment mettre à jour votre code pour qu’il utilise la fonction trainnet
à la place.
Déconseillé | Recommandé |
---|---|
net = trainNetwork(X,T,layers,options) , où layers contient un objet RegressionOutputLayer . | net = trainnet(X,T,layers,"mse",options); layers spécifie le même réseau sans objet RegressionOutputLayer . |
net = trainNetwork(data,layers,options) , où layers contient un objet RegressionOutputLayer . | net = trainnet(data,layers,"mse",options); layers spécifie le même réseau sans objet RegressionOutputLayer . |
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)