Rnn (software)
   HOME

TheInfoList



OR:

rnn is an open-source
machine learning Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
framework that implements
recurrent neural network Recurrent neural networks (RNNs) are a class of artificial neural networks designed for processing sequential data, such as text, speech, and time series, where the order of elements is important. Unlike feedforward neural networks, which proces ...
architectures, such as
LSTM Long short-term memory (LSTM) is a type of recurrent neural network (RNN) aimed at mitigating the vanishing gradient problem commonly encountered by traditional RNNs. Its relative insensitivity to gap length is its advantage over other RNNs, hi ...
and
GRU Gru is a fictional character and the main protagonist of the ''Despicable Me'' film series. Gru or GRU may also refer to: Arts and entertainment * Gru (rapper), Serbian rapper * Gru, an antagonist in '' The Kine Saga'' Organizations Georgia (c ...
, 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 under the
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
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 function A sigmoid function is any mathematical function whose graph of a function, graph has a characteristic S-shaped or sigmoid curve. A common example of a sigmoid function is the logistic function, which is defined by the formula :\sigma(x ...
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 Recurrent neural networks (RNNs) are a class of artificial neural networks designed for processing sequential data, such as text, speech, and time series, where the order of elements is important. Unlike feedforward neural networks, which proces ...
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 () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...

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)