Main Content

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

regressionLayer

Couche de sortie de régression

Description

Une couche de régression calcule la perte de demi-erreur quadratique moyenne des tâches de régression.

layer = regressionLayer renvoie une couche de sortie de régression d’un réseau de neurones comme un objet RegressionOutputLayer.

Pour prédire les réponses d’un réseau de régression entraîné, utilisez predict. La normalisation des réponses aide souvent à stabiliser et à accélérer l’apprentissage de réseaux de neurones de régression. Pour plus d’informations, veuillez consulter Train Convolutional Neural Network for Regression.

exemple

layer = regressionLayer(Name,Value) définit les propriétés optionnelles 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

réduire tout

Créez une couche 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

réduire tout

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'

Le nom de la couche est spécifié comme un vecteur de caractères ou un scalaire de type string (string scalar). Pour le tableau de Layer en entrée, les fonctions trainNetwork, assembleNetwork, layerGraph et dlnetwork attribuent automatiquement des noms aux couches avec le nom ''.

Types de données : char | string

Les noms des réponses sont spécifiés comme un cell array de vecteurs de caractères ou un tableau de string. 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

réduire tout

La couche de sortie de régression, renvoyées comme un objet RegressionOutputLayer.

En savoir plus

réduire tout

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 :

MSE=i=1R(tiyi)2R,

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 :

loss=12i=1R(tiyi)2.

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 :

loss=12p=1HWC(tpyp)2,

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 :

loss=12Si=1Sj=1R(tijyij)2,

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™.

Génération de code GPU
Générez du code CUDA® pour les GPU NVIDIA® avec GPU Coder™.

Historique des versions

Introduit dans R2017a