Zastanawiałem się, czy są jakieś dobre biblioteki R do głębokiego uczenia sieci neuronowych? Wiem, że tam jest nnet
, neuralnet
i RSNNS
, ale żaden z nich nie wydają się wdrożyć głębokie metod nauczania.
Szczególnie interesuje mnie nauka bez nadzoru, a następnie nadzorowane uczenie się, a także rezygnacja z pracy, aby zapobiec wspólnej adaptacji .
/ edit: Po kilku latach odkryłem, że pakiet dogłębnej nauki h20 jest bardzo dobrze zaprojektowany i łatwy w instalacji. Uwielbiam także pakiet mxnet , który jest (trochę) trudniejszy do zainstalowania, ale obsługuje takie rzeczy jak covnets, działa na GPU i jest naprawdę szybki.
Odpowiedzi:
OpenSource h2o.deepLearning () to pakiet do głębokiego uczenia się w języku R z h2o.ai oto http://www.r-bloggers.com/things-to-try-after-user-part-1-deep-learning- z-H2O /
I kod: https://gist.github.com/woobe/3e728e02f6cc03ab86d8#file-link_data-r
źródło
Istnieje pakiet o nazwie „darch”
http://cran.um.ac.ir/web/packages/darch/index.html
Cytat z CRAN:
źródło
W R: deepnet istnieje kolejny nowy pakiet dla sieci głębokich
Nie próbowałem go jeszcze używać, ale został już włączony do pakietu Caret .
źródło
Aby odpowiedzieć na moje pytanie, napisałem mały pakiet w R dla RBM: https://github.com/zachmayer/rbm
Ten pakiet jest wciąż intensywnie rozwijany i niewiele wiem o RBM, więc chętnie przyjmę wszelkie opinie (i prośby o ściągnięcie)! Możesz zainstalować pakiet za pomocą devtools :
Kod jest podobny do implementacji Andrew Landgrafa w R i implementacji Edwina Chena w pythonie , ale napisałem tę funkcję, aby była podobna do funkcji pca w bazie R i zawierała funkcję stosową. Myślę, że jest trochę bardziej przyjazny dla użytkownika niż pakiet darch , którego nigdy nie mogłem wymyślić, jak go używać (nawet zanim został usunięty z CRAN).
Jeśli masz zainstalowany pakiet gputools , możesz używać swojego GPU do operacji macierzowych za pomocą funkcji rbm_gpu. To bardzo przyspiesza! Co więcej, większość pracy w RBM jest wykonywana przy użyciu operacji matrycowych, więc samo zainstalowanie dobrego BLAS, takiego jak openBLAS , również znacznie przyspieszy.
Oto, co dzieje się po uruchomieniu kodu na przykładowym zestawie danych Edwina:
źródło
propack.svd()
zsvd
pakietu.?rbm
. Zauważ, że rbm nie są nadzorowane.Możesz wypróbować moduł głębokiego uczenia H2O, jest on dystrybuowany i oferuje wiele zaawansowanych technik, takich jak regularyzacja rezygnacji i adaptacyjna szybkość uczenia się.
Slajdy: http://www.slideshare.net/0xdata/h2o-deeplearning-nextml Wideo: https://www.youtube.com/watch?v=gAKbAQu900w&feature=youtu.be
Samouczki: http://learn.h2o.ai Dane i skrypty: http://data.h2o.ai
Dokumentacja: http://docs.h2o.ai GitBooks: http://gitbook.io/@h2o
źródło
Aby dodać kolejną odpowiedź:
mxnet jest niesamowity i uwielbiam go . Trochę trudno go zainstalować, ale obsługuje procesory graficzne i wiele procesorów. Jeśli zamierzasz przeprowadzić głęboką naukę w języku R (szczególnie na obrazach), zdecydowanie polecam zacząć od mxnet.
źródło
Chociaż nie spotkałem dedykowanej biblioteki do głębokiego uczenia się dla R, spotkałem się z podobną dyskusją na temat r-blogerów. Dyskusje koncentrują się na korzystaniu z RBM (Restricted Boltzman Machines). Spójrz na poniższy link -
http://www.r-bloggers.com/restricted-boltzmann-machines-in-r/ (opublikowane na stronie „alandgraf.blogspot.com”)
Autor faktycznie wykonuje naprawdę dobrą robotę enkapsulacji samozrealizowanego algorytmu w R. Trzeba powiedzieć, że nie sprawdziłem jeszcze poprawności kodu, ale przynajmniej jest pewien błysk głębokiego uczenia się, który zaczyna się pokazywać w R.
Mam nadzieję, że to pomoże.
źródło
gputools
i rozważ użycie sztuczki wstępnego ładowania w systemie Linux, aby przyspieszyć GEMM, tutaj .Możesz teraz także używać TensorFlow z R:
https://rstudio.github.io/tensorflow/
źródło