LSTM u otro paquete RNN para R

10

Vi algunos resultados impresionantes de los modelos LSTM que producen textos similares a Shakespeare. Me preguntaba si existe un paquete LSTM para R. Busqué en Google pero solo encontré paquetes para Python y Julia. (tal vez haya algún problema de rendimiento que explique por qué estos programas son más preferidos que R) ¿Conoces un paquete LSTM (o al menos un RNN) para R? Si existe, ¿hay algún tutorial para usarlos?

Viktor
fuente
Enlace de ejemplo de tales resultados: karpathy.github.io/2015/05/21/rnn-effectiveness (no estoy seguro si este es uno que ha visto)
Neil Slater
@NeilSlater Sí, esa es una buena implementación que vi pero desafortunadamente no para R.
Viktor
Actualicé mi respuesta para mencionar los algoritmos LSTM y GRU ahora disponibles en rnn .
Bastiaan Quast

Respuestas:

5

Eche un vistazo al paquete rnn (divulgación completa, soy el autor). Implementa un RNN, GRU y LSTM multicapa directamente en R, es decir, no una biblioteca subyacente de C ++, por lo que también debería poder leer el código y comprender lo que está sucediendo.

install.packages('rnn')

La versión CRAN está bastante actualizada, pero la versión de GitHub es innovadora y se puede instalar usando:

if (!require('devtools')) install.packages('devtools')
devtools::install_github('bquast/rnn')
Bastiaan Quast
fuente
Gracias por el buen paquete! Acabo de empezar a experimentar con eso. Me pregunto si ha hecho alguna comparación de velocidad con otras implementaciones.
Viktor
si está en R, ¿es realmente lento?
ran8
en realidad no, es lo suficientemente rápido para un trabajo razonable, hay limitaciones de memoria ofc
Bastiaan Quast
5

Keras también está disponible para R. Aquí hay un ejemplo de un LSTM con la API R.

capitanpete
fuente
4

Encontré esta página, pero el paquete R parece no ser de código abierto: enlace.

dom
fuente
2
Parece prometedor Según el autor, lo publicará en CRAN cuando haya terminado.
Viktor
3

Es posible que deba extender otro paquete para implementar LSTM y RNN en R. Estos son algunos paquetes para comenzar:

  • Deepnet implementa una variedad de arquitecturas de aprendizaje profundo
  • darch Una arquitectura profunda
  • H2O Una empresa de código abierto con paquetes de aprendizaje profundo
Brian Spiering
fuente
2

Es posible que desee echar un vistazo a mxnet . Es una biblioteca distribuida para el aprendizaje profundo. Es compatible con C ++, python, scala y R. Hay muchos ejemplos con R. Aquí tiene un ejemplo de LSTM en R con esta biblioteca.

hoaphumanoid
fuente