Uso del aprendizaje profundo para la predicción de series temporales

54

Soy nuevo en el área de aprendizaje profundo y para mí el primer paso fue leer artículos interesantes del sitio deeplearning.net. En artículos sobre aprendizaje profundo, Hinton y otros hablan principalmente de aplicarlo a problemas de imagen. ¿Puede alguien intentar responderme? ¿Se puede aplicar al problema de predecir valores de series temporales (financiero, tráfico de Internet, ...) y cuáles son las cosas importantes en las que debería centrarme si es posible?

Vedran
fuente
¿Tiene algún ejemplo de código matlab para usar el aprendizaje profundo para pronosticar?
user3209559
No, estoy usando un ejemplo de código de deeplearning.net y la biblioteca pylearn2 que modifiqué. Intente encontrar ejemplos de código matlab en esta página e intente hacer las modificaciones necesarias para el pronóstico.
Vedran

Respuestas:

28

Se ha trabajado en la adaptación de métodos de aprendizaje profundo para datos secuenciales. Gran parte de este trabajo se ha centrado en el desarrollo de "módulos" que pueden apilarse de forma análoga al apilamiento de máquinas de Boltzmann restringidas (RBM) o autoencoders para formar una red neuronal profunda. Destacaré algunos a continuación:

  • RBM condicionales : probablemente una de las aplicaciones más exitosas de aprendizaje profundo para series temporales. Taylor desarrolla un modelo similar a RBM que agrega interacciones temporales entre unidades visibles y lo aplica a los datos de captura de movimiento de modelado. Esencialmente terminas con algo así como un sistema dinámico lineal con algo de no linealidad agregada por las unidades ocultas.
  • RBM temporales : en su tesis (sección 3) Ilya Sutskever desarrolla varios modelos similares a RBM con interacciones temporales entre unidades. También presenta algunos resultados interesantes que muestran que el entrenamiento de redes neuronales recurrentes con SGD puede funcionar tan bien o mejor que los métodos más complejos, como el algoritmo sin arpillera de Martens, utilizando una buena inicialización y una ecuación ligeramente modificada para el impulso.
  • Codificadores automáticos recursivos : Por último, mencionaré el trabajo de Richard Socher sobre el uso de codificadores automáticos recursivos para el análisis. Aunque esto no es una serie temporal, definitivamente está relacionado.
alto
fuente
1
También hay una noción flotando en la comunidad de aprendizaje profundo / característico de que puede ver una red recurrente (a menudo aplicada a datos secuenciales) como una red profunda "en su lado", donde todas las capas comparten la misma matriz de peso.
lmjohns3
¿Qué pasa con el requisito del poder computacional para usar el aprendizaje profundo? ¿Python o Matlab son adecuados para resolver el problema de aprendizaje profundo de la industria?
user3269
Pylearn2 utiliza la biblioteca theano que permite la ejecución en GPU con soporte CUDA.
Vedran
16

Sí, el aprendizaje profundo se puede aplicar para predicciones de series de tiempo. De hecho, ya se ha hecho muchas veces, por ejemplo:

Este no es realmente un "caso especial", el aprendizaje profundo se trata principalmente del método de preprocesamiento (basado en el modelo generativo), por lo que debe centrarse exactamente en las mismas cosas en las que se enfoca cuando hace el aprendizaje profundo en "sentido tradicional" en uno mano, y las mismas cosas en las que te enfocas mientras realizas predicciones de series de tiempo sin aprendizaje profundo.

lejlot
fuente
4

Las redes neuronales recurrentes se consideran un tipo de aprendizaje profundo (DL). Creo que son la herramienta DL más popular para el aprendizaje de secuencia a secuencia (1d). Actualmente son la base de los enfoques de Traducción Neural Automática (NMT) (pioneros en 2014 en LISA (UdeM), Google y probablemente un par de otros que no recuerdo).

capibaralet
fuente
3

Las secuencias generadoras de Alex Graves con redes neuronales recurrentes utilizan redes recurrentes y celdas de memoria a largo plazo para predecir el texto y realizar síntesis de escritura a mano.

Andrej Karpathy ha escrito un blog sobre la generación de secuencias de nivel de personaje desde cero. Utiliza RNN en su tutorial.

Para ver más ejemplos, debe mirar: Hochreiter, S. y Schmidhuber, J. (1997). Memoria a largo plazo a largo plazo. Cálculo neuronal, 9 (8), 1735-1780.

Azrael
fuente
3

Tal vez esto ayude:

Si tiene una definición para su ventana de tiempo exacta en los datos, como oraciones en este documento o párrafos, entonces estará bien con el uso de LSTM, pero no estoy seguro de cómo encontrar la ventana de tiempo que no sea obvia y tenga más en cuenta el contexto. Un ejemplo de esto puede ser cuántos de los datos de registro que está viendo están relacionados y eso no es algo obvio.

M.Rez
fuente
1
¿Podrías decir qué es útil en el periódico? Esto es algo interesante
shadowtalker
1
Creo que puede encontrar algunos otros documentos aquí: cs.stanford.edu/people/ang/?page_id=414
M.Rez
55
gracias pero eso no es lo que quise decir. Por lo general, aquí pedimos que las personas expliquen cómo los documentos a los que se vinculan son relevantes para la respuesta. Es útil a todo el mundo, que podrían no tener tiempo para localizar y leer el periódico, y en especial a las personas sin suscripciones de bases de datos de la biblioteca que no pueden conseguir paywalls últimos
shadowtalker