Redes neuronales convolucionales en R

8

No veo un paquete para hacer redes neuronales convolucionales en R. ¿Alguien ha implementado este tipo de algoritmo en R?

Hack-R
fuente
no lo creo, incluso si se implementara, probablemente carecería de soporte para su uso. Sugeriría Tensorflow o Skflow para python, caffe para C ++ o caffe on spark para Apache Spark.
GameOfThrows
@GameOfThrows Gracias, creo que tienes razón. Yo uso Tensorflow y Caffe pero me gustaría simplemente como utilizar R.
Hack-R

Respuestas:

3

Los siguientes 2 paquetes están disponibles en R para el entrenamiento de redes neuronales profundas:

  1. darch : Paquete para arquitecturas profundas y máquinas de Boltzmann restringidas. El paquete darch está construido sobre la base del código de GE Hinton y RR Salakhutdinov (disponible bajo el Código Matlab para redes de creencias profundas). Este paquete es para generar redes neuronales con muchas capas (arquitecturas profundas), entrenarlas y ajustarlas con algoritmos de entrenamiento conocidos comunes, como propagación hacia atrás o gradientes conjugados. Además, el ajuste supervisado se puede mejorar con maxout y dropout, dos técnicas desarrolladas recientemente para mejorar el ajuste para el aprendizaje profundo. Enlace de CRAN: http://cran.um.ac.ir/web/packages/darch/index.html

  2. deepnet : kit de herramientas de aprendizaje profundo en R. Implemente algunas arquitecturas de aprendizaje profundo y algoritmos de redes neuronales, incluidos BP, RBM, DBN, Deep autoencoder, etc. Enlace CRAN: https://cran.r-project.org/web/packages/deepnet/index.html

Sandeep S. Sandhu
fuente
Gracias por tu respuesta. He usado ambos y no pensé que proporcionaran algoritmos CNN? Solo busqué en la documentación para ambos la palabra convolucional y no surgió nada. ¿Realmente tienen esta funcionalidad?
Hack-R
2

Creo que mxnet es una de las mejores opciones si codifica en R. Tienen un contenedor R pero el núcleo está en C ++.

Tienen varios ejemplos en la web. Uno de ellos es el reconocimiento de caracteres con la base de datos MNIST. Tienen soporte para multi-gpus y también para Spark.

hoaphumanoid
fuente
Sí, también RNN, LSTM. Tienen muchos ejemplos en su github
hoaphumanoid el
Ah si, gracias. He usado mxnet para la clasificación de imágenes, pero no pensé que tuviera algoritmos CNN para lo mismo. Veo un ejemplo de clasificación de texto CNN. Probablemente debería haber especificado la clasificación de imágenes. Aún así, tal vez se pueda aprovechar como tal. Lo investigaré. ¡Gracias! +1
Hack-R
0

Instalación

Para comenzar, instale el paquete tensorflow R de GitHub de la siguiente manera:

devtools::install_github("rstudio/tensorflow")

Luego, use la función install_tensorflow () para instalar TensorFlow:

library(tensorflow)
install_tensorflow() 

Puede confirmar que la instalación se realizó correctamente con:

sess = tf$Session() hello <- tf$constant('Hello, TensorFlow!')
sess$run(hello) 

Esto le proporcionará una instalación predeterminada de TensorFlow adecuada para comenzar con el paquete tensorflow R. Consulte el artículo sobre instalación para obtener información sobre opciones más avanzadas, incluida la instalación de una versión de TensorFlow que aprovecha las GPU Nvidia si tiene instaladas las bibliotecas CUDA correctas.

Adrian Torrie
fuente