A neural network is an electronic automaton, similar in some ways to a cellular automaton, that offers a highly simplified model of a brain with its complex network of neurons. As such, a neural network is a device for machine learning that is based on associative theories of human cognition.
Using various algorithms and weightings of different connections between "neurons," neural networks are set up to learn how to recognize a pattern in applications such as voice recognition, visual pattern recognition, robotic control, symbol manipulation, and decision making. Generally, they consist of three layers: input neurons, output neurons, and a layer in between where information from input to output is processed. Initially the network is loaded with a random program, then the output is measured against a desired output which prompts an adjustment in the weights assigned to the connections in response to the discrepancy between the actual and desired output. This is repeated many times so that the network effectively learns as a child does: in a sense, the net discovers its own rules. Changing the rules of interaction between the "neurons" in the net can lead to interesting emergent behavior, so that neural networks have become another tool for investigating emergence and self-organization.