Мне было интересно, есть ли хорошие библиотеки R для глубокого изучения нейронных сетей? Я знаю , что это nnet
, neuralnet
и RSNNS
, но ни один из них не кажется , осуществить глубокие методы обучения.
Меня особенно интересует неконтролируемое обучение с последующим обучением и использование отсева для предотвращения коадаптации .
/ edit: Через несколько лет я обнаружил, что пакет глубокого обучения h20 очень хорошо разработан и прост в установке. Мне также нравится пакет mxnet , который (немного) сложнее в установке, но поддерживает такие вещи, как covnet, работает на графических процессорах и действительно быстр.
Ответы:
OpenSource h2o.deepLearning () - это пакет для глубокого изучения языка R с h2o.ai. Здесь можно написать статью http://www.r-bloggers.com/things-to-try-after-user-part-1-deep-learning- с-h2o /
И код: https://gist.github.com/woobe/3e728e02f6cc03ab86d8#file-link_data-r
источник
Есть пакет под названием "Дарч"
http://cran.um.ac.ir/web/packages/darch/index.html
Цитата из CRAN:
источник
В R есть еще один новый пакет для глубоких сетей: deepnet
Я еще не пытался использовать его, но он уже включен в пакет Caret .
источник
Чтобы ответить на мой собственный вопрос, я написал небольшой пакет в R для RBM: https://github.com/zachmayer/rbm
Этот пакет все еще находится в стадии разработки, и я очень мало знаю о RBM, так что я буду рад любым отзывам (и запросам!), Которые у вас есть. Вы можете установить пакет, используя devtools :
Код похож на реализацию Эндрю Лэндграфа в R и реализацию Эдвина Чена на python , но я написал функцию, которая будет похожа на функцию pca в base R и включает в себя функциональность для стекирования. Я думаю, что это немного более удобно для пользователя, чем пакет darch , который я никогда не мог понять, как использовать (даже до того, как он был удален из CRAN).
Если у вас установлен пакет gputools, вы можете использовать свой графический процессор для матричных операций с функцией rbm_gpu. Это сильно ускоряет процесс! Кроме того, большая часть работы в RBM выполняется с матричными операциями, поэтому простая установка хорошего BLAS, такого как openBLAS , также значительно ускорит процесс.
Вот что происходит, когда вы запускаете код на примере набора данных Эдвина:
источник
propack.svd()
изsvd
пакета.?rbm
. Обратите внимание, что rbm's не контролируются.Вы можете попробовать модуль глубокого обучения H2O, он распространяется и предлагает много продвинутых методов, таких как регуляризация отсева и адаптивная скорость обучения.
Слайды: http://www.slideshare.net/0xdata/h2o-deeplearning-nextml Видео: https://www.youtube.com/watch?v=gAKbAQu900w&feature=youtu.be
Учебники: http://learn.h2o.ai Данные и сценарии: http://data.h2o.ai
Документация: http://docs.h2o.ai GitBooks: http://gitbook.io/@h2o
источник
Чтобы добавить другой ответ:
mxnet потрясающий, и мне это нравится. Его немного сложно установить, но он поддерживает графические процессоры и несколько процессоров. Если вы собираетесь углубленно изучать R (особенно на изображениях), я настоятельно рекомендую вам начать с mxnet.
источник
Хотя я не сталкивался с выделенной библиотекой глубокого обучения для R, я столкнулся с подобной дискуссией о r-блоггерах. Дискуссионные центры по использованию RBM (Restricted Boltzman Machines). Взгляните на следующую ссылку:
http://www.r-bloggers.com/restricted-boltzmann-machines-in-r/ (размещено на сайте «alandgraf.blogspot.com»)
Автор действительно проделывает действительно хорошую работу по инкапсуляции самореализуемого алгоритма в R. Следует сказать, что я еще не проверял правильность кода, но, по крайней мере, в R. появляется проблеск глубокого изучения.
Надеюсь, это поможет.
источник
gputools
и рассмотрите возможность использования трюка с предварительной загрузкой в Linux для ускорения GEMM, здесь .Теперь вы также можете использовать TensorFlow из R:
https://rstudio.github.io/tensorflow/
источник