dlnetwork
Redes neuronales de deep learning
Descripción
Un objeto dlnetwork
especifica una arquitectura de red neuronal de deep learning
Sugerencia
Para la mayor parte de las tareas de deep learning, puede utilizar una red neuronal preentrenada y adaptarla a sus propios datos. Para ver un ejemplo de cómo usar la transferencia del aprendizaje para volver a entrenar una red neuronal convolucional para clasificar un nuevo conjunto de imágenes, consulte Retrain Neural Network to Classify New Images. Como alternativa, puede crear y entrenar redes neuronales desde cero usando las funciones trainnet
y trainingOptions
.
Si la función trainingOptions
no proporciona las opciones de entrenamiento que necesita para la tarea, puede crear un bucle de entrenamiento personalizado mediante diferenciación automática. Para obtener más información, consulte Entrenar una red con un bucle de entrenamiento personalizado.
Si la función trainnet
no proporciona la función de pérdida que necesita para la tarea, puede especificar una función de pérdida personalizada para trainnet
como identificador de función. En el caso de las funciones de pérdida que requieren más entradas que las predicciones y los objetivos (por ejemplo, funciones de pérdida que requieren acceso a la red neuronal o entradas adicionales), entrene el modelo mediante un bucle de entrenamiento personalizado. Para obtener más información, consulte Entrenar una red con un bucle de entrenamiento personalizado.
Si Deep Learning Toolbox™ no proporciona las capas que necesita para la tarea, puede crear una capa personalizada. Para obtener más información, consulte Definir capas de deep learning personalizadas. Para los modelos que no se pueden especificar como redes de capas, puede definir el modelo como una función. Para obtener más información, consulte Train Network Using Model Function.
Para obtener más información sobre qué método de entrenamiento usar para cada tarea, consulte Train Deep Learning Model in MATLAB.
Creación
Sintaxis
Descripción
Red vacía
crea un objeto net
= dlnetworkdlnetwork
sin capas. Use esta sintaxis para crear una red neuronal desde cero. (desde R2024a)
Red con capas de entrada
crea una red neuronal usando las capas especificadas e inicializa cualquier parámetro que se pueda aprender y cualquier parámetro de estado que no se haya configurado. Esta sintaxis usa la capa de entrada de net
= dlnetwork(layers
)layers
para determinar el tamaño y el formato de los parámetros que se pueden aprender y los parámetros de estado de la red neuronal.
Use esta sintaxis cuando layers
defina una red neuronal completa de una sola entrada y tenga capas dispuestas en serie y una capa de entrada.
también establece la propiedad net
= dlnetwork(layers
,OutputNames=names)OutputNames
. La propiedad OutputNames
especifica las capas o salidas de capa que corresponden a salidas de red.
Use esta sintaxis cuando layers
defina una red neuronal completa de una sola entrada y de varias salidas, tenga capas dispuestas en serie y tenga una capa de entrada.
especifica si se inicializan los parámetros que se pueden aprender y los parámetros de estado de la red neuronal. Cuando net
= dlnetwork(layers
,Initialize=tf
)tf
es 1
, (true
), esta sintaxis es equivalente a net = dlnetwork(layers)
. Cuando tf
es 0
, (false
), esta sintaxis es equivalente a crear una red vacía y después añadir layers
usando la función addLayers
.
Red con entradas no conectadas
crea una red neuronal usando las capas especificadas e inicializa cualquier parámetro que se pueda aprender y cualquier parámetro de estado que no se haya configurado. Esta sintaxis usa los objetos de disposición de datos de red o entradas de ejemplo net
= dlnetwork(layers
,X1,...,XN
)X1,...,XN
para determinar el tamaño y el formato de los parámetros que se pueden aprender y los valores de estado de la red neuronal, donde N
es el número de entradas de red.
Use esta sintaxis cuando layers
defina una red neuronal completa y tenga capas dispuestas en serie y entradas que no estén conectadas a capas de entrada.
también establece la propiedad net
= dlnetwork(layers
,X1,...,XN
,OutputNames=names)OutputNames
.
Use esta sintaxis cuando layers
defina una red neuronal completa y tenga varias salidas, capas dispuestas en serie y entradas que no estén conectadas a capas de entrada.
Red podable
convierte net
= dlnetwork(prunableNet
) TaylorPrunableNetwork
en un objeto dlnetwork
eliminando los filtros seleccionados para la poda de las capas de convolución de prunableNet
y devuelve un objeto dlnetwork
comprimido que tiene menos parámetros que se pueden aprender y es más pequeño.
Argumentos de entrada
Propiedades
Funciones del objeto
addInputLayer | Add input layer to network |
addLayers | Añadir capas a una red neuronal |
removeLayers | Remove layers from neural network |
connectLayers | Conectar capas en una red neuronal |
disconnectLayers | Disconnect layers in neural network |
replaceLayer | Replace layer in neural network |
getLayer | Look up a layer by name or path |
expandLayers | Expand network layers |
groupLayers | Group layers into network layers |
summary | Imprimir un resumen de la red |
plot | Representar una arquitectura de red neuronal |
initialize | Initialize learnable and state parameters of a
dlnetwork |
predict | Compute deep learning network output for inference |
forward | Compute deep learning network output for training |
resetState | Reset state parameters of neural network |
setL2Factor | Set L2 regularization factor of layer learnable parameter |
setLearnRateFactor | Set learn rate factor of layer learnable parameter |
getLearnRateFactor | Get learn rate factor of layer learnable parameter |
getL2Factor | Get L2 regularization factor of layer learnable parameter |
Ejemplos
Capacidades ampliadas
Historial de versiones
Introducido en R2019bConsulte también
trainnet
| trainingOptions
| dlarray
| dlgradient
| dlfeval
| forward
| predict
| initialize
| TaylorPrunableNetwork