¿Abandono en qué capas de LSTM?

11

Usando una capa múltiple LSTMcon caída, ¿es aconsejable colocar la caída en todas las capas ocultas, así como en las capas densas de salida? En el artículo de Hinton (que proponía Dropout) solo puso Dropout en las capas densas, pero eso fue porque las capas internas ocultas eran convolucionales.

Obviamente, puedo probar mi modelo específico, pero me preguntaba si había un consenso al respecto.

BigBadMe
fuente
3
Si está interesado , puede consultar una buena discusión sobre el abandono en las redes recurrentes en este documento: arxiv.org/abs/1512.05287 Gal, Yarin y Zoubin Ghahramani. "Una aplicación de abandono teóricamente fundamentada en redes neuronales recurrentes". Avances en sistemas de procesamiento de información neuronal. 2016.
redhqs
2
Parece confirmar lo que @Media dijo a continuación
BigBadMe

Respuestas:

12

Prefiero no agregar abandono en las LSTMceldas por una razón específica y clara. LSTMsson buenos a largo plazo, pero una cosa importante acerca de ellos es que no son muy buenos para memorizar múltiples cosas simultáneamente. La lógica del abandono es agregar ruido a las neuronas para no depender de ninguna neurona específica. Al agregar el abandono de las LSTMcélulas, existe la posibilidad de olvidar algo que no debe olvidarse. En consecuencia, como CNNssiempre prefiero usar el abandono en capas densas después de las LSTMcapas.

Medios de comunicación
fuente
1
Entiendo lo que está diciendo, y tiene sentido, pero entonces, ¿por qué la implementación de celdas LSTM en Keras o Tensorflow proporciona la capacidad de especificar el abandono (y el abandono recurrente) si, en efecto, socavará cómo se supone que un LSTM ¿función?
BigBadMe
3
En CNNses completamente aceptable no utilizarlos en capas conv debido al pequeño número de pesos en capas convolucionales. Por LSTMsotro lado, el número de pesos no es pequeño. Como mencioné en las tareas que hay muchas cosas que deben memorizarse, trato de no usar la deserción, pero en casos como el tiempo de los verbos que no tienes muchas dependencias, supongo que no es muy malo. Por cierto, fue mi experiencia. Puede haber otras respuestas para diferentes dominios de aplicación.
Medios de comunicación
1
¡Gran explicación de ambas respuestas! (+ 1)
Aditya el
5

No existe un consenso que pueda probarse en todos los tipos de modelos.

Pensando en el abandono como una forma de regularización, cuánto de él aplicar (y dónde) dependerá inherentemente del tipo y tamaño del conjunto de datos, así como de la complejidad de su modelo construido (qué tan grande es).

n1k31t4
fuente