Introduction
Neural Networks in a Paragraph
Neural networks are an entirely different paradigm in computing. They are based on replicated the functions and structure of the human/animal brain.
The Brain Analogy
The term 'Neural network' in fact refers to a biological term, and the correct computer term is Artificial Neural Network (or ANN). ANNs attempt to model the functions of the brain - thus its only natural to start off looking at the brain! To the right is a schematic drawing of a neuron. Biological neurons receive input, perform some operation on them, and output them to the tens, hundreds, thousands, perhaps millions of connecting neurons. The neurons receive their input through the dendrites (A) from the synapses of other connected neurons. This information is passed to the soma (B) which processes the information. It then passes it to the axon (C) and synapses (D), and the process starts again.
It is this same rough model that ANNs try to model, obviously on a much smaller scale to the 100 billion present in our brains.
Applications of ANNs
Neural networks show promise in areas such as image-recognition. Neural-networks are also used greatly for simulations of various kinds - high/medium brain functions, statistics etc. Neural networks are also used in interpreting complicated nucelotide sequences. Other applications include: investment analysis, signature analysis, sound recognition and much more.
Architecture of a Neural Network
Structure of the Neuron
All neurons are basically the same. They take input, which is then multiplied by their connection weights. These inputs are then fed into a "Summation Function". This summation function could in fact be any operation - sum, maximum, minimum, average, OR, AND and others. This result is then sent to a "Transfer function". This function takes the number and converts it into a number that the program can use (a real number between 0 and 1, for example). The transfer function often utilizes a threshold. The results of the transfer function are then used as the output.
Organization of the Neurons
Having neurons is useless without having a way to organize them. The most practised organization method at the moment is to use layers. An input layer, a (or series of) hidden layer, and the output layer. The input layers take the real-time data, the output layers output the data to be used - and all the hidden layers in between do their work, but then pass it on to other neurons, which further modify the input. Below is a schematic drawing of such a layout:
Other Types of Networks
There are literally hundreds of NN, several new ones created one a weekly basis!
Symbolic AI Systems vs Neural Nets
Symbolic AI systems manipulate symbols, instead of numbers. Humans, as a matter of fact, reason symbolically (in the most general terms). Children must learn to speak before they are able to deal with numbers for example. More specifically, these systems operate under a set of rules, and their actions are determined by these rules. They always operate under task oriented environments, and are wholly unable to function in any other case. You can think of symbolic AI systems as "specialists". A program that plays 3d tic tac toe will not be able to play PenteAI (a game where 5 in a row is a win, but the players are allowed to capture two pieces if they are sandwiched by the pieces of an opposing player). Although symbolic AI systems can't draw connections between meanings or definitions and are very limited with respect to types of functionality, they are very convenient to use for tackling task-center problems (such as solving math problems, diagnosing medical patients etc.). The more flexible approach to AI involves neural networks, yet NN systems are usually so underdeveloped that we can't expect them to do "complex" things that symbolic AI systems can, such as playing chess. While NN systems can learn more flexibly, and draw links between meanings, our traditional symbolic AI systems will get the job done fast.