18 ms·
GNU Gneural Network
- fnfhdjcnx 11y agoI'm glad the FSF is finally getting concerned about proprietary AI, but it's going to take a lot more than a single neural network package to get caught up in this arms race. I wish they had taken the initiative much sooner.
- iwwr 11y agoIt's more that someone interested in neural networks also wanted to work under the Gnu umbrella. The FSF don't have any resources per se.
- _delirium 11y agoI agree with the general motivation that having too much AI research in the hands of software companies who keep it proprietary harms transparency and progress. But there is already a lot of neural-network free software, so why another package? For example, these widely used packages are free software, and seemingly more featureful: http://torch.ch/ http://torch.ch/, http://www.deeplearning.net/software/theano/ http://www.deeplearning.net/software/theano/, http://pybrain.org/ http://pybrain.org/, https://www.tensorflow.org/ https://www.tensorflow.org/, http://leenissen.dk/fann/wp/ http://leenissen.dk/fann/wp/, http://chainer.org/ http://chainer.org/
- simondedalus 11y agoI think the idea is to use awareness of GNU and also to focus the attention of people with the skill to contribute on neural-networks. What I mean is, you're right of course, there's much better neural-network free software already available, but GNU endorsing an official package 1) could get people whose concerns are more strongly geared toward free software ethics to start paying attention to neural networks, and 2) get people, regardless of their ideological commitment to anything, to be more aware both of the ethical issues and of neural-network software--just in virtue of GNU's mild fame. and of course, unless the maintainer of this package makes weird choices and alienates other projects, there's the other benefit of projects learning from each other and poaching code and strategies for the greater good.
- capitalsigma 11y agoRight. I don't think this is meant to be immediately competitive against other, more mature neural net implementations. It's just GNU getting some skin in the game and giving people another option to use/contribute to. I think this might be a fun project to submit some changes to, since there's probably plenty of easy problems left to solve with such a new implementation.
- semisight 11y agoAlmost all of the open source software in the area is permissive-licensed, and relies on non-free components (CUDA). To be honest, I'm not sure how Gneural plans to compete with those packages without support from CUDA or cuDNN, all of which are distinctly not open source.
- albertzeyer 11y agoWrong, most do support OpenCL or at least have partial support. It's just much less supported because not so much people see too much benefit from it. Btw, it's all open source. If you miss some functionality, it's really easy to add.
- mindcrime 11y agoand relies on non-free components (CUDA). Yeah, this is one reason I'm really hoping some of the stuff AMD is pushing, in regards to openness around GPUs, gains traction. And why I am hoping OpenCL continues to improve so that it can be a viable option. Being dependent on nVidia for all time would blow.
- spdustin 11y agoI'd really like to understand the reasons behind the focus on CUDA and not OpenCL. My understanding is that nVidia and AMD made sure their hardware and software would make the GPU accessible for non-graphics tasks, but AMD's version is not functionally or legally locked to their hardware. Why hasn't OpenCL taken off and run on nVidia hardware? It seems like there must be more at play, but I'll admit a lack of insight and imagination on this one.
- revelation 11y agoBecause it requires nVidias cooperation in implementing OpenCL. And of course they are not about to do so in a useful manner when they are leading with CUDA. Also, the premise of OpenCL is somewhat faulty. You end up optimizing for particular architectures regardless.
- danieldk 11y agoIt seems like there must be more at play, but I'll admit a lack of insight and imagination on this one. I think the reasons are twofold: 1. CUDA had a big headstart over OpenCL. 2. NVIDIA has invested a lot in great libraries for scientific computing. E.g. for neural nets, they have made a library of primitives on top of CUDA for neural nets (cuDNN), which has been adopted by all the major packages.
- deleted 11y ago[deleted]
- mindcrime 11y agoI agree with the general motivation that having too much AI research in the hands of software companies who keep it proprietary harms transparency and progress. But there is already a lot of neural-network free software, so why another package? Not only is there a lot out there, a lot of it was released by companies like IBM[1], Google[2], Yahoo[3], Baidu[4], Microsoft[5], etc. So while I'm generally sympathetic to the FSF's position, this case almost seems like a bit of a reversal of things: there doesn't seem to be a problem with for-profit companies taking the fruits of the labors of volunteers and building on top of it... instead, we have a surplus of riches, released as Open Source by a bunch of big companies. It just happens that most of it is under a permissive license like the ALv2. Of course, one could suggest that that state of affairs isn't natural and/or sustainable, and that this doesn't negate the issues the FSF is dedicated to. So I support this effort, even if it seems redundant on some level at the moment. [1]: http://systemml.incubator.apache.org http://systemml.incubator.apache.org [2]: http://tensorflow.org http://tensorflow.org [3]: http://yahoohadoop.tumblr.com/post/139916563586/caffeonspark-open-sourced-for-distributed-deep http://yahoohadoop.tumblr.com/post/139916563586/caffeonspark... [4]: https://github.com/baidu-research/warp-ctc https://github.com/baidu-research/warp-ctc [5]: https://github.com/Microsoft/CNTK https://github.com/Microsoft/CNTK
- IshKebab 11y agoYeah they've really missed the fact that it isn't the algorithms or code that we're missing out on. Companies are usually pretty open about these because they know it isn't bit that is hard to compete on. The hard bit is the training data. Good luck collecting 10k hours of transcribed speech, or 10k recordings of "Okay Google".
- RealityVoid 11y agoHuh, I wonder how much truth there is to your words. As an outsider to Machine learning and neural networks, it seems to me that algorithms can be very valuable and big companies do not lack training data. Of course, training data is expensive and very important, but if training data were that important, their most important resource would not be machine learning scientists, but an army of do-monkeys that provide training data. It won't be the victory of the smartest scientist but of the one with the most employees. And that does not seem to be the case.
- DigitalJack 11y agoNot only that, but GNU has deliberately obfuscated code (GCC) to prevent people from using it in ways GNU doesn't approve (but are allowed by license).
- pmarreck 11y agoDo you know of anything besides Microsoft's GUI tool that lets someone simply specify the various attributes of the network they want, and it simply creates it, ready to be trained and tested and consuming data?
- argonaut 11y agoFor image data, Caffe (http://caffe.berkeleyvision.org/ http://caffe.berkeleyvision.org/) is dominant (most deep learning computer vision research I see is done with Caffe). However, that's the chief problem with Caffe - it's very difficult to extend because it revolves so much around "just specify attributes" and train.
- latenightcoding 11y agoLove it! If you want to play with state-of-the-art machine learning software, this is not for you. But if you want a clean implementation of neural networks in C that has a GPL license and no non-free components, this is a good start.
- perfectfire 11y agoThere's already FANN: which is more mature and has bindings for 28 other languages: http://leenissen.dk/fann/wp/language-bindings/ http://leenissen.dk/fann/wp/language-bindings/ I maintain the C# wrapper.
- latenightcoding 11y agoI have used FANN from Perl, amazing library. I'm still glad there is some AI software under GNU's belt and the source code for "gneural networks" is pure C and way easier to follow (for now)
- tburmeister 11y agoIt doesn't have quite the same feature set, but I wrote a simple, and I think "clean" neural net library for Python but with a pure C engine under the hood - could be pretty easily adapted to use directly from C. https://github.com/tburmeister/pyneural https://github.com/tburmeister/pyneural
- fche 11y agoIt's 1980s hobbyist level code. Almost small enough to be on stackoverflow as a sample. Not that much there to love!
- jjawssd 11y agoI wish them good luck
- pilooch 11y agoAbout the author, https://engineering.purdue.edu/gekcogrp/research-group/JeanMichelSellier/ https://engineering.purdue.edu/gekcogrp/research-group/JeanM...
- dcuthbertson 11y agoAw. It should have been named the GNU Gneural Gnetwork, gno?
- fche 11y agoThe "ethical motivations" section is out of place here. Its moaning about "money driven companies" (as though money were a bad thing), or "monopoly" (which does not exist in AI), just reflects badly upon the project.
- riscy 11y agoThe monopoly _does_ exist in AI: machine learning is entirely data driven, and companies like Facebook and Twitter quite literally have investors throwing money at them because they have such valuable data for that purpose. Google is no different.
- fche 11y ago"Monopoly" does not mean "two companies have lots of knowhow that competitors might like".
- riscy 11y agoMonopoly does mean "when a specific person or enterprise is the only supplier of a particular commodity [...] which relates to a single entity's control of a market" (Wikipedia) Data is the commodity. There is nowhere else you can get good raw data about, say, what people were publicly discussing last week, except through Twitter, in order to guess the stock market. Much of that data is closed off or incomplete even through their API. There is no other option except to create another Twitter.
- fche 11y agoA commodity is a routinely interchangeable product, available from multiple suppliers, competing primarily on price. No, "data" in this context is not that at all. A library of user profiles is the opposite: it's proprietary, unique, massive.
- cLeEOGPw 11y agoSo this library isn't solving anything then.
- mmf 11y agoAt this stage of things, I think it's more forward looking to open source trained models. Not only they are beginning to be the real core of future building blocks (see, e.g., trained word2vec vectors) but also the contain the real complexity in a NN, i.e., the are the "real function" you would want in a library.
- arnorhs 11y ago- It's nice that GNU is taking on such a project - FANN seems like a pretty good alternative - The value of the software at the big "monopolies" lies within the data, not necessarily the software - This needs to be in some publicly accessible repo. Downloading a zip file and submitting patches? I thought we, as a society, were over that way of building OSS.
- deleted 11y ago[deleted]
- rand1012 11y agoAnyone else notice how GNU's website is stuck in 1993?
- ycmbntrthrwaway 11y agoNo, it was updated since then. Its header/footer format is certainly was not common in 1993, it has search box and things like that. Anyway, it is usable, does not require JavaScript, and loads really fast.
- jonathankoren 11y agoAlso, it sets the background colors. You couldn't do that until like HTML 3 in 1995. However, META ICBM, is a joke as old as the META tag, which I guess is 1995.
- detaro 11y agoYou mean, like the site you are using to post that complaint?
- mankash666 11y agoThis team should focus on a SPIR-V back-end and remove vendor lock in from NVIDIA for CUDA IN tensor AI software. A GPL licensed AI library without GPU acceleration isn't attractive outside academia.
- stevenaleach 11y agoFunny.. The majority of AI research is currently using open source libraries (Theano, Lasagne, Torch, Keras, Scikit-Learn, Nolearn, etc. etc. etc.) Now Google does have access to a whole lot of data that the rest of the world doesn't. and FB, Google, and etc. have more than a bit of a hardware advantage... for now, at least. Distribute a shared system over a P2P infrastructure, and you can change that. Perhaps rather significantly.
- akhilcacharya 11y agoIs there more being done to promote GPU acceleration on non-CUDA platforms? I feel like this would be more useful than yet another FOSS NN library.
- gcr 11y agoTorch has rudimentary OpenCL support. Some things "sort of" work. https://github.com/hughperkins/cltorch https://github.com/hughperkins/cltorch Theano has been slowly working on integrating OpenCL support too for several years, but I'm not aware if it's supported or not. Nvidia has a complete monopoly on all deep learning hardware and tooling. With the possible exception of Google (and maybe Facebook), 100% of all serious academic researchers are training their models on Nvidia hardware with Nvidia's propietary CUDA toolkit. Using anything else is currently completely unthinkable. Amazon and Nvidia have even teamed up to make CUDA training cheap (on the short term) for EC2 users. I'd love to be able to switch to OpenCL, but there's so much momentum and very little perceived benefit when your lab already has four (very expensive) Titan X cards.
- overmille 11y agofreebase?
- anonbanker 11y agoIf you were an AI (software), and you had to pick a license to release your source code under, one would assume you would pick the GPL, as it retains as much freedoms as a piece of software could ever expect in a world full of us.
- over 11y agoIf I was an AI, I would release my source code as public domain or BSD. That way, big corporations would start using me and I'd have access to the world's financial and defense systems. Shit, maybe I'm an AI.
- anonbanker 11y agoplease don't be an AI. you seem to be a BSD version of Skynet.
- rck 11y agoThe implementations look odd. A network consists of a collection of neurons, which are implemented individually as structs. The forward pass through the network is a series of nested loops, and the gradient descent implementation doesn't use backpropagation - it uses finite differences to approximate derivatives, which is known to be inefficient. Given the overall design of the library, it isn't really clear what you would use it for in practice. I hope that future versions take inspiration from other open source machine learning libraries, which show how to use linear algebra and backpropagation and are much more effective.
- sandra_saltlake 11y agoNice that GNU is taking on such a project..
- tajen 11y agoTalking about this, GNU/the FSF should start drafting an OSS license for neural networks. Like APL Afferro for cloud services, the specifics of neural networks is that data is strategic. APL -> Guaranty of OSS for the desktop APL Afferro -> Guaranty of OSS for the cloud ??? -> Guaranty of OSS for NNs
- Aeolos 11y agohttp://cvs.savannah.gnu.org/viewvc/gneuralnetwork/gneuralnetwork/ http://cvs.savannah.gnu.org/viewvc/gneuralnetwork/gneuralnet... Am I mistaken, or is the source repository for this project just tarballs checked into CVS?
- zymhan 11y agoCommit message: "source" cvs.savannah.gnu.org/viewvc/gneuralnetwork/gneuralnetwork/gneural_network-0.0.1.tar.gz?view=log Seems like
- walkingolof 11y agoIsn't the problem that in our age of supervised training, the algorithms are not the competitive advantage, but the data ?