softmaxLayer
Livello softmax
Descrizione
Un livello softmax applica una funzione softmax all’input.
Creazione
Descrizione
crea un livello softmax.layer
= softmaxLayer
Proprietà
Name
— Nome del livello
""
(predefinito) | vettore di carattere | scalare di stringa
Nome del livello, specificato come un vettore di carattere o uno scalare di stringa. Per l'input dell'array di Layer
, le funzioni trainnet
e dlnetwork
assegnano automaticamente i nomi ai livelli con il nome ""
.
L'oggetto SoftmaxLayer
memorizza questa proprietà come vettore di carattere.
Tipi di dati: char
| string
NumInputs
— Numero di input
1
(predefinito)
proprietà è di sola lettura.
Numero di input al livello, restituito come 1
. Questo livello accetta solo un input singolo.
Tipi di dati: double
InputNames
— Nomi di input
{'in'}
(predefinito)
proprietà è di sola lettura.
Nomi di input, restituiti come {'in'}
. Questo livello accetta solo un input singolo.
Tipi di dati: cell
NumOutputs
— Numero di output
1
(predefinito)
proprietà è di sola lettura.
Numero di output dal livello, restituito come 1
. Questo livello ha solo un output singolo.
Tipi di dati: double
OutputNames
— Nomi di output
{'out'}
(predefinito)
proprietà è di sola lettura.
Nomi di output, restituiti come {'out'}
. Questo livello ha solo un output singolo.
Tipi di dati: cell
Esempi
Creazione di un livello softmax
Creare un livello softmax con il nome 'sm1'
.
layer = softmaxLayer('Name','sm1')
layer = SoftmaxLayer with properties: Name: 'sm1'
Includere un livello softmax in un array di 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
Algoritmi
Livello softmax
Un livello softmax applica una funzione softmax all’input.
Per i problemi di classificazione, un livello softmax e un seguente livello di classificazione seguono usualmente il livello finale completamente connesso.
La funzione di attivazione dell'unità di output è la funzione softmax:
dove e .
La funzione softmax è la funzione di attivazione dell’unità di output dopo l’ultimo livello completamente connesso per i problemi di classificazione multiclasse:
dove e . Inoltre, , è la probabilità condizionata del campione data la classe r e è la probabilità antecedente della classe.
La funzione softmax è nota anche come l’esponenziale normalizzata e può essere considerata la generalizzazione multiclasse della funzione sigmoidea logistica [1].
Formati dei livelli di input e di output
I livelli in un array di livelli o in un grafico a livelli trasferiscono i dati ai livelli successivi come oggetti formattati dlarray
. Il formato di un oggetto dlarray
è una stringa di caratteri in cui ogni carattere descrive la dimensione corrispondente dei dati. I formati sono costituiti da uno o più dei seguenti caratteri:
"S"
: spaziale"C"
: canale"B"
: batch"T"
: tempo"U"
: non specificato
Ad esempio, i dati di immagini bidimensionali che sono rappresentati come un array quadridimensionale, dove le prime due dimensioni corrispondono alle dimensioni spaziali delle immagini, la terza dimensione corrisponde ai canali delle immagini e la quarta dimensione corrisponde alla dimensione del batch, possono essere descritti come se avessero il formato "SSCB"
(spaziale, spaziale, canale, batch).
È possibile interagire con questi oggetti dlarray
nei workflow a differenziazione automatica, come quelli per lo sviluppo di un livello personalizzato, utilizzando un oggetto functionLayer
o utilizzando le funzioni forward
e predict
con gli oggetti dlnetwork
.
Questa tabella mostra i formati di input supportati per gli oggetti SoftmaxLayer
e il corrispondente formato di output. Se il software trasferisce l'output del livello a un livello personalizzato che non eredita dalla classe nnet.layer.Formattable
o a un oggetto FunctionLayer
con la proprietà Formattable
impostata su 0
(false
), il livello riceve un oggetto dlarray
non formattato le cui dimensioni sono ordinate secondo i formati di questa tabella. I formati elencati sono solo un sottoinsieme. Il livello può supportare altri formati, ad esempio formati con ulteriori dimensioni "S"
(spaziali) o "U"
(non specificate).
Formato di input | Formato di output |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Negli oggetti dlnetwork
, gli oggetti SoftmaxLayer
supportano inoltre queste combinazioni di formato input-output.
Formato di input | Formato di output |
---|---|
|
|
|
|
|
|
|
|
Riferimenti
[1] Bishop, C. M. Pattern Recognition and Machine Learning. Springer, New York, NY, 2006.
Funzionalità estese
Generazione di codice C/C++
Genera codice C e C++ con MATLAB® Coder™.
Generazione di codice GPU
Genera codice CUDA® per GPU NVIDIA® con GPU Coder™.
Cronologia versioni
Introdotto in R2016a
Comando MATLAB
Hai fatto clic su un collegamento che corrisponde a questo comando MATLAB:
Esegui il comando inserendolo nella finestra di comando MATLAB. I browser web non supportano i comandi 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)