Your ad can be shown here!
 
  Help
AI links
  :: main hierarchy ::
• Agent Software
• Artificial Life
• Cellular Automata
• Cognitive Science
• Companies
• Computer Vision
• Data Mining
• Decision Support
• Expert Systems
• Fuzzy Logic
• Game AI
• General Resources
• Genetic Algorithms
• Handwriting Recognition
• Information Retrieval
• Intelligent Agents
• Intelligent Interfaces
• Knowledge Management
• LISP
• Machine Learning
• Mobile Agents
• Nanotechnology
• Natural Language Understanding
• Neural Networks
• Online Books
• Philosophy
• Programming
• Prolog
• Robot Builders
• Robotics
• Speech Recognition
• Virtual Pets
• Web Agents
 
aboutAI.net Weekly Features
    Neural Networks 101
Neural Networks 101
Start exploring the world of Neural Networks, massively parallel systems designed to mimic the architecture and function of our brains.
  Related Resources
• Past issues of weekly features
• AI Sourcebook, Part I: Neural Networks
• Kohonen Networks
 
 Elsewhere on the Web
• Neural Nets by Kevin Gurney
• ANN Technology by Dave Anderson and George McNeil
• Introduction to ANNs by Nimrod Hoofien
• An Introduction to Neural Networks from Syracuse University
• A Brief Tour of the Brain from Syracuse University
• comp.ai.neural-nets FAQ
 
 

Neural networks (NNs) are massively parallel systems designed to mimic the architecture of the human or animal brain. This topic received a lot of the public attention in the past years, as NNs are capable of performing a variety of tasks that are difficult or impossible to do with conventional computers. The reasons why NNs often outperform classical statistical methods lie in their abilities to analyze incomplete, noisy data, to deal with problems that have no clear cut solution and to learn on historical data. Because of these advantages, they have shown success in predictions of data series that have high degree of volatility and fluctuations. It is mathematically proven that three-layer neural networks are capable to approximate any nonlinear function. However, the most fascinating and almost magic-like feature of NNs is that they not programmed like conventional computers, but are literally trained to produce desired results. This time we'll just start exploring the world of Neural Networks: later articles will feature more information and hands-on articles on applying various architectures in the real-world applications.

Basics

NN usually consists of two or more layers or groups of processing elements called neurons. The term neuron denotes a basic unit of a neural network model attended for data processing. Neurons are connected into a network in the way that the output of each neuron represents the input for one or more other neurons. According to its direction, the connection (often called synapse as its biological counterpart) between neurons can be either one-directional or bi-directional, and due to its polarity the connection can be excitatory or inhibitory. Neurons are grouped into layers, with three main types of layers used in practice: input, hidden, and output. The input layer receives input data from external environment, and sends it to the hidden layer(s). In the hidden layer the information is processed and sent to the output layer neurons, where the network output is compared to the desired output and the network error is computed.


Figure 1: even such simple, two layer, fully connected networks can often produce interesting results

In the most typical case, the error information then flows backward through the network and the values of connection weights between the neurons are adjusted using the error term. The process is repeated in the network for a number of iterations that is necessary to achieve the output closest to the desired (actual) output. Finally, the network output is presented to the user. Neural network learning is basically the process by which the system arrives at the values of connection weights between neurons.

Connection types

Connections in the network are either realized between two layers or between neurons in the same layer. There are various types of connections between layers:

  • fully connected - each neuron in the first layer is connected to each neuron in the second layer
  • partially connected - each neuron in the first layer doesn't necessarily have to be connected to every neuron in the second layer
  • hierarchical - neurons in one layer are connected only to the neurons of the next neighbor layer
  • feed-forward - connection between neurons is one-directional, neurons in the first layer send their output to the neurons in the second layer, but they do not receive any feedback
  • bi-directional - there is a feedback when the neurons from the second layer send their output back to the neurons in the first layer
  • resonance - two-directional connection where neurons continue to send information between layers until a certain condition is satisfied

    Here are the examples of some well known NN architectures along with their main features:

  • Perceptron - first NN, two-layered, fully connected
  • ADALINE (Source Code)- two-layered, fully connected
  • Backpropagation (Source codes)- first NN with one or more hidden layers, connection between hidden layers is hierarchical
  • ART (Adaptive Resonance Theory) (Source code) - resonance connection, three-layered network
  • Feedforward Counterpropagation (Source code)- structure similar to the popular backpropagation network, three-layered, but non-hierarchical, there is also a connection between neurons in one layer

    Connections between neurons in the same layer can be:

  • Recurrent: the connection is realized in a way that neurons communicate their outputs with each other after they receive their inputs from another layer. The communication continues until neurons do not reach a stable condition. When the stable condition is reached, neurons are allowed to send their output to the next layer.
  • On-center/off-surround: a neuron in one layer has an excitatory connection toward itself and toward the neighbor neurons, but an inhibitory connection toward other neurons in the layer.

    Some of the "intra-layer" networks with recurrent connection are:

  • Hopfield's network (Source code) - two-layered, fully-connected, neurons of output layer are mutually connected with recurrent intra-layer connection
  • Recurrent Backpropagation network - recurrent intra-layer connection, but one-layered, where a part of neurons receive inputs, and the other part of neurons is fully connected with recurrent intra-layer connection

    Examples of the networks with on-center/off-surround connection are:

  • ART1, ART2, ART3 (Source code)- resonance on-center/off-surround connection
  • Kohonen's self-organizing network (Source code)

    Connection between input and output data

    NNs can also be distinguished according to the connection between input and output that can be:

  • autoassociative - input vector is the same as output (common in pattern recognition problems, where the objective is to obtain the same data in output as they are in input)
  • heteroassociative - output vector differs from the input vector. Autoassociative networks are used in signal processing, noise filtering and similar problems that aim to recognize the patterns of input data.

    Input and transfer functions

    When a neuron receives the input from the previous layer, the value of its input is computed according to an input function, usually called a "summation" function. In the simplest case, input of a neuron is the sum of all weighted outputs that arrive into that neuron. Besides this standard network input, there are other additional specific types of inputs in a network, including independant inputs from external environment and bias inputs. Input values can be normalized to an interval to avoid the extreme influence of high-valued inputs.

    After receiving the input according to the summation function, the output of a neuron is computed and sent to other neurons it is connected to. The output of neurons is computed according to the so-called transfer function. Several most frequently used transfer functions are:

  • step function,
  • signum function,
  • sigmoid function,
  • hyperbolic-tangent function,
  • linear function,
  • threshold linear function.

    Learning

    Every NN goes through three operative phases:

  • learning (training) phase - network learns on the training sample, the weights are being adjusted in order to minimize the objective function (for example RMS - root mean square error),
  • testing phase - network is tested on the testing sample while the weights are fixed,
  • operative (recall) phase - NN is applied to the new cases with unknown results (weights are also fixed).

    There are two main types of learning in a neural network: supervised and unsupervised. The difference between those two types is in the availability of known output in the training sample. In supervised learning, the set of training data consists of previous cases with known input and output values. The neural network system receives the actual output, computes the error and adjusts the weights according to the error.

    On the other hand, the actual outputs are not known in unsupervised learning. Inputs are available to the network, but the weights cannot be adjusted based on the actual output. This type of learning is commonly used for pattern recognition problems and clustering. Kohonen's self-organizing network is based on unsupervised learning.

    Learning rules

    A learning rule represents the formula that is used in NN to adjust the connection weights among neurons. Among various learning rules developed so far, four of them are most commonly used:

  • Delta rule (Widrow/Hoff's rule)
  • Generalized Delta rule,
  • Delta-Bar-Delta and Extended Delta-Bar-Delta rules,
  • Kohonen's rule

    Talk about AI-related topics at Artificial Intelligence Bulletin Board.

    Want more timely information and resources related to AI? Subscribe to our FREE newsletter!

    Got some specific AI related questions or need consulting services? Contact your webmaster, Denis Susac.

    Talk with people who share your interests...

    Previous Features

    S p o n s o r e d    b y...

    Buy the ER1 Robot!

  •