LSTM ou outro pacote RNN para R

10

Eu vi alguns resultados impressionantes dos modelos LSTM produzindo textos como Shakespeare. Eu queria saber se existe um pacote LSTM para R. Eu pesquisei por ele, mas só encontrei pacotes para Python e Julia. (talvez haja algum problema de desempenho que explique por que esses programas são mais preferíveis ao R) Você conhece um pacote LSTM (ou pelo menos um RNN) para R? Se existir, existem tutoriais para usá-los?

Viktor
fonte
Exemplo ligação de tais resultados: karpathy.github.io/2015/05/21/rnn-effectiveness (não tenho certeza se este é um que você já viu)
Neil Slater
@NeilSlater Sim, essa é uma boa aplicação que eu vi, mas infelizmente não para R.
Viktor
Eu atualizei a minha resposta de mencionar o LSTM agora disponíveis e algoritmos GRU na RNN .
Bastiaan Quast

Respostas:

5

Dê uma olhada no pacote rnn (divulgação completa, eu sou o autor). Ele implementa uma RNN, GRU e LSTM de várias camadas diretamente no R, ou seja, não é uma biblioteca C ++ subjacente; portanto, você também deve ler o código e entender o que está acontecendo.

install.packages('rnn')

A versão CRAN está bastante atualizada, mas a versão GitHub é moderna e pode ser instalada usando:

if (!require('devtools')) install.packages('devtools')
devtools::install_github('bquast/rnn')
Bastiaan Quast
fonte
Obrigado pelo bom pacote! Eu apenas comecei a experimentar. Gostaria de saber se você fez alguma comparação de velocidade com outras implementações.
Viktor
se está em R é realmente lento?
precisa saber é
Não realmente, é rápido o suficiente para o trabalho razoável, há ofc limitações de memória
Bastiaan Quast
5

Keras também está disponível para R. Aqui está um exemplo de um LSTM com a API R.

capitão
fonte
4

Encontrei esta página, mas o pacote R parece não ser de código aberto: link.

dom
fonte
2
Parece promissor. Segundo o autor, ele publicará no CRAN quando terminar.
Viktor
3

Pode ser necessário estender outro pacote para implementar LSTM e RNN em R. Aqui estão alguns pacotes para você começar:

  • deepnet Implementa uma variedade de arquiteturas de aprendizado profundo
  • darch Uma arquitetura profunda
  • H2O Uma empresa de código aberto com pacotes de aprendizado profundo
Brian Spiering
fonte
2

Você pode querer dar uma olhada no mxnet . É uma biblioteca distribuída para aprendizado profundo. Ele suporta C ++, python, scala e R. Existem muitos exemplos com R. Aqui você tem um exemplo de LSTM em R com esta biblioteca.

hoaphumanoid
fonte