Usando o aprendizado profundo para previsão de séries temporais

54

Eu sou novo na área de aprendizado profundo e, para mim, o primeiro passo foi ler artigos interessantes no site deeplearning.net. Em artigos sobre aprendizado profundo, Hinton e outros falam principalmente sobre como aplicá-lo a problemas de imagem. Alguém pode tentar me responder, pode ser aplicado ao problema de previsão de valores de séries temporais (financeiro, tráfego na Internet, ...) e quais são as coisas importantes que eu devo focar se for possível?

Vedran
fonte
Você tem algum exemplo de código do matlab para usar o aprendizado profundo para previsão?
user3209559
Não, eu estou usando exemplo de código a partir deeplearning.net e biblioteca pylearn2 que eu modifiquei. Tente encontrar exemplos de código matlab nesta página e tente fazer as modificações necessárias para a previsão.
Vedran

Respostas:

28

Há algum trabalho sobre a adaptação de métodos de aprendizado profundo para dados seqüenciais. Muito deste trabalho se concentrou no desenvolvimento de "módulos" que podem ser empilhados de maneira análoga a empilhamento de máquinas boltzmann restritas (RBMs) ou auto-codificadores para formar uma rede neural profunda. Vou destacar alguns abaixo:

  • RBMs condicionais : provavelmente uma das aplicações mais bem-sucedidas de aprendizado profundo para séries temporais. Taylor desenvolve um modelo semelhante ao RBM que adiciona interações temporais entre unidades visíveis e o aplica à modelagem de dados de captura de movimento. Essencialmente, você acaba com um sistema dinâmico linear com alguma não linearidade adicionada pelas unidades ocultas.
  • RBMs temporais : em sua tese (seção 3), Ilya Sutskever desenvolve vários modelos semelhantes de RBM com interações temporais entre unidades. Ele também apresenta alguns resultados interessantes mostrando que o treinamento de redes neurais recorrentes com SGD pode ter um desempenho tão bom ou melhor que métodos mais complexos, como o algoritmo livre de Hessian de Martens, usando boa inicialização e uma equação levemente modificada para o momento.
  • Autoencoders recursivos : Por fim, mencionarei o trabalho de Richard Socher no uso de autoencoders recursivos para análise. Embora não seja uma série temporal, ela está definitivamente relacionada.
alto
fonte
11
Há também uma noção flutuando na comunidade de aprendizado profundo / de recursos de que você pode ver uma rede recorrente (geralmente aplicada a dados seqüenciais) como uma rede profunda "do lado", onde todas as camadas compartilham a mesma matriz de peso.
lmjohns3
E o requisito sobre o poder computacional para usar o aprendizado profundo? O Python ou o Matlab é adequado para resolver problemas de aprendizado profundo, intensos na indústria?
precisa saber é o seguinte
O Pylearn2 usa a biblioteca theano, que permite a execução em GPUs com suporte para CUDA.
Vedran 10/03
16

Sim, o aprendizado profundo pode ser aplicado para previsões de séries temporais. De fato, isso já foi feito várias vezes, por exemplo:

Este não é realmente um "caso especial", o aprendizado profundo é principalmente sobre o método de pré-processamento (baseado no modelo generativo); portanto, você precisa se concentrar exatamente nas mesmas coisas em que se concentra ao fazer o aprendizado profundo no "sentido tradicional" de um e as mesmas coisas em que você se concentra ao executar previsões de séries temporais sem aprendizado profundo.

lejlot
fonte
4

Redes neurais recorrentes são consideradas um tipo de aprendizado profundo (DL). Eu acho que elas são a ferramenta DL mais popular para o aprendizado (1d) de sequência a sequência. Atualmente, eles são a base das abordagens de Tradução Automática Neural (NMT) (pioneira em 2014 no LISA (UdeM), no Google e provavelmente em algumas outras que não me lembro).

capybaralet
fonte
3

A geração de seqüências de Alex Graves com redes neurais recorrentes usa redes recorrentes e células de memória de longo prazo para prever texto e fazer síntese de manuscritos.

Andrej Karpathy escreveu um blog sobre como gerar seqüências no nível do personagem do zero. Ele usa RNNs em seu tutorial.

Para mais exemplos, você deve olhar para Hochreiter, S., & Schmidhuber, J. (1997). Memória de curto prazo. Computação neural, 9 (8), 1735-1780.

Azrael
fonte
3

Talvez isso ajude:

Se você tiver uma definição para sua janela de tempo exata nos dados, como frases neste artigo ou parágrafos, poderá usar o LSTM, mas não sei como encontrar a janela de tempo que não seja óbvia e tenha mais conhecimento do contexto. Um exemplo disso pode ser quantos dados de log que você está vendo estão relacionados e isso não é algo óbvio.

M.Rez
fonte
11
Você poderia dizer o que é útil no jornal? Isso é interessante #
shadowtalker
11
Eu acho que você pode encontrar outros artigos aqui: cs.stanford.edu/people/ang/?page_id=414
M.Rez
5
obrigado, mas não foi isso que eu quis dizer. Normalmente, aqui pedimos que as pessoas expliquem como os documentos aos quais eles vinculam são relevantes para a resposta. É útil para todos, que pode não ter tempo para rastrear e ler o jornal, e especialmente para pessoas sem assinaturas de banco de dados da biblioteca que não podem obter paywalls últimos
shadowtalker