Ich habe mich gefragt, ob es da draußen gute R-Bibliotheken für tieflernende neuronale Netze gibt. Ich weiß, dass es die nnet
, neuralnet
und gibt RSNNS
, aber keine davon scheint Deep-Learning-Methoden zu implementieren.
Ich interessiere mich besonders für unbeaufsichtigtes, gefolgt von beaufsichtigtem Lernen und für die Verwendung von Abbrüchen, um eine Co-Anpassung zu verhindern .
/ edit: Nach ein paar Jahren fand ich das h20 Deep Learning-Paket sehr gut gestaltet und einfach zu installieren. Ich mag auch das mxnet-Paket , das (etwas) schwieriger zu installieren ist, aber Dinge wie Covnets unterstützt, auf GPUs läuft und sehr schnell ist.
Antworten:
OpenSource h2o.deepLearning () ist ein Paket für Deeplearning in R von h2o.ai hier ist eine Beschreibung http://www.r-bloggers.com/things-to-try-after-user-part-1-deep-learning- mit-h2o /
Und Code: https://gist.github.com/woobe/3e728e02f6cc03ab86d8#file-link_data-r
quelle
Es gibt ein Paket namens "darch"
http://cran.um.ac.ir/web/packages/darch/index.html
Zitat von CRAN:
quelle
Es gibt ein weiteres neues Paket für tiefe Netzwerke in R: deepnet
Ich habe es noch nicht ausprobiert, aber es wurde bereits in das Caret- Paket aufgenommen.
quelle
Um meine eigene Frage zu beantworten, habe ich ein kleines Paket in R für RBMs geschrieben: https://github.com/zachmayer/rbm
Dieses Paket befindet sich noch in der Entwicklung und ich weiß sehr wenig über RBMs, daher würde ich mich über Feedback (und Pull-Anfragen!) Freuen. Sie können das Paket mit devtools installieren :
Der Code ähnelt Andrew Landgrafs Implementierung in R und Edwin Chens Implementierung in Python , aber ich habe die Funktion so geschrieben, dass sie der pca-Funktion in Base R ähnelt und Funktionen zum Stapeln enthält. Ich denke, es ist ein bisschen benutzerfreundlicher als das Darch-Paket , dessen Verwendung ich nie herausfinden konnte (noch bevor es aus CRAN entfernt wurde).
Wenn Sie das Paket gputools installiert haben, können Sie Ihre GPU für Matrixoperationen mit der Funktion rbm_gpu verwenden. Das beschleunigt die Dinge sehr! Darüber hinaus wird der Großteil der Arbeit in einem RBM mit Matrixoperationen erledigt, sodass die Installation eines guten BLAS wie openBLAS ebenfalls die Dinge erheblich beschleunigt.
Folgendes passiert, wenn Sie den Code in Edwins Beispiel-Dataset ausführen:
quelle
propack.svd()
aus demsvd
Paket.?rbm
. Beachten Sie, dass rbm nicht überwacht werden.Sie können das Deep Learning-Modul von H2O ausprobieren, es ist verteilt und bietet viele fortgeschrittene Techniken wie Abbruchregulierung und adaptive Lernrate.
Folien: http://www.slideshare.net/0xdata/h2o-deeplearning-nextml Video: https://www.youtube.com/watch?v=gAKbAQu900w&feature=youtu.be
Tutorials: http://learn.h2o.ai Daten und Skripte: http://data.h2o.ai
Dokumentation: http://docs.h2o.ai GitBooks: http://gitbook.io/@h2o
quelle
So fügen Sie eine weitere Antwort hinzu:
mxnet ist unglaublich und ich liebe es. Es ist ein wenig schwierig zu installieren, aber es unterstützt GPUs und mehrere CPUs. Wenn Sie in R vertiefend lernen möchten (insbesondere in Bezug auf Bilder), empfehle ich Ihnen, mit mxnet zu beginnen.
quelle
Ich habe zwar keine spezielle Deep-Learning-Bibliothek für R gefunden, bin aber auf ähnliche Diskussionen mit R-Bloggern gestoßen. Im Mittelpunkt der Diskussion steht die Verwendung von RBM (Restricted Boltzman Machines). Schauen Sie sich den folgenden Link an:
http://www.r-bloggers.com/restricted-boltzmann-machines-in-r/ (neu eingestellt von "alandgraf.blogspot.com")
Der Autor hat wirklich gute Arbeit geleistet, um einen selbstimplementierten Algorithmus in R zu kapseln. Es muss gesagt werden, dass ich die Gültigkeit des Codes noch nicht überprüft habe, aber es gibt zumindest einen Anflug von Deep Learning, der sich in R abzeichnet.
Ich hoffe das hilft.
quelle
gputools
und die Verwendung Vorbelastung Trick auf Linux betrachten GEMM zu beschleunigen, hier .Sie können jetzt auch TensorFlow von R verwenden:
https://rstudio.github.io/tensorflow/
quelle