Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

dropoutLayer

Descripción

Una capa de abandono establece aleatoriamente elementos de entrada en cero con una probabilidad dada.

Creación

Descripción

layer = dropoutLayer crea una capa de abandono.

layer = dropoutLayer(probability) crea una capa de abandono y establece la propiedad Probability.

layer = dropoutLayer(___,'Name',Name) establece la propiedad opcional Name mediante un par nombre-valor y cualquiera de los argumentos de las sintaxis anteriores. Por ejemplo, dropoutLayer(0.4,'Name','drop1') crea una capa de abandono con una probabilidad de abandono de 0,4 con el nombre 'drop1'. Debe encerrar el nombre de la propiedad entre comillas simples.

ejemplo

Propiedades

expandir todo

Abandono

Probabilidad de abandonar elementos de entrada, especificada como un número no negativo menor que 1.

En el tiempo de entrenamiento, la capa establece elementos de entrada en cero de forma aleatoria y según la máscara de abandono rand(size(X))<Probability, donde X es la entrada de la capa. Después, escala los elementos restantes en 1/(1-Probability). Esta operación modifica de manera efectiva la arquitectura de red subyacente entre iteraciones y ayuda a prevenir que la red se sobreajuste [1], [2]. Un número mayor tiene como resultado que se abandonen más elementos durante el entrenamiento. En el tiempo de predicción, la salida de la capa es igual a su entrada.

Para la entrada de imágenes, la capa aplica una máscara de abandono diferente en cada canal de cada imagen. Para la entrada de secuencias, la capa aplica una máscara de abandono diferente en cada unidad de tiempo de cada secuencia.

Ejemplo: 0.4

Capa

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 con el nombre "".

El objeto DropoutLayer 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, devuelto como 1. Esta capa solo admite una entrada.

Tipos de datos: double

Esta propiedad o parámetro es de solo lectura.

Nombres de entrada, devueltos 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, devuelto como 1. Esta capa solo tiene una salida.

Tipos de datos: double

Esta propiedad o parámetro es de solo lectura.

Nombres de salida, devueltos como {'out'}. Esta capa solo tiene una salida.

Tipos de datos: cell

Ejemplos

contraer todo

Cree una capa de abandono con el nombre 'drop1'.

layer = dropoutLayer('Name','drop1')
layer = 
  DropoutLayer with properties:

           Name: 'drop1'

   Hyperparameters
    Probability: 0.5000

Incluya una capa de abandono en un arreglo Layer.

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    reluLayer
    dropoutLayer
    fullyConnectedLayer(10)
    softmaxLayer]
layers = 
  6x1 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   ''   Dropout           50% dropout
     5   ''   Fully Connected   10 fully connected layer
     6   ''   Softmax           softmax

Algoritmos

expandir todo

Referencias

[1] Srivastava, Nitish, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. "Dropout: A Simple Way to Prevent Neural Networks from Overfitting." The Journal of Machine Learning Research 15, no. 1 (January 1, 2014): 1929–58

[2] Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. "ImageNet Classification with Deep Convolutional Neural Networks." Communications of the ACM 60, no. 6 (May 24, 2017): 84–90. https://doi.org/10.1145/3065386

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