6 ms·
FANN.js – Fast Artificial Neural Network Compiled with Emscripten
- mattlutze 11y agoThose of you HNers working with or studying artificial neural networks (or armchair enthusiasts), is there any research you've seen recently that had you particularly excited?
- nl 11y agoJason Weston (Facebook) etc's work on Memory Nets[1] Anything to do with transfer learning (the 2013 Zero-Shot Learning Through Cross-Modal Transfer[2] paper is a good place to start) The increasing amount of demos around using NNs to generate "things" that look kinda-almost "intelligent". I can't point at a paper, but Andrej Karpathy demo of generating Shakespere-like writing, "Wikipedia" pages and "C" code in The Unreasonable Effectiveness of Recurrent Neural Networks[3] is the kind of thing I'm talking about. The beginnings of work around goal-seeking. The (now Google) DeepMind Atari demo[4] and Marl/O[5] Finally, the work being done on making this stuff usable by programmers (Torch etc). [1] http://arxiv.org/abs/1410.3916 http://arxiv.org/abs/1410.3916 [2] http://arxiv.org/pdf/1301.3666.pdf http://arxiv.org/pdf/1301.3666.pdf [3] http://karpathy.github.io/2015/05/21/rnn-effectiveness/ http://karpathy.github.io/2015/05/21/rnn-effectiveness/ [4] https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf [5] https://www.youtube.com/watch?v=qv6UVOQ0F44 https://www.youtube.com/watch?v=qv6UVOQ0F44
- megalodon 11y agoIf you haven't already, check out Synaptic [1] by Juan Cazala. I use it in many of my ML projects and it contains a lot of useful examples and documentation. I recommend you take a look at the source as well, which is easy enough to understand. [1] https://github.com/cazala/synaptic https://github.com/cazala/synaptic
- bottled_poe 11y agoI can't see how the 'fast' claim is quantified.
- toxicFork 11y agoIt's the .js port of FANN (Fast Artificial Neural Network) : http://leenissen.dk/fann/wp/ http://leenissen.dk/fann/wp/ > Fast (up to 150 times faster execution than other libraries)
- the8472 11y ago> up to
- toxicFork 11y agoSure, but the case for this prject isn't "Neural network implementation in javascript that's 'fast'". It's "FANN".js, where FANN expands to "Fast Artificial Neural Network", and the c implementation of FANN was probably the fastest when it was created. Conclusion: FANN.js is "the js port of FANN".
- the8472 11y agoThe F stands for Fast, and I don't even see any proof for their claim to fastness in the C version.
- toxicFork 11y agohttp://prdownloads.sourceforge.net/fann/fann_doc_complete_1.0.pdf?download http://prdownloads.sourceforge.net/fann/fann_doc_complete_1.... This one seems to have some information under "performance analysis". I'm not assuming it's correct, but go ahead and research further if you like, rather than quoting parts of my quote.
- the8472 11y agoBesides the fann library, I will benchmark Jet's Neural Library [Heller, 2002] (hereafter known as jneural) and Lightweight Neural Network [van Rossum, 2003] (hereafter known as lwnn). I have made sure that all three libraries have been compiled with the same compiler and the same compile-options. I have downloaded several other ANN libraries, but most of them had some problem making them difficult to use. Either they where not libraries, but programs [Anguita, 1993], [Zell, 2003], they could not compile [Software, 2002], or the documentation was so inadequate that is was not possible to implement the features needed in the benchmark [Darrington, 2003]. Even though I will only benchmark two libraries besides the fann library, I still think that they give a good coverage of the different libraries which are available. I will now briefly discuss the pros and cons of these two libraries. Yeah, so the author picked two simple, "easy to use" NN libraries to benchmark against, had trouble with others and just dropped them and then claimed it's fast because it performed "up to" 140 times faster than one of those two libraries. Seems kinda like a "get a paper out" work that is technically correct but doesn't measure up to real world standards. Real implementations would use vectorized math, math libraries with hand-optimized assembly or run straight on the GPU.
- olivierkaisin 11y agoThis should be published on npm
- SchizoDuckie 11y agoAllright, now somebody please hook this into a game of 2048 and let the machines show us how it' s done.
- megalodon 11y agoAlready done: http://ov3y.github.io/2048-AI/ http://ov3y.github.io/2048-AI/
- SchizoDuckie 11y agoThat's just an algorithm, a far stretch from a neural net playing 2048. It has been done though: https://www.youtube.com/results?search_query=neural+net+2048 https://www.youtube.com/results?search_query=neural+net+2048 Still, it would be awesome to see a JS neural net playing a JS game
- z3t4 11y agoSome more tutorials would be nice. I tried to learn it addition, but that failed miserable.