At the forefront of Artificial Intelligence
  Home Articles Reviews Interviews JDK Glossary Features Discussion Search
Home » Articles » Neural Networks » Applications/Code

nNExplorer

By Lucio Torres

Introduction:

nNexplorer is an interactive application to see neural netowrks work. It uses a one hidden layer backpropagation network to try to estimate a single variable function.

Many things can be tuned so the user can understand the effect of the diferent parameters on learning. Its simple, visual and interactive, but nothing more.

Usage:

  • Parameters for the neural network:

Neurons in Hidden Layer: Defines the number of neurons in the hidden layer. All neurons in the hidden layer get their input from the input neuron and the bias. The output neuron is connected to each hidden neuron and a bias neuron.

Output Function: Defines the output function for the hidden layer. The input and output neuron have an identity output function.

Range Start/Stop: Defines the function domain. ( f: [range start, range stop] -> R )

Alpha: The learning rate. At each step, (with each training sample) a weight change is generated the is multiplied by alpha and then added to the real weight.

Function: This is the target function, the function to learn.

  • Create New Network:

Clicking in this button creates a new network. Simulation step is taken to 0, the error window is cleared, the new target and estimated function are plotted.

  • Generate training samples:

This button trains the network with "step" samples chosen at random from the range. The evolution can be viewed and stopped at any point.

  • Monitors:

Current Step: Shows the current step, ie, how many samples the network saw.

Error: Shows the current aproximated error. Error is defined as int(abs(f(x)-n(x)), x) where f is the target and n is function the estimated by the network.

  • Function Plots:

Target Function: The green line is the function to be learned

Estimated function: The blue line is the current function generated by the network.

  • Manual Samples:

By clicking on the function plots panel you can manually generate a sample and see the how the network responds to the new input. The selected point is marked with a vertical line that passes thru it.

  • Error Plot.

This panel shows the estimated error as a function of time.

Todo:

  • Limit training set: The user should be able to select a maximim number of sample to use in training.
  • Add more hidden layers
  • Change learning algorithm
  • Move to sciparam or somehting like it.
  • plot sample error vs total error.
  • save plots?

Download:

Note: Python, wxPython and NumPy are required to compile and run this program.

Submitted: 03/10/2003

Article content copyright © Lucio Torres, 2003.
 Article Toolbar
Print
BibTeX entry

Search

Latest News
- Generation5 10-year Anniversary (03/09/2008)
- New Generation5 Design! (09/04/2007)
- Happy New Year 2007 (02/01/2007)
- Where has Generation5 Gone?! (04/11/2005)
- NeuroEvolving Robotic Operatives (NERO) (25/06/2005)

What's New?
- Back-propagation using the Generation5 JDK (07/04/2008)
- Hough Transforms (02/01/2008)
- Kohonen-based Image Analysis using the Generation5 JDK (11/12/2007)
- Modelling Bacterium using the JDK (19/03/2007)
- Modelling Bacterium using the JDK (19/03/2007)


All content copyright © 1998-2007, Generation5 unless otherwise noted.
- Privacy Policy - Legal - Terms of Use -