Rnn (software)
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]
Original author(s) | Bastiaan Quast |
---|---|
Initial release | 30 November 2015 |
Stable release | 1.4.0
/ 3 July 2020 |
Repository | https://github.com/bquast/rnn |
Written in | R |
Size | 460.3 kB (v. 1.4.0) |
License | GPL v3 |
Website | cran |
The rnn package is distributed through the Comprehensive R Archive Network[2] under the open-source GPL v3 license.
Workflow
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
- Quast, Bastiaan (2019-08-30), GitHub - bquast/rnn: Recurrent Neural Networks in R., retrieved 2019-09-19
- Quast, Bastiaan; Fichou, Dimitri (2019-05-27), rnn: Recurrent Neural Network, archived from the original on 2020-01-05, retrieved 2020-01-05
- Quast, Bastiaan (2018-06-21), sigmoid: Sigmoid Functions for Machine Learning, archived from the original on 2020-01-05, retrieved 2020-01-05
- Quast, Bastiaan (2020-01-03), RNN: Recurrent Neural Networks in R releases, retrieved 2020-01-05
- Mic (2016-08-05). "The Beginner Programmer: Plain vanilla recurrent neural networks in R: waves prediction". The Beginner Programmer. Archived from the original on 2020-01-05. Retrieved 2020-01-05.
- "LSTM or other RNN package for R". Data Science Stack Exchange. Retrieved 2018-07-05.
- "Neural Networks with R". O'Reilly. September 2017. ISBN 9781788397872. Archived from the original on 2018-10-02. Retrieved 2018-10-02.
- Ciaburro, Giuseppe; Venkateswaran, Balaji (2017-09-27). Neural Networks with R: Smart models using CNN, RNN, deep learning, and artificial intelligence principles. Packt Publishing Ltd. ISBN 978-1-78839-941-8.
- Touzin, Guillaume (2017-06-21). "R-exercises – Neural networks Exercises (Part-3)". www.r-exercises.com. Archived from the original on 2020-01-05. Retrieved 2020-01-05.
- Touzin, Guillaume (2017-06-21). "Neural networks Exercises (Part-3)". R-bloggers. Archived from the original on 2020-01-05. Retrieved 2020-01-05.
- "RStudio CRAN logs".
- "CRANlogs rnn package".
- "CRANlogs rnn package".
- "RDocumentation rnn".
External links
- Repository on GitHub
- rnn package on CRAN