softmaxLayer
Couche softmax
Description
Une couche softmax applique une fonction softmax à l’entrée.
Création
Description
crée une couche softmax.layer
= softmaxLayer
Propriétés
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, les fonctions trainnet
et dlnetwork
attribuent automatiquement des noms aux couches avec le nom ""
.
L’objet SoftmaxLayer
stocke cette propriété comme un vecteur de caractères.
Types de données : char
| string
NumInputs
— Nombre d’entrées
1
(par défaut)
Ce propriété est en lecture seule.
Nombre d’entrées de la couche, renvoyé comme étant 1
. Cette couche accepte seulement une entrée unique.
Types de données : double
InputNames
— Noms des entrées
{'in'}
(par défaut)
Ce propriété est en lecture seule.
Noms des entrées, renvoyés comme étant {'in'}
. Cette couche accepte seulement une entrée unique.
Types de données : cell
NumOutputs
— Nombre de sorties
1
(par défaut)
Ce propriété est en lecture seule.
Nombre de sorties de la couche, renvoyé comme étant 1
. Cette couche a seulement une sortie unique.
Types de données : double
OutputNames
— Noms des sorties
{'out'}
(par défaut)
Ce propriété est en lecture seule.
Noms des sorties, renvoyés comme étant {'out'}
. Cette couche a seulement une sortie unique.
Types de données : cell
Exemples
Créer une couche softmax
Créez une couche softmax avec le nom ‘sm1'
.
layer = softmaxLayer('Name','sm1')
layer = SoftmaxLayer with properties: Name: 'sm1'
Ajoutez une couche softmax dans un tableau de Layer
.
layers = [ ... imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,'Stride',2) fullyConnectedLayer(10) softmaxLayer classificationLayer]
layers = 7x1 Layer array with layers: 1 '' Image Input 28x28x1 images with 'zerocenter' normalization 2 '' 2-D Convolution 20 5x5 convolutions with stride [1 1] and padding [0 0 0 0] 3 '' ReLU ReLU 4 '' 2-D Max Pooling 2x2 max pooling with stride [2 2] and padding [0 0 0 0] 5 '' Fully Connected 10 fully connected layer 6 '' Softmax softmax 7 '' Classification Output crossentropyex
Algorithmes
Couche softmax
Une couche softmax applique une fonction softmax à l’entrée.
Pour des problèmes de classification, une couche softmax puis une couche de classification suivent généralement la couche entièrement connectée finale.
La fonction d’activation de l’unité de sortie est la fonction softmax :
où et .
La fonction softmax est la fonction d’activation de l’unité de sortie après la dernière couche entièrement connectée pour les problèmes de classification multiclasse :
où et . De plus, , est la probabilité conditionnelle de l’échantillon selon la classe r et est la probabilité a priori de la classe.
La fonction softmax est également appelée fonction exponentielle normalisée et peut être considérée comme la généralisation multiclasse de la fonction sigmoïde [1].
Formats des entrées et des sorties des couches
Les couches d’un tableau de couches ou d’un graphe de couches transmettent des données aux couches suivantes sous forme d’objets dlarray
. Le format d’un objet dlarray
est une chaîne de caractères où chaque caractère décrit la dimension correspondante des données. Les formats se composent d’un ou plusieurs des caractères suivants :
"S"
— Spatial"C"
— Canal"B"
— Batch"T"
— Temps"U"
— Non spécifié
Par exemple, les images 2D représentées par un tableau 4D dont les deux premières dimensions correspondent aux dimensions spatiales des images, la troisième dimension correspond aux canaux des images et la quatrième dimension correspond à la dimension du batch, peuvent être décrites comme ayant le format "SSCB"
(spatial, spatial, canal, batch).
Vous pouvez interagir avec ces objets dlarray
dans des workflows de différenciation automatiques comme ceux permettant de développer une couche personnalisée en utilisant un objet functionLayer
ou en utilisant les fonctions forward
et predict
avec des objets dlnetwork
.
Le tableau suivant indique les formats d’entrée supportés pour les objets SoftmaxLayer
et le format de sortie correspondant. Si le software passe la sortie de la couche à une couche personnalisée qui n’hérite pas de la classe nnet.layer.Formattable
ou à un objet FunctionLayer
dont la propriété Formattable
est définie à 0
(false
), la couche reçoit un objet dlarray
non formaté dont les dimensions sont ordonnées conformément aux formats de ce tableau. Les formats répertoriés ici ne sont qu’un sous-ensemble. La couche peut supporter d’autres formats comportant par exemple des dimensions "S"
(spatial) ou "U"
(non spécifié) supplémentaires.
Format d’entrée | Format de sortie |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dans les objets dlnetwork
, les objets SoftmaxLayer
supportent également les combinaisons de formats d'entrée et de sortie suivantes.
Format d’entrée | Format de sortie |
---|---|
|
|
|
|
|
|
|
|
Références
[1] Bishop, C. M. Pattern Recognition and Machine Learning. Springer, New York, NY, 2006.
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 R2016a
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)