¿Hay alguna guía general sobre dónde colocar capas de abandono en una red neuronal?
neural-networks
dropout
Franck Dernoncourt
fuente
fuente
Respuestas:
En el documento original que propuso capas de abandono, por Hinton (2012) , se utilizó el abandono (con p = 0.5) en cada una de las capas completamente conectadas (densas) antes de la salida; no se usó en las capas convolucionales. Esta se convirtió en la configuración más utilizada.
Investigaciones más recientes han demostrado cierto valor en la aplicación de la deserción escolar también a capas convolucionales, aunque a niveles mucho más bajos: p = 0.1 o 0.2. El abandono se usó después de la función de activación de cada capa convolucional: CONV-> RELU-> DROP.
fuente
relu
activación seguida de una capa de agrupación máxima, ¿la capa de abandono (2D) debe ir inmediatamente después de la convolución, o después de la capa de agrupación máxima, o ambas, o no importa?RELU
de cada capa CONV. No creo que hayan investigado el efecto de agregar abandono después de las capas de agrupación máxima.En frente de todas las proyecciones lineales. Consulte Srivastava et al. (2014) .
fuente
El documento original propuso capas de abandono que se usaron en cada una de las capas completamente conectadas (densas) antes de la salida; no se usó en las capas convolucionales.
No debemos usar la capa de abandono después de la capa convolucional a medida que deslizamos el filtro sobre el ancho y la altura de la imagen de entrada, producimos un mapa de activación bidimensional que da las respuestas de ese filtro en cada posición espacial. Entonces, a medida que la capa de abandono neutraliza (hace que sea cero) las neuronas aleatorias, hay posibilidades de perder una característica muy importante en una imagen en nuestro proceso de entrenamiento.
fuente
Si no me equivoco, puede agregarlo después de la no linealidad de cada celda:
La primera línea es la función de activación, y la última es agregar el abandono al resultado. Por favor, consulte este blog . Espero que esto ayude.
O puede colocarlo en la incrustación de entrada como en este fragmento:
Fuente: https://github.com/spro/practical-pytorch/blob/master/seq2seq-translation/seq2seq-translation.ipynb
Técnicamente, puede agregar la capa de abandono al final de un bloque, por ejemplo, después de la convolución o después de la codificación RNN.
fuente