Category Intelligent Software>Neural Network Systems/Tools

Abstract Simbrain is a visually-oriented framework for building and analyzing neural networks (NNs).

It emphasizes the analysis of networks which control agents embedded in virtual environments, and visualization of the structures which occur in the high dimensional state spaces of these networks.

The program was originally intended to facilitate analysis of representational processes in embodied agents; however it is also well suited to teaching neural network concepts to a broader audience than is traditional for neural network courses.

Simbrain was used to teach a course at a new university, UC Merced, in its inaugural year.

Simbrain design goals --

The overarching motivation of Simbrain is to make neural networks available to as wide an audience as possible. The basic idea is that neural networks are, fundamentally, easy to understand. They involve passing of information between simple units.

By using a familiar graphical interface to display this, the hope is that network principles can be understood whether or Not the user has a background in mathematics and computer programming (which are standard prerequisites to the study of neural networks).

On the other hand, it is also hoped that having such an intuitive tool will facilitate research by more advanced users who can use the tool to prototype network designs (for later high performance implementation), and to test network ideas in ecologically realistic environments.

If, using Simbrain, a 12 year old student discovers a novel “network architecture”, and then the basic vision of Simbrain will have been realized.

Some more specific goals are as follows:

1) User can immediately begin experimenting with neural networks.

2) Easy-to-use, visual Graphical User Interface (GUI) which draws on familiar interface elements.

3) Provide an educational tool for learning about neural networks through direct experimentation and visual representation.

4) Ability to study sensorimotor integration by embedding networks in virtual worlds.

5) Ability to rapidly prototype neural networks of any topology.

6) Ability to view the topological and geometric structure of the state-space of a neural network (NN) in real-time.

Simbrain Workspace --

The Simbrain workspace is the encompassing framework which contains all simulation components: networks, worlds, and gauges.

The workspace is the frame in which all networks, worlds and gauges are created, saved, and opened. Note that the linkages between components are mostly handled within the components themselves, in particular the network component (see below...).

A workspace can be thought of as an individual neural network simulation, experiment, or lesson. The workspace is visible mainly through the menu bar. Components may be opened or created through commands in the File and Insert dropdown menu.

Simbrain Networks --

The network component of Simbrain represents a simulated neural circuit. Networks are the core component of a Simbrain simulation. They are built using a simple graphical interface.

Networks are built by creating neurons and connecting them with synapses. They are run by pressing the “play” or “step” buttons.

There are many varieties of neurons and synapses, each with their own rules and parameters. By combining these together you can create indefinitely many different kinds of networks.

There are also special types of networks called “subnetworks” which can be added to a simulation. Different subnetworks can be linked together, leading to even more complex and advanced simulations.

When Simbrain is first opened nothing happens. A sample network sits passively before the user. When the user “runs” the network it comes to life -- an update algorithm is repeatedly called, which is visible in the form of spreading activity in the network’s nodes and (if learning is activated) changing weight sizes.

Simbrain Worlds --

Worlds are components that interact with Network components by giving and/or receiving information. World components represent the sensory-motor environment of a neural network.

They produce inputs to and accept outputs from network components. They represent an environment and a set of sensory and / or motor transducers.

Worlds convert a given type of sensory information, visual patterns, smells, and sounds, into a set of values that is sent to the input nodes of the network. Once in the hands of the neural network, information sent from a world can be interpreted to the network’s content.

The network can, also, contribute to the World. Through Output Commands, in the form of output vectors, networks can interact with the world through motion, sounds, text, and more.

The interaction between Worlds and Networks takes place because the instances have been coupled. The simplest worlds simply send data in a spreadsheet to a neural network.

More complex worlds convert visual, auditory, olfactory, and linguistic stimuli to patterns of neural activity.

OdorWorld - The Odor World simulates olfaction and motion of a creature in a two-dimensional world. The agent, or creature, senses objects and can react to them by turning and moving.

Each object corresponds; essentially, to a vector of values that represents a pattern of activity over the agent’s receptors.

This is to say, each object broadcasts a signal, and it is up to the agent to understand what those signals represent and to react to them. How the agent interprets the signals is determined by the network that controls the agent.

DataWorld - Data Worlds are essentially spreadsheets that can be used to send data to and received data from a network. Each row in a Data World corresponds to an input or output vector.

Input and output neurons are coupled to particular columns. When the “send” button is pressed the values in the corresponding row are sent to all coupled input neurons.

When output neurons are coupled to columns their activations are recorded in the corresponding column of the currently selected row of a Data World.

Information can be directly entered into the Data World spreadsheet, and can be imported from and exported to *.csv files (which can be read by most spreadsheet programs, e.g. Excel).

Simbrain Gauges --

The states that occur in a neural network correspond to points in a high dimensional space. These states and the patterns they form can be visually inspected using the gauge components.

This allows for the visual analysis of the representational structures that develop in a neural network.

One of the main methods for studying the activity of the network component in Simbrain is by using the gauge component. Each gauge is an instance of a program called HiSee.

HiSee - HiSee is a high dimensional visualizer that can take a collection of states that are visited by a neural network and project them down into two (2) dimensions so that many of their geometric and topological properties can be observed.

What the Dots Represent - Each “dot” in the gauge represents a state of the network. When a gauge is first opened, there are No dots, since No state information has been sent to the gauge yet.

With each update of the network, state information is sent to the gauge which is then displayed as a red dot.

The set of dots that appear in the gauge window represent the states that have been visited by the associated network since the gauge was added.

This representation of the history of a network’s activity allows for the user to understand and analyze the network’s behavior. As the network is updated the user can watch new dots appear as new states arise.

System Requirements

Contact manufacturer.


Manufacturer Web Site Simbrain

Price Contact manufacturer.

G6G Abstract Number 20739

G6G Manufacturer Number 104325