Compartir a través de


Deserción

Función dropout.

Dropout (x)

Parámetros

  • x: entrada a la que se va a aplicar la función de colocación.

Nota: La tasa de eliminación no es un parámetro para esta función, sino que se especifica en la SGD sección.

Valor devuelto

Dropout() devolverá el resultado de la operación de colocación aplicada a la entrada. El resultado tiene las mismas dimensiones tensor que la entrada.

Descripción

La Dropout() operación selecciona aleatoriamente los elementos de la entrada con una probabilidad determinada denominada tasa de eliminación y los establece en 0. Esto se ha demostrado para mejorar la generalización de los modelos.

En la implementación de CNTK, los valores restantes que no están establecidos en 0 se multiplicarán por (1 / (1 - tasa de eliminación). De este modo, los parámetros del modelo aprendidos con la lista desplegable son directamente aplicables a la inferencia. (Si esto no se ha hecho, el usuario tendría que escalarlos manualmente antes de la inferencia).

Para habilitar la eliminación en el entrenamiento, también debe agregar un parámetro dropoutRate a la SGD sección para definir la tasa de eliminación. Esto se hace en la SGD sección , en lugar de un parámetro para Dropout() sí mismo, con el fin de permitir iniciar un entrenamiento sin abandono y, a continuación, habilitarlo después de unas pocas épocas, que es un escenario común. Para ello, dropoutRate se especifica como vector, donde cada valor es para una época específica.

Al ejecutar la inferencia, la Dropout() operación pasa su entrada sin modificar (es una operación sin operación).

Ejemplo

A continuación se muestra una red convolucional sencilla con una capa de eliminación hacia el final:

features = Input{...}
c = ConvolutionalLayer {32, (5:5), activation=ReLU} (features)
p = MaxPoolingLayer {(3:3), stride = (2:2)} (c)
h = DenseLayer {64, activation = ReLU} (p)
d = Dropout (h)
z = LinearLayer {10} (d)

Además, necesita una entrada correspondiente en la SGD sección . En el ejemplo siguiente se define que no se usará ninguna lista desplegable para las tres primeras épocas y, a continuación, para continuar con una tasa de abandono del 50 %. Para mayor comodidad, en este ejemplo se usa la sintaxis del asterisco (*) para indicar la repetición:

SGD = {
    ...
    dropoutRate = 0*3:0.5
    ...
}