Oh no, you're thinking, yet another cookie pop-up. Well, sorry, it's the law. We measure how many people read us, and ensure you see relevant ads, by storing cookies on your device. If you're cool with that, hit “Accept all Cookies”. For more info and to customize your settings, hit “Customize Settings”.

Review and manage your consent

Here's an overview of our use of cookies, similar technologies and how to manage them. You can also change your choices at any time, by hitting the “Your Consent Options” link on the site's footer.

Manage Cookie Preferences
  • These cookies are strictly necessary so that you can navigate the site as normal and use all features. Without these cookies we cannot provide you with the service that you expect.

  • These cookies are used to make advertising messages more relevant to you. They perform functions like preventing the same ad from continuously reappearing, ensuring that ads are properly displayed for advertisers, and in some cases selecting advertisements that are based on your interests.

  • These cookies collect information in aggregate form to help us understand how our websites are being used. They allow us to count visits and traffic sources so that we can measure and improve the performance of our sites. If people say no to these cookies, we do not know how many people have visited and we cannot monitor performance.

See also our Cookie policy and Privacy policy.

This article is more than 1 year old

GNU want (another) free AI package release? Yes. But we should train this puppy

Gneural Network out - now let's teach it some tricks...

The GNU free software project has launched version 0.0.1 of its Gneural Network package in response to the “outstanding and truly inspiring” results achieved of late in proprietary artificial intelligence.

The Free Software Foundation (FSF) describes Gneural Network as a GNU package for a programmable neural network, which as of 0.0.1 is “a very simple feed-forward network* which can learn very simple tasks such as curve fitting**” – although more advanced features will hopefully be delivered soon.

The FSF claimed that “the fact that only companies and labs have access to this technology can represent a threat” – hence author and maintainer Jean Michel Sellier's decision to release it under a free licence like GPL.

Gneural Network is far from the first free offering of neural network software, however. Participants in a discussion on Hacker News, who were largely sympathetic to the FSF, griped that there was in fact no shortage of freely available software in the neural/deep networking arena, including releases by IBM, Google, Yahoo!, and others. Commenters concurred that what was lacking was training data, which is wanted in enormous amounts.

Noting this demand, Yahoo! recently released 13.5TB of news interaction data for academic machine learning enthusiasts. As Cambridge's Dr Sean Holden explained to The Register, the size and quality of the data is pretty much vital for those working on a deep network: “The architectures tend to be very large, you have a lot of parameters to set,” said Holden, and so “you tend to need a lot of data to get them to do something useful. So for applications where you have that available then that's brilliant.”

Acknowledging this discrepancy, and perhaps aiming towards the creation of shared datasets for deep network training, the FSF stated: “As a matter of fact, data and trained neural networks are rarely shared, and one should always remember that in practice without the training data it is almost impossible to duplicate results (even when the source code is available).” ®

* The simplest type of neural network, the feed-forward model, only pushes connections in one direction, forward from the input nodes (then though hidden nodes if there are any) and then to the output nodes. This is in contrast to a recurrent neural network, where connections are made in a cycle. Read more here (PDF)

** A type of model where you work out which curve (curved line) or maths function (say a sine wave) fits best to a certain given set of values/data points. So basically, with a linear model, you're mapping the data points into a curve, or, if you've got a trickier set, a maths function (ie, an equation)... By the way, for the purposes of maths stuff, any line that isn’t perfectly straight is considered a “curve”. For example, let's say you've drawn your x/y axes, and you've dotted your data points in the appropriate places and then drawn a line which is an approximately equal distance away from all the data points - that's a linear model, though obviously you want a little more accuracy than that. So, the simplest way to do linear curve fitting, short of using software – hey, you can use the Gneural Network! – is with the method of "least squares". Here, you'll add up the square of each difference between a data point and the predicted value for that data given by the model. You'll then want to find for the curve values that minimise the total of the squared differences. If you liked trig and algebra at school, have a Google and you won't be disappointed.

Similar topics

TIP US OFF

Send us news


Other stories you might like