softmaxLayer
Capa softmax
Descripción
Una capa softmax aplica una función softmax a la entrada.
Creación
Propiedades
Nombre de la capa, especificado como un vector de caracteres o un escalar de cadena. Para entradas en forma de arreglo Layer, las funciones trainnet y dlnetwork asignan automáticamente nombres a las capas sin nombre.
El objeto SoftmaxLayer almacena esta propiedad como un vector de caracteres.
Tipos de datos: char | string
Esta propiedad o parámetro es de solo lectura.
Número de entradas a la capa, almacenado como 1. Esta capa solo admite una entrada.
Tipos de datos: double
Esta propiedad o parámetro es de solo lectura.
Nombres de entrada, almacenados como {'in'}. Esta capa solo admite una entrada.
Tipos de datos: cell
Esta propiedad o parámetro es de solo lectura.
Número de salidas de la capa, almacenado como 1. Esta capa solo tiene una salida.
Tipos de datos: double
Esta propiedad o parámetro es de solo lectura.
Nombres de salida, almacenados como {'out'}. Esta capa solo tiene una salida.
Tipos de datos: cell
Ejemplos
Cree una capa softmax con el nombre "sm1".
layer = softmaxLayer(Name="sm1")layer =
SoftmaxLayer with properties:
Name: 'sm1'
Incluya una capa softmax en un arreglo Layer.
layers = [ ...
imageInputLayer([28 28 1])
convolution2dLayer(5,20)
reluLayer
maxPooling2dLayer(2,Stride=2)
fullyConnectedLayer(10)
softmaxLayer]layers =
6×1 Layer array with layers:
1 '' Image Input 28×28×1 images with 'zerocenter' normalization
2 '' 2-D Convolution 20 5×5 convolutions with stride [1 1] and padding [0 0 0 0]
3 '' ReLU ReLU
4 '' 2-D Max Pooling 2×2 max pooling with stride [2 2] and padding [0 0 0 0]
5 '' Fully Connected 10 fully connected layer
6 '' Softmax softmax
Algoritmos
Una capa softmax aplica una función softmax a la entrada.
Para los problemas de clasificación, suele usarse una capa softmax y, después, una capa de clasificación que siguen a la capa totalmente conectada final.
La función de activación de unidades de salida es la función softmax:
donde y .
La función softmax es la función de activación de unidades de salida usada después de la última capa totalmente conectada para atajar los problemas de clasificación de varias clases:
donde y . Además, , es la probabilidad condicional de la clase de muestra dada r, mientras que es la probabilidad anterior de la clase.
La función softmax también se conoce como el exponencial normalizado y se puede considerar como la generalización de varias clases de la función sigmoide logística [1].
Las capas en un arreglo de capas o en una gráfica de capas pasan datos a las capas posteriores como objetos dlarray con formato. El formato de un objeto dlarray es una cadena de caracteres, en la que cada carácter describe la dimensión correspondiente de los datos. El formato consta de uno o más de estos caracteres:
"S": espacial"C": canal"B": lote"T": tiempo"U": sin especificar
Por ejemplo, puede describir los datos de imagen 2D que están representados como arreglo 4D, donde las dos primeras dimensiones corresponden a las dimensiones espaciales de las imágenes, la tercera dimensión corresponde a los canales de las imágenes y la cuarta dimensión corresponde a la dimensión de lote, como datos con formato "SSCB" (espacial, espacial, canal, lote).
Puede interactuar con estos objetos dlarray en flujos de trabajo de diferenciación automática, como aquellos para desarrollar una capa personalizada, usar un objeto functionLayer o usar las funciones forward y predict con objetos dlnetwork.
En esta tabla se muestran los formatos de entrada admitidos de objetos SoftmaxLayer y el formato de salida correspondiente. Si el software pasa la salida de la capa a una capa personalizada que no hereda de la clase nnet.layer.Formattable o a un objeto FunctionLayer con la propiedad Formattable establecida en 0 (false), la capa recibe un objeto dlarray sin formato con dimensiones ordenadas según los formatos de esta tabla. Los formatos incluidos en esta lista son únicamente un subconjunto. La capa puede ser compatible con formatos adicionales, como aquellos con dimensiones adicionales "S" (espacial) o "U" (sin especificar).
| Formato de entrada | Formato de salida |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
En objetos dlnetwork, los objetos SoftmaxLayer también admiten estas combinaciones de formato de entrada y salida.
| Formato de entrada | Formato de salida |
|---|---|
|
|
|
|
|
|
|
|
Referencias
[1] Bishop, C. M. Pattern Recognition and Machine Learning. Springer, New York, NY, 2006.
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.
Historial de versiones
Introducido en R2016a
Consulte también
trainnet | trainingOptions | dlnetwork | convolution2dLayer | fullyConnectedLayer | exportNetworkToSimulink | Softmax Layer
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.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)