SNNS (Stuttgart Neural Network Simulator) is a simulator for neural networks developed at the Institute for Parallel and Distributed High Performance Systems (Institut für Parallele und Verteilte Höchstleistungsrechner, IPVR) at the University of Stuttgart since 1989. The goal of the project is to create an efficient and flexible simulation environment for research on and application of neural nets.
The SNNS simulator consists of four main
components that are depicted in figure : Simulator kernel,
graphical user interface, batch simullator version snnsbat, and
network compiler snns2c. There was also a fifth part, Nessus, that was
used to construct networks for SNNS. Nessus, however, has become
obsolete since the introduction of powerful interactive network
creation tools within the graphical user interface and is no longer
supported. The simulator kernel operates on the internal network data
structures of the neural nets and performs all operations on them. The
graphical user interface XGUI
,
built on top of the kernel, gives a graphical representation of the
neural networks and controls the kernel during the simulation run. In
addition, the user interface can be used to directly create,
manipulate and visualize neural nets in various ways. Complex
networks can be created quickly and easily. Nevertheless, XGUI should
also be well suited for unexperienced users, who want to learn about
connectionist models with the help of the simulator. An online help
system, partly context-sensitive, is integrated, which can offer
assistance with problems.
Figure: SNNS components: simulator kernel, graphical user
interface xgui, batchman, and network compiler snns2c
An important design concept was to enable the user to select only those aspects of the visual representation of the net in which he is interested. This includes depicting several aspects and parts of the network with multiple windows as well as suppressing unwanted information.
Table: Machines and operating systems on which SNNS has been tested
(as of November 1995)
SNNS is implemented completely in ANSI-C. The simulator kernel has already
been tested on numerous machines and operating systems (see also table
). XGUI is based upon X11 Release 5 from MIT and the
Athena Toolkit, and was tested under various window managers, like
twm, tvtwm, olwm, ctwm, fvwm. It also works under X11R6.
This document is structured as follows:
This chapter gives a brief introduction and
overview of SNNS.
Chapter gives the details about how to obtain
SNNS and under what conditions. It includes licensing, copying and
exclusion of warranty. It then discusses how to install SNNS and gives
acknowledgments of its numerous authors.
Chapter introduces the components of neural nets
and the terminology used in the description of the simulator.
Therefore, this chapter may also be of interest to people already
familiar with neural nets.
Chapter describes how to operate the two-dimensional
graphical user interface. After a short overview of all commands a
more detailed description of these commands with an example dialog is
given.
Chapter describes the form and usage of the patterns
of SNNS
Chapter describes the integrated graphical editor of
the 2D user interface. These editor commands allow the interactive
construction of networks with arbitrary topologies.
Chapter is about a tool to facilitate the generation of
large, regular networks from the graphical user interface.
Chapter describes the network analyzing facilities,
built into SNNS.
Chapter describes the connectionist models that are
already implemented in SNNS, with a strong emphasis on the less
familiar network models.
Chapter describes the four pruning functions which are
available in SNNS.
Chapter introduces a new visualization component for
three-dimensional visualization of the topology and the activity of
neural networks with wireframe or solid models.
Chapter describes how to use the full power of
multiple computers in a cluster of workstations for training networks
with SNNS.
Chapter introduces the batch capabilities of SNNS.
They can be accessed via an additional interface to the kernel, that
allows for easy background execution.
Chapter gives a brief overlook over the tools that
come with SNNS, without being an internal part of it.
Chapter describes in detail the
interface between the kernel and the graphical user interface. This
function interface is important, since the kernel can be included in
user written C programs.
Chapter details the activation functions and output
function that are already built in.
In appendix A the format of the file interface to the kernel is described, in which the nets are read in and written out by the kernel. Files in this format may also be generated by any other program, or even an editor.
The grammars for both network and pattern files are also given here.
In appendix B and C examples for network and batch configuration files are given.