regressionLayer
(No recomendado) Capa de salida de regresión
No se recomienda el uso de regressionLayer
. En su lugar, utilice la función trainnet
y establezca la función de pérdida en "mse"
. Para obtener más información, consulte Historial de versiones.
Descripción
Una capa de regresión calcula la pérdida del error cuadrático medio dividido de las tareas de regresión.
devuelve una capa de salida de regresión de una red neuronal como un objeto layer
= regressionLayerRegressionOutputLayer
.
establece las propiedades opcionales layer
= regressionLayer(Name,Value
)Name
y ResponseNames
usando pares nombre-valor. Por ejemplo, regressionLayer('Name','output')
crea una capa de regresión con el nombre 'output'
. Encierre el nombre de cada propiedad entre comillas simples.
Ejemplos
Crear una capa de salida de regresión
Cree una capa de salida de regresión.
Cree una capa de salida de regresión con el nombre 'routput'
.
layer = regressionLayer('Name','routput')
layer = RegressionOutputLayer with properties: Name: 'routput' ResponseNames: {} Hyperparameters LossFunction: 'mean-squared-error'
La función de pérdida predeterminada de la regresión es el error cuadrático medio.
Incluya una capa de salida de regresión en un arreglo de capas.
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
Argumentos de entrada
Argumentos de par nombre-valor
Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN
, donde Name
es el nombre del argumento y Value
es el valor correspondiente. Los argumentos de nombre-valor deben aparecer después de otros argumentos. Sin embargo, el orden de los pares no importa.
En las versiones anteriores a la R2021a, use comas para separar cada nombre y valor, y encierre Name
entre comillas.
Ejemplo: regressionLayer('Name','output')
crea una capa de regresión con el nombre 'output'
Name
— Nombre de la capa
""
(predeterminado) | vector de caracteres | escalar de cadena
Nombre de la capa, especificado como un vector de caracteres o un escalar de cadena. Para entradas en forma de arreglo Layer
, la función trainNetwork
asigna automáticamente nombres a las capas con el nombre ""
.
El objeto RegressionOutputLayer
almacena esta propiedad como un vector de caracteres.
Tipos de datos: char
| string
ResponseNames
— Nombres de las respuestas
{}
(predeterminado) | arreglo de celdas de vectores de caracteres | arreglo de cadena
Nombres de las respuestas, especificados como un arreglo de celdas de vectores de caracteres o como un arreglo de cadena. En el momento del entrenamiento, el software establece automáticamente los nombres de respuestas de acuerdo con los datos del entrenamiento. El valor predeterminado es {}
.
Tipos de datos: cell
Argumentos de salida
layer
— Capa de salida de regresión
objeto RegressionOutputLayer
Capa de salida de regresión, devuelta como un objeto RegressionOutputLayer
.
Más acerca de
Capa de salida de regresión
Una capa de regresión calcula la pérdida del error cuadrático medio dividido de las tareas de regresión. En problemas típicos de regresión, la capa de regresión debe ir detrás de la capa totalmente conectada final.
Para una sola observación, el error cuadrático medio se proporciona de esta manera:
donde R es el número de respuestas, ti corresponde a la salida objetivo y yi es la predicción de la red de la respuesta i.
En las redes de regresión de imagen y secuencia a uno, la función de pérdida de la capa de regresión es el error cuadrático medio dividido de las respuestas de la predicción, sin que R aplique la normalización:
En las redes de regresión de imagen a imagen, la función de pérdida de la capa de regresión es el error cuadrático medio dividido de las respuestas de la predicción de cada píxel, sin que R aplique la normalización:
donde H, W y C determinan la altura, anchura y el número de canales de la salida (respectivamente), y p indexa en cada elemento (píxel) de t e y de forma lineal.
En las redes de regresión de secuencia a secuencia, la función de pérdida de la capa de regresión es el error cuadrático medio dividido de las respuestas de la predicción de cada unidad de tiempo, sin que R aplique la normalización:
donde S corresponde a la longitud de la secuencia.
Durante el entrenamiento, el software calcula la pérdida media a lo largo de las observaciones del minilote.
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Notas y limitaciones de uso:
El generador de código representa caracteres en código ASCII de 8 bits que determina la configuración regional. Por lo tanto, el uso de caracteres en código distinto de ASCII en nombres de clases, nombres de capas, descripciones de capas o nombres de redes podría dar lugar a errores. Para obtener más información, consulte Encoding of Characters in Code Generation (MATLAB Coder).
Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.
Notas y limitaciones de uso:
Para generar código CUDA® o C++ mediante GPU Coder™, primero tiene que construir y entrenar una red neuronal profunda. Una vez se haya entrenado y evaluado la red, puede configurar el generador de código para que genere código y despliegue la red neuronal convolucional en plataformas que usen procesadores GPU NVIDIA® o ARM®. Para obtener más información, consulte Deep Learning with GPU Coder (GPU Coder).
Para esta capa, puede generar código que aproveche la biblioteca de la red neuronal profunda (cuDNN) NVIDIACUDA, la biblioteca de inferencias de alto rendimiento NVIDIATensorRT™ o la
Compute Library
ARM para la GPU Mali.El generador de código representa caracteres en código ASCII de 8 bits que determina la configuración regional. Por lo tanto, el uso de caracteres en código distinto de ASCII en nombres de clases, nombres de capas, descripciones de capas o nombres de redes podría dar lugar a errores. Para obtener más información, consulte Encoding of Characters in Code Generation (MATLAB Coder).
Historial de versiones
Introducido en R2017aR2024a: No recomendado
A partir de la versión R2024a, los objetos RegressionOutputLayer
no están recomendados. En su lugar, utilice trainnet
y establezca la función de pérdida en "mse"
.
No está previsto eliminar el soporte para los objetos RegressionOutputLayer
. Sin embargo, en su lugar se recomienda la función trainnet
, que tiene estas ventajas:
trainnet
admite los objetosdlnetwork
, que admiten una gama más amplia de arquitecturas de red que puede crear o importar desde plataformas externas.trainnet
le permite especificar fácilmente funciones de pérdida. Puede seleccionar entre funciones de pérdida integradas o especificar una función de pérdida personalizada.trainnet
produce como salida un objetodlnetwork
, que es un tipo de datos unificado que admite la creación de redes, la predicción, el entrenamiento integrado, la visualización, la compresión, la verificación y los bucles de entrenamiento personalizados.trainnet
suele ser más rápido quetrainNetwork
.
Esta tabla muestra algunos usos habituales de la función trainNetwork
con los objetos RegressionOutputLayer
y cómo actualizar el código para usar la función trainnet
en su lugar.
No recomendado | Recomendado |
---|---|
net = trainNetwork(X,T,layers,options) , donde layers contiene un objeto RegressionOutputLayer . | net = trainnet(X,T,layers,"mse",options); layers especifica la misma red sin un objeto RegressionOutputLayer . |
net = trainNetwork(data,layers,options) , donde layers contiene un objeto RegressionOutputLayer . | net = trainnet(data,layers,"mse",options); layers especifica la misma red sin un objeto RegressionOutputLayer . |
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de 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)