Software:rnn

From HandWiki
Revision as of 14:25, 9 February 2024 by S.Timg (talk | contribs) (link)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Machine Learning framework written in the R language

rnn
Rnn-software-screenshot-2.png
Original author(s)Bastiaan Quast
Initial release30 November 2015 (2015-11-30)
Stable release
1.9.0 / 22 April 2023; 12 months ago (2023-04-22)
Preview release
1.9.0.9000 / 22 April 2023; 12 months ago (2023-04-22)
Repositorygithub.com/bquast/rnn
Written inR
Operating systemmacOS, Linux, Windows
Size564.2 kB (v. 1.9.0)
LicenseGPL v3
Websitecran.r-project.org/package=rnn

rnn is an open-source machine learning framework that implements recurrent neural network architectures, such as LSTM and GRU, natively in the R programming language, that has been downloaded over 100,000 times (from the RStudio servers alone).[1]

The rnn package is distributed through the Comprehensive R Archive Network[2] under the open-source GPL v3 license.

Workflow

Demonstration of RNN package

The below example from the rnn documentation show how to train a recurrent neural network to solve the problem of bit-by-bit binary addition.

> # install the rnn package, including the dependency sigmoid
> install.packages('rnn')

> # load the rnn package
> library(rnn)

> # create input data 
> X1 = sample(0:127, 10000, replace=TRUE)
> X2 = sample(0:127, 10000, replace=TRUE)

> # create output data
> Y <- X1 + X2

> # convert from decimal to binary notation 
> X1 <- int2bin(X1, length=8)
> X2 <- int2bin(X2, length=8)
> Y  <- int2bin(Y,  length=8)

> # move input data into single tensor
> X <- array( c(X1,X2), dim=c(dim(X1),2) )

> # train the model
> model <- trainr(Y=Y,
+                 X=X,
+                 learningrate   =  1,
+                 hidden_dim     = 16  )
Trained epoch: 1 - Learning rate: 1
Epoch error: 0.839787019539748

sigmoid

The sigmoid functions and derivatives used in the package were originally included in the package, from version 0.8.0 onwards, these were released in a separate R package sigmoid, with the intention to enable more general use. The sigmoid package is a dependency of the rnn package and therefore automatically installed with it.[3]

Reception

With the release of version 0.3.0 in April 2016[4] the use in production and research environments became more widespread. The package was reviewed several months later on the R blog The Beginner Programmer as "R provides a simple and very user friendly package named rnn for working with recurrent neural networks.",[5] which further increased usage.[6]

The book Neural Networks in R by Balaji Venkateswaran and Giuseppe Ciaburro uses rnn to demonstrate recurrent neural networks to R users.[7][8] It is also used in the r-exercises.com course "Neural network exercises".[9][10]

The RStudio CRAN mirror download logs [11] show that the package is downloaded on average about 2,000 per month from those servers ,[12] with a total of over 100,000 downloads since the first release,[13] according to RDocumentation.org, this puts the package in the 15th percentile of most popular R packages .[14]

References

  1. Quast, Bastiaan (2019-08-30), GitHub - bquast/rnn: Recurrent Neural Networks in R., https://github.com/bquast/rnn, retrieved 2019-09-19 
  2. Quast, Bastiaan; Fichou, Dimitri (2019-05-27), rnn: Recurrent Neural Network, https://cran.r-project.org/package=rnn, retrieved 2020-01-05 
  3. Quast, Bastiaan (2018-06-21), sigmoid: Sigmoid Functions for Machine Learning, https://cran.r-project.org/package=sigmoid, retrieved 2020-01-05 
  4. Quast, Bastiaan (2020-01-03), RNN: Recurrent Neural Networks in R releases, https://github.com/bquast/rnn, retrieved 2020-01-05 
  5. Mic (2016-08-05). "The Beginner Programmer: Plain vanilla recurrent neural networks in R: waves prediction". http://firsttimeprogrammer.blogspot.com/2016/08/plain-vanilla-recurrent-neural-networks.html. 
  6. "LSTM or other RNN package for R". https://datascience.stackexchange.com/questions/6964/lstm-or-other-rnn-package-for-r. 
  7. "Neural Networks with R" (in en). O'Reilly. September 2017. ISBN 9781788397872. https://www.oreilly.com/library/view/neural-networks-with/9781788397872/9219bb11-a546-4e48-aa5f-689cc720228e.xhtml. 
  8. Ciaburro, Giuseppe; Venkateswaran, Balaji (2017-09-27) (in en). Neural Networks with R: Smart models using CNN, RNN, deep learning, and artificial intelligence principles. Packt Publishing Ltd. ISBN 978-1-78839-941-8. https://books.google.com/books?id=IppGDwAAQBAJ. 
  9. Touzin, Guillaume (2017-06-21). "R-exercises – Neural networks Exercises (Part-3)". https://www.r-exercises.com/2017/06/21/neural-networks-exercises-part-3/. 
  10. Touzin, Guillaume (2017-06-21). "Neural networks Exercises (Part-3)" (in en-US). https://www.r-bloggers.com/neural-networks-exercises-part-3/. 
  11. "RStudio CRAN logs". http://cran-logs.rstudio.com/. 
  12. "CRANlogs rnn package". https://cranlogs.r-pkg.org/badges/rnn. 
  13. "CRANlogs rnn package". https://cranlogs.r-pkg.org/badges/grand-total/rnn. 
  14. "RDocumentation rnn". https://www.rdocumentation.org/packages/rnn. 

External links