Rnn (software)
   HOME

TheInfoList



OR:

rnn is an open-source
machine learning Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence. Machine ...
framework that implements
recurrent neural network A recurrent neural network (RNN) is a class of artificial neural networks where connections between nodes can create a cycle, allowing output from some nodes to affect subsequent input to the same nodes. This allows it to exhibit temporal dynamic ...
architectures, such as
LSTM Long short-term memory (LSTM) is an artificial neural network used in the fields of artificial intelligence and deep learning. Unlike standard feedforward neural networks, LSTM has feedback connections. Such a recurrent neural network (RNN) c ...
and
GRU The Main Directorate of the General Staff of the Armed Forces of the Russian Federation, rus, Гла́вное управле́ние Генера́льного шта́ба Вооружённых сил Росси́йской Федера́ци ...
, natively in the R programming language, that has been downloaded over 100,000 times (from the RStudio servers alone). The rnn package is distributed through the
Comprehensive R Archive Network R packages are extensions to the R statistical programming language. R packages contain code, data, and documentation in a standardised collection format that can be installed by users of R, typically via a centralised software repository such as ...
under the
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
GPL v3 The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general u ...
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 function A sigmoid function is a mathematical function having a characteristic "S"-shaped curve or sigmoid curve. A common example of a sigmoid function is the logistic function shown in the first figure and defined by the formula: :S(x) = \frac = \f ...
s 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.


Reception

With the release of version 0.3.0 in April 2016 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.", which further increased usage. The boo
Neural Networks in R
by Balaji Venkateswaran and Giuseppe Ciaburro uses rnn to demonstrate
recurrent neural networks A recurrent neural network (RNN) is a class of artificial neural networks where connections between nodes can create a cycle, allowing output from some nodes to affect subsequent input to the same nodes. This allows it to exhibit temporal dynamic ...
to R users. It is also used in the r-exercises.com course "Neural network exercises". The RStudio CRAN mirror download logs show that the package is downloaded on average about 2,000 per month from those servers , with a total of over 100,000 downloads since the first release, according to RDocumentation.org, this puts the package in the 15th percentile of most popular R packages .


References


External links


Repository
on
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous ...

rnn package
on CRAN {{Deep Learning Software Deep learning software Free statistical software Free science software Open-source artificial intelligence R scientific libraries Free R (programming language) software R (programming language)