¿Qué métodos de optimización funcionan mejor para los LSTM?

20

He estado usando theano para experimentar con LSTM y me preguntaba qué métodos de optimización (SGD, Adagrad, Adadelta, RMSprop, Adam, etc.) funcionan mejor para LSTM. ¿Hay trabajos de investigación sobre este tema?

Además, ¿la respuesta depende del tipo de aplicación para la que estoy usando el LSTM? Si es así, estoy usando LSTM para la clasificación de texto (donde el texto se convierte primero en vectores de palabras).

Finalmente, ¿serían las respuestas iguales o diferentes para los RNN? Cualquier sugerencia para investigar trabajos, o ideas personales sería muy apreciada.

Los LSTM parecen ser bastante poderosos y estoy interesado en aprender más sobre cómo usarlos mejor.

sidra de manzana
fuente

Respuestas:

7

Irónicamente, los mejores optimizadores para LSTM son ellos mismos LSTM: https://arxiv.org/abs/1606.04474 Aprendiendo a aprender por gradiente descendente por gradiente descendente.

La idea básica es usar una red neuronal (específicamente aquí una red LSTM) para aprender y enseñar los gradientes de la red original. Se llama meta aprendizaje.

Este método, aunque propuesto por Juergen Schmidhuber en 2000, solo recientemente demostró superar a los otros optimizadores en el entrenamiento RNN. (ver el documento original para un bonito gráfico)

Anona112
fuente
¿Puedes expandirnos diciéndonos lo que dice el enlace?
mdewey
modificado para su placer. Dado que la pregunta original era "¿Qué métodos de optimización funcionan mejor para los LSTM?" no "Cómo funcionan los mejores métodos de optimización para LSTM" Lo dejo así.
Anona112
4

En general, no hay evidencia clara de qué método de optimización utilizar en qué escenario. Ha habido algunos análisis en el comportamiento de estos métodos en diferentes escenarios, sin embargo, nada es concluyente. Si quieres sumergirte en estas cosas, te recomiendo: http://papers.nips.cc/paper/5486-identifying-and-attacking-the-saddle-point-problem-in-high-dimensional-non-convex- optimización.pdf

Para proporcionarle al menos una respuesta, diría que a menudo la configuración de su rutina de optimización es más importante que la rutina en sí misma.

Además, le recomiendo que revise los documentos para ver qué técnicas se están utilizando. Alex Graves, por ejemplo, se ha beneficiado al usar RMSprop en la mayoría de sus publicaciones sobre la generación de secuencias.

Sjoerd
fuente