Usando una capa múltiple LSTM
con 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.
neural-network
lstm
rnn
dropout
stacked-lstm
BigBadMe
fuente
fuente
Respuestas:
Prefiero no agregar abandono en las
LSTM
celdas por una razón específica y clara.LSTMs
son 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 lasLSTM
células, existe la posibilidad de olvidar algo que no debe olvidarse. En consecuencia, comoCNNs
siempre prefiero usar el abandono en capas densas después de lasLSTM
capas.fuente
CNNs
es completamente aceptable no utilizarlos en capas conv debido al pequeño número de pesos en capas convolucionales. PorLSTMs
otro 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.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).
fuente