More than two decades ago, neural networks were widely seen as the next generation of computing, one that would finally allow computers to think for themselves.
Now, the ideas around the technology, loosely based on the biological knowledge of how the mammalian brain learns, are finally starting to seep into mainstream computing, thanks to improvements in hardware and refinements in software models.
Computers still can't think for themselves, of course, but the latest innovations in neural networks allow computers to sift through vast realms of data and draw basic conclusions without the help of human operators.
"Neural networks allow you to solve problems you don't know how to solve," said Leon Reznik, a professor of computer science at the Rochester Institute of Technology.
Slowly, neural networks are seeping into industry as well. Micron and IBM are building hardware that can be used to create more advanced neural networks.
On the software side, neural networks are slowly moving into production settings as well. Google has applied various neural network algorithms to improve its voice recognition application, Google Voice. For mobile devices, Google Voice translates human voice input to text, allowing users to dictate short messages, voice search queries and user commands even in the kind of noisy ambient conditions that would flummox traditional voice recognition software.
At the time, Netflix was holding a yearly contest to find the best way to recommend new movies based on its data set of approximately 100 million movie ratings from its users. The challenge was to come up with a better way to recommend new movie choices to users than Netflix's own recommendation system. The winning entry was able to improve on Netflix's internal software, offering a more accurate predictor of what movies Netflix may want to see.
As originally conceived, neural networking differs from traditional computing in that, with conventional computing, the computer is given a specific algorithm, or program, to execute. With neural networking, the job of solving a specific problem is largely left in the hands of the computer itself, Reznick said.
To solve a problem such as finding a specific object against a backdrop, neural networks use a similar, though vastly simplified, approach to how a mammalian cerebral cortex operates. The brain processes sensory and other information using billions of interconnected neurons. Over time, the connections among the neurons change, by growing stronger or weaker in a feedback loop, as the person learns more about his or her environment.
An artificial neural network (ANN) also uses this approach of modifying the strength of connections among different layers of neurons, or nodes in the parlance of the ANN. ANNs, however, usually deploy a training algorithm of some form, which adjusts the nodes to extract the desired features from the source data. Much like humans do, a neural network can generalize, slowly building up the ability to recognize, for instance, different types of dogs, using a single image of a dog.
Sign up for CIO Asia eNewsletters.