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:
- Functionality as a teaching tool - both for class demonstration and individual study
- Meeting project deadlines
- Reusability of foundation code
- Portability of entire package
- Efficiency of code
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