LSTM ou autre package RNN pour R


10

J'ai vu un résultat impressionnant de modèles LSTM produisant Shakespeare comme des textes. Je me demandais si un package LSTM existe pour R. Je l'ai recherché sur Google, mais je n'ai trouvé que des packages pour Python et Julia. (Peut-être qu'il y a un problème de performances qui explique pourquoi ces programmes sont plus préférés que R) Connaissez-vous un package LSTM (ou au moins un RNN) pour R? S'il existe, existe-t-il des tutoriels pour les utiliser?


Exemple de lien de tels résultats: karpathy.github.io/2015/05/21/rnn-effectiveness ( je ne sais pas si c'est celui que vous avez vu)
Neil Slater

@NeilSlater Oui, c'est une belle implémentation que j'ai vue mais malheureusement pas pour R.
Viktor

J'ai mis à jour ma réponse pour mentionner les algorithmes LSTM et GRU maintenant disponibles dans rnn .
Bastiaan Quast

Réponses:


5

Jetez un œil au paquetage rnn (divulgation complète, je suis l'auteur). Il implémente un RNN, GRU et LSTM multicouches directement dans R, c'est-à-dire pas une bibliothèque C ++ sous-jacente, vous devriez donc également être en mesure de lire le code et de comprendre ce qui se passe.

install.packages('rnn')

La version CRAN est assez à jour, mais la version GitHub est à la pointe de la technologie et peut être installée en utilisant:

if (!require('devtools')) install.packages('devtools')
devtools::install_github('bquast/rnn')

Merci pour le joli paquet! Je viens de commencer à l'expérimenter. Je me demande si vous avez fait une comparaison de vitesse avec d'autres implémentations.
Viktor

si c'est en R c'est vraiment lent?
ran8

pas vraiment, c'est assez rapide pour un travail raisonnable, il y a des limitations de mémoire ofc
Bastiaan Quast


4

J'ai trouvé cette page, mais le package R ne semble pas être open source: lien.


2
Cela semble prometteur. Selon l'auteur, il le publiera sur CRAN une fois terminé.
Viktor

3

Vous devrez peut-être étendre un autre package pour implémenter LSTM et RNN dans R. Voici quelques packages pour vous aider à démarrer:

  • deepnet implémente une variété d'architectures d'apprentissage en profondeur
  • darch Une architecture profonde
  • H2O Une entreprise open source avec des packages d'apprentissage en profondeur

2

Vous voudrez peut-être jeter un œil à mxnet . Il s'agit d'une bibliothèque distribuée pour l'apprentissage en profondeur. Il prend en charge C ++, python, scala et R. Il existe de nombreux exemples avec R. Ici, vous avez un exemple de LSTM dans R avec cette bibliothèque.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.