Rnn (программное обеспечение)

Rnn — открытое программное обеспечение для машинного обучения, реализующее архитектуры рекуррентные нейронные сети, такие как LSTM и GRU, на языке программирования R. Пакет rnn был загружен более 100 000 раз (только с серверов RStudio)[1].

Пакет rnn распространяется через CRAN[2] по открытой лицензии GPL v3.

Общие сведения
rnn
Автор Бастиан Кваст
Написана на R
Операционные системы macOS, Linux, Windows
Первый выпуск 30 ноября 2015
Последняя версия 1.9.0 (22 апреля 2023)
Кандидат в релизы 1.9.0.9000 (22 апреля 2023)
Репозиторий github.com/bquast/rnn
Лицензия GPL v3
Сайт cran.r-project.org/web/p…

Пример работы

Пример ниже из документации rnn показывает, как обучить рекуррентную нейронную сеть для поразрядного сложения двоичных чисел.

undefined
# установка пакета rnn и зависимости sigmoid
install.packages('rnn')

# загрузка пакета rnn
library(rnn)

# создание входных данных
X1 = sample(0:127, 10000, replace=TRUE)
X2 = sample(0:127, 10000, replace=TRUE)

# создание выходных данных
Y <- X1 + X2

# перевод из десятичного в двоичный код
X1 <- int2bin(X1, length=8)
X2 <- int2bin(X2, length=8)
Y  <- int2bin(Y,  length=8)

# объединение входных данных в один тензор
X <- array( c(X1,X2), dim=c(dim(X1),2) )

# обучение модели
model <- trainr(Y=Y,
                X=X,
                learningrate   =  1,
                hidden_dim     = 16  )
Trained epoch: 1 - Learning rate: 1
Epoch error: 0.839787019539748

sigmoid

Используемые в пакете функции сигмоиды и их производные первоначально входили в состав rnn, однако начиная с версии 0.8.0 были вынесены в отдельный пакет R — sigmoid — с целью более широкого применения. Пакет sigmoid является зависимостью rnn и поэтому устанавливается вместе с ним[3].

Отзывы и применение

С выходом версии 0.3.0 в апреле 2016 года[4] пакет стал шире использоваться в производственных и научных задачах. Несколько месяцев спустя на блоге The Beginner Programmer был опубликован обзор, в котором отмечалось: «R предоставляет простой и очень удобный пакет с названием rnn для работы с рекуррентными нейронными сетями»[5], что способствовало дальнейшему росту популярности[6].

В книге Neural Networks in R Баладжи Венкатесварана и Джузеппе Чиабурро подробно рассматривается применение rnn для демонстрации рекуррентных нейронных сетей в R[7][8]. Пакет также используется в учебном курсе r-exercises.com «Neural network exercises»[9][10].

Согласно журналу загрузок зеркала RStudio CRAN[11], пакет загружают в среднем около 2000 раз в месяц с данных серверов[12], всего с момента первого выпуска загрузок было более 100 000[13], а по информации RDocumentation.org это помещает пакет в 15-й процентиль самых популярных пакетов для R[14].

Примечания

  1. Quast, Bastiaan GitHub - bquast/rnn: Recurrent Neural Networks in R. (30 августа 2019). Дата обращения: 19 сентября 2019. Архивировано 8 октября 2025 года.
  2. Quast, Bastiaan; Fichou, Dimitri rnn: Recurrent Neural Network (27 мая 2019). Дата обращения: 5 января 2020. Архивировано 5 января 2020 года.
  3. Quast, Bastiaan sigmoid: Sigmoid Functions for Machine Learning (21 июня 2018). Дата обращения: 5 января 2020. Архивировано 5 января 2020 года.
  4. Quast, Bastiaan RNN: Recurrent Neural Networks in R releases (3 января 2020). Дата обращения: 5 января 2020. Архивировано 8 октября 2025 года.
  5. Mic The Beginner Programmer: Plain vanilla recurrent neural networks in R: waves prediction. The Beginner Programmer (5 августа 2016). Дата обращения: 5 января 2020. Архивировано 5 января 2020 года.
  6. LSTM or other RNN package for R. Data Science Stack Exchange. Дата обращения: 5 июля 2018. Архивировано 5 июля 2018 года.
  7. Neural Networks with R (англ.), O'Reilly (1 September 2017). Архивировано 2 октября 2018 года. Дата обращения: 2 октября 2018.
  8. Ciaburro, Giuseppe. Neural Networks with R: Smart models using CNN, RNN, deep learning, and artificial intelligence principles : [англ.] / Giuseppe Ciaburro, Balaji Venkateswaran. — Packt Publishing Ltd, 2017-09-27. — ISBN 978-1-78839-941-8.
  9. Touzin, Guillaume R-exercises – Neural networks Exercises (Part-3). www.r-exercises.com (21 июня 2017). Дата обращения: 5 января 2020. Архивировано 5 января 2020 года.
  10. Touzin, Guillaume Neural networks Exercises (Part-3) (амер. англ.). R-bloggers (21 июня 2017). Дата обращения: 5 января 2020. Архивировано 5 января 2020 года.
  11. RStudio CRAN logs.
  12. CRANlogs rnn package. Архивировано 11 января 2024 года.
  13. CRANlogs rnn package. Архивировано 18 сентября 2024 года.
  14. RDocumentation rnn.

Ссылки