The GNNV Project



The GNNV Project Tutorial

Using GNNV:
How to use GNNV
NEW! - Online User's Tutorial
GNNV screenshots

Download GNNV



The GNU Neural Network Visualizer (GNNV) is an undergraduate research software project currently being developed by the Shelley Research Group (part of the Illinois Wesleyan Intelligence Network on Knowledge - IWINK) which, in turn, is a part of the Cognitive Science Consortium.

GNNV visualizes a fully-connected feedforward three-layer network, which is "taught" using the backpropogation algorithm; network learning currently consists of face recognition, but will eventually expand to be user definable.

GNNV is designed to be an interactive teaching tool, for use both as a front-of-the-classroom demonstration, and an application for individual student use.

Though primary emphasis is placed on the pedagogical uses of the software, other key design issues and decisions should not be discounted. The major areas of emphasis in the GNNV project, in order of relative importance, are:

Design Philosophy of GNNV

GNNV is broken down into two primary components: the foundational neural network backbone, and the graphical user interface. Both components strongly stress object-oriented programming techniques in their design and implementation. The neural network foundation is based upon source code written by Dr. Jeff Shufelt, and discussed in Dr. Tom Mitchell's book Machine Learning, McGraw Hill, available March, 1997. The original source code, as well as further information about Machine Learning, is available at: http://www.cs.cmu.edu/afs/cs.cmu.edu/user/mitchell/ftp/mlbook.html

The GNNV version of the neural network foundation is coded in C++ with a strong emphasis on making the code non-context specific: meaning that this foundational code isn't specific either towards pedagogical purposes or even visualization. Ideally the code should be easily reused by students interested in doing research in neural networks without the added overhead of a graphical user interface.

The second component of the project, the GUI, is implement using GTK+, "a library for creating graphical user interfaces for the X Window System. It is designed to be small, efficient, and flexible."

To enhance the reusability of the code, GNNV is structured such that the foundational neural network code is separated from any user interface implementation, and thus we have multiple "flavors" of GNNV: so far we only anticipate GNNVgtk+ and GNNC (the GNU Neural Network Console), though the structure is such that additional frontends could be easily implemented. The advantage of this approach is that the door is left open for future researchers to easily implement different GUIs, catering to their specific needs and tastes. GNNVgtk+ is our full-fledged interactive pedagogical version of GNNV, and GNNC merely spouts numeric results for testing purposes, though it could also pave the way for a minimal-interaction research version of GNNV.



Why GNU?

The G in GNNV stands for GNU. GNNV is being developed under the GNU General Public License because its authors want it to be free software to be made widely available and be of use to as many people as possible, either in its original form or in any way modified.




Follow this link to a continuously under-construction page with development information for the Shelley Research Group.



Please email comments to: shelley@sun.iwu.edu