2011-02-09 27 views
18

¿Alguien puede sugerirme tutorial, libro, blog o compartir código de muestra para redes neuronales en Haskell? Tengo experiencia en redes neuronales en idiomas imperativos, pero quiero probar eso en Haskell.Redes neuronales en Haskell - Consejo

+1

Recomendando el cierre como fuera del tema. Esto no puede ser definitivamente respondido, por lo que es mejor en un foro de discusión, no en una sesión de preguntas y respuestas. – ArtOfWarfare

Respuesta

15

Hay varias bibliotecas en Hackage:

  • HaskellNN Una biblioteca de Haskell que utiliza hmatrix (y, transitivamente, GSL y bibliotecas libLBFGS C) para hacer trabajo pesado (GPL). Reclama ser rápido

  • instinct Una biblioteca de Haskell pura que dice ser rápida (BSD).

  • hnn Una biblioteca de red neuronal Haskell mínima (LGPL).

  • bindings-fann Enlaces a la biblioteca de FANN.

  • hfann Otros enlaces a la biblioteca FANN.

+4

Debería tener en cuenta que estas bibliotecas son todas para * Redes neuronales * artificiales (ANN), que de hecho es probable lo que la pregunta estaba haciendo. La pregunta debe ser editada para agregar la palabra Artificial, ya que las RNA tienen poca o ninguna relación con las redes neuronales biológicas (la simulación de las cuales es también un campo de investigación grande). – DavidJ

+0

Al escribir este comentario, ninguna de las bibliotecas mencionadas admite LSTM ☹ –

+2

Para el caso seguro: no use * dnngraph *, al menos no antes de que el autor haga un refectorio enorme. Pasé ⅓ de mes intentando trabajar con él, y puedo asegurarlo: el autor hizo todos los posibles errores de diseño posibles sin tener en cuenta el entorno específico o lang. –

7

Puede resultarle útil sample application. Utiliza retro-propagación. Escribí un artículo discutiendo el ejemplo, explicando cómo el uso de un paradigma funcional afecta el diseño. El artículo debería aparecer en la próxima edición de The Monad Reader.

+0

Aquí está el enlace al artículo de Monad Reader que mencioné: http://themonadreader.files.wordpress.com/2013/03/issue21.pdf – mhwombat

+2

Ese enlace fue 404, pruebe http://themonadreader.files.wordpress.com/ 2013/03/issue214.pdf –

2

Hay una lista más arriba-a-fecha de paquetes Hackage en http://www.datahaskell.org/docs/community/current-environment.html#neural-networks - a partir de hoy, se recomienda estos paquetes:!

  • grenade (dependiente de mecanografiado API cómodo, pero la CPU de sólo hasta el momento, ver issue 55/issue 35/issue 6)
  • sibe (CPU-only)
  • neural (CPU-solamente, ver issue 10)
  • tensorflow (uniones Haskell a TF; lo más probable es lo que usarías en producción, pero intimidante API; puede ejecutarse en la GPU)

Hay una serie de publicaciones en el blog sobre el uso de TensorFlow de Haskell en https://mmhaskell.com/blog/2017/8/14/starting-out-with-haskell-tensor-flow/https://mmhaskell.com/blog/2017/8/21/digging-in-deep-solving-a-real-problem-with-haskell-tensor-flow etc.

https://blog.jle.im/entry/practical-dependent-types-in-haskell-1.html muestra cómo agregar tipos dependientes de una red neuronal; https://blog.jle.im/entry/introducing-the-backprop-library.html muestra una biblioteca para hacer la diferenciación automática (como en TF) de Haskell.

Cuestiones relacionadas