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éer une couche de sortie de régression
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 d'entrée
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'
Name
— Nom de la couche
""
(par défaut) | vecteur de caractères | string scalar
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
ResponseNames
— Noms des réponses
{}
(par défaut) | cell array de vecteurs de caractères | tableau de chaînes de caractères
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
layer
— Couche de sortie de régression
objet RegressionOutputLayer
Couche de sortie de régression, retournée en tant qu'objet RegressionOutputLayer
.
En savoir plus
Couche de sortie de régression
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
Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.
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).
Génération de code GPU
Générez du code CUDA® pour les GPU NVIDIA® avec GPU 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 R2017aR2024a: Déconseillé
À 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 . |
Commande MATLAB
Vous avez cliqué sur un lien qui correspond à cette commande MATLAB :
Pour exécuter la commande, saisissez-la dans la fenêtre de commande de MATLAB. Les navigateurs web ne supportent pas les commandes MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- 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)