Thanks for sharing this. I've been interested in Haskell for a while and I hadn't really started writing any actual programs until very recently[1]. I also wanted to learn about neural networks, and reading your source code was quite pleasant. It looks really interesting, congratulations.
off-topic question: is it possible to speed up a neuron network software using a gpu or specialized hardware running openCL ? what about using supercomputers ?
Actually, that's exactly how they speed up neural networks, especially deep neural networks. Andrew Ng showed that they could run the Google Brain on COTS GPUs for about $21,000 [1].
You can experiment with this yourself using a package like Theano (Python) [2] or Caffe (C++) [3].
Comments
Thanks for sharing this. I've been interested in Haskell for a while and I hadn't really started writing any actual programs until very recently[1]. I also wanted to learn about neural networks, and reading your source code was quite pleasant. It looks really interesting, congratulations.
[1] I wrote a toy IRC bot for a channel I have with some friends. It's quite primitive. https://github.com/jdiez17/HaskellHawk
This looks really cool. Are there any papers that describe neural networks that function in a manner similar to how this library works?
There are a really great soup to nuts explanation of implementing neural nets in Haskell in issue 21 of the monad reader http://themonadreader.files.wordpress.com/2013/03/issue214.p...
off-topic question: is it possible to speed up a neuron network software using a gpu or specialized hardware running openCL ? what about using supercomputers ?
Actually, that's exactly how they speed up neural networks, especially deep neural networks. Andrew Ng showed that they could run the Google Brain on COTS GPUs for about $21,000 [1].
You can experiment with this yourself using a package like Theano (Python) [2] or Caffe (C++) [3].
[1] http://cs.stanford.edu/people/ang/?news=stanford-team-develo... [2] http://deeplearning.net/software/theano/ [3] http://caffe.berkeleyvision.org
Looks very nice! May I ask how fast it is?
It's reasonably fast, as it uses HMatrix for linear algebra -- HMatrix relies on BLAS rather than native Haskell for all the matrix and vector math.