Neural networks are computers that simulate the same process of learning that is thought to go on in the brain. That makes them particularly good at tasks that are difficult with traditional computational approaches. Today, neural nets are successfully used in applications such as computer vision, speech recognition and artificial intelligence research.
But despite this success, neural nets are far from mainstream. That’s largely because the process of setting them up is delicate, complex and time consuming. Neural nets need tender loving care, particularly in managing the large number of sensitive parameters that govern their behaviour.
Consequently, neural nets are shy creatures. Rarely are they shared in the same way as other computing resources such as memory, processing power or software.
That looks set to change thanks to the work of Erich Schikuta and Erwin Mann at the University of Vienna in Austria. These guys have created a way of setting up neural networks in the cloud so that their services can be shared, just like other resources. They call their new system N2Sky and they are putting it through its paces now.
A neural network consists of a pattern of connections between ‘layers’ of neurons that process the information that passes through them. The flow of information is carefully weighted across these interconnections and these weights change as the system learns. What’s more, the way each neuron processes information–the balance between the input and output–is also weighted in a way that changes as it learns.
The learning process involves using a training set of data to set up all the different weightings in a certain way. For example, the input to the network might be a set of images of the letters of the alphabet. The output from the network is the letters these images represent.
During the learning process, the network changes its internal weightings so that when the input is an image of the letter “A”, the output will be the digital character “A”. And so on for other letters.
That’s the theory, anyway. The practice is hugely difficult not least because the starting parameters can have a huge impact on how quickly and how well the net learns. So knowing how to start is a big advantage.
Also, a network that is well suited to one type of problem may not be at all well suited to other types of problems.
Consequently, the process of setting up neural nets has become something of a black art with researchers in different labs developing very different and largely incomparable methods for going about their tasks.
Which is where Schikuta and Mann come in. These guys wanted to make neural networks available as a kind of shared resource so that anybody anywhere can use them easily for the problem they have at hand or can collaborate with people on the other side of the world on the same neural net-based task.
And that’s exactly what N2Sky does. “We present the N2Sky system, which provides a framework for the exchange of neural network specific knowledge, as neural network paradigms and objects, by a virtual organization environment,” they say.
That’s neural networks in the cloud, to you and me. Anybody can sign in and start using a neural net in ways that have already been validated.
Schikuta and Mann even want to create a search engine for neural nets. Simply type in the problem you want to solve and the engine searches for nets that are already known to have successfully tackled the problem or ones similar to it. They call this a “neural network Google”.
The entire system can even be accessed from your iPhone.
Exactly how this will change the way scientists collaborate on neural network projects isn’t clear. But it opens up some interesting avenues for companies to exploit the technology or for others to use it for teaching or amateur problem solving, for example. Other suggestions in the comments section please.
Ref:arxiv.org/abs/1401.2468: N2Sky - Neural Networks as Services in the Clouds