Download a free evaluation copy of NeuroSolutions to discover how to apply neural network technology to your artificial intelligence application.

contents.gifindex.gifprev1.gifnext1.gif

B.3 Basic Operation of NeuroSolutions

NeuroSolutions' object-oriented user interface organizes its components into palettes. Each palette of components contains a family of components with similar function. For example, all the output displays or probes are contained in a single palette. All the palettes can be found under the palette menu item.

NEURAL AND ADAPTIVE SYSTEMS00000219.gif

If a palette is open, it will have a checkmark next to it. An opened palette looks and acts like a toolbar with a set of icons. The palettes can be moved and docked just like a standard windows toolbar. Below is an example of the Axon palette.

NEURAL AND ADAPTIVE SYSTEMS00000220.gif

The Axon family palette

Components can be selected from a palette and stamped onto the breadboard.

B.3.1 Stamping Components

If you put the cursor over the palette and wait a few seconds, you should see a small window pop up with the name of the component in it. This is called a "tool tip", and you can use it to determine which component you are selecting from the palette. When you click on a component, the cursor becomes a stamp NEURAL AND ADAPTIVE SYSTEMS00000221.gif when you place it over the breadboard. If you click again anywhere in the breadboard, the component will be copied to that location on the breadboard. This operation is called component stamping.

If you select a component from a palette and place the cursor over an existing component from the same family on the breadboard, the cursor will switch to a NEURAL AND ADAPTIVE SYSTEMS00000222.gif which indicates the current selection will replace the component on the breadboard.

TUTORIAL EXAMPLE 2

This simple example opens up a new breadboard and allows you to stamp components on it. You should practice opening, closing, and moving palettes. Use tool tips to determine the name of the different components and then stamp a few on the breadboard. Since some families cannot be stamped directly on the breadboard, we suggest you start with the axon palette.

NEURAL AND ADAPTIVE SYSTEMS00000220.gif

The Axon family palette

If you select a component that cannot be stamped down, you may need to click the "selection cursor" button NEURAL AND ADAPTIVE SYSTEMS00000223.gif to return to "selection mode."

NeuroSolutions Example

B.3.2 On-Line Help

A complete description of every component is contained within the on-line help. The easiest way to access the help for a given component is to click on that component with the Help cursor NEURAL AND ADAPTIVE SYSTEMS00000224.gif. The Help cursor is located on the toolbar. Just click on it and then move the mouse over the component you want help for, clicking on the component's icon.

TUTORIAL EXAMPLE 3

This simple example allows you to experiment with using the help cursor to describe each component. This handy feature allows you to quickly and easily determine the function of each component. For now, don't worry too much about the contents of the help files, just practice using the Help cursor.

NeuroSolutions Example

B.3.3 Connecting Components

Notice that on the axon family components (as well as those of some other families), there is a double-diamond contact point on the left NEURAL AND ADAPTIVE SYSTEMS00000225.gif (the FemaleConnector) and a single-diamond contact on the right NEURAL AND ADAPTIVE SYSTEMS00000226.gif (the MaleConnector). The data flow in NeuroSolutions is designed to move from left to right on the breadboard. To connect two components, simply drag the MaleConnector on the right of a component to the FemaleConnector on the left of the other component. The connection is visually indicated by three lines drawn between the components.

You will notice that while you are dragging the connector, the mouse arrow changes to a move cursor NEURAL AND ADAPTIVE SYSTEMS00000227.gif, meaning that you can drop the MaleConnector NEURAL AND ADAPTIVE SYSTEMS00000226.gif onto any unoccupied portion of the breadboard. If you place the cursor over a location that is an invalid connection, the cursor becomes a crossed circle NEURAL AND ADAPTIVE SYSTEMS00000228.gif, meaning that you cannot drop the MaleConnector in that place.

An alternative way to connect components is to select the first component (by clicking the left mouse button), then click the right mouse button on the second component, and select "Connect To" from the menu. The three connection lines will be automatically established.

TUTORIAL EXAMPLE 4

This example allows you practice connecting components.

NeuroSolutions Example

B.3.4 Axons and Synapses

The building-block approach can easily be applied to build adaptive or neural systems. These networks primarily consist of processing elements (PEs) tied together with "weighted" connections. The Axon family (much of the terminology in NeuroSolutions is based on neurobiology) implements the PEs in the network, and the Synapse family implements the weighted connections.

NEURAL AND ADAPTIVE SYSTEMS00000220.gif

Axon family palette

NEURAL AND ADAPTIVE SYSTEMS00000229.gif

NEURAL AND ADAPTIVE SYSTEMS00000230.gif

NEURAL AND ADAPTIVE SYSTEMS00000231.gif

Axon

Bias Axon

Sigmoid Axon

The Axon family has two functions. The components sum all of their inputs and then apply a function to that sum. The different components in the Axon family apply different functions to the summation of their inputs. Each of the different images on the Axon family icons represents the function that is applied. The Linear Axon (called simply an Axon) just passes the sum of the inputs directly to the output. The Bias Axon sums the input and adds an offset. The Sigmoid Axon applies a thresholding function to the data. A single component of the Axon family can represent any number of PEs.

NEURAL AND ADAPTIVE SYSTEMS00000232.gif

Synapse family palette

NEURAL AND ADAPTIVE SYSTEMS00000233.gif
NEURAL AND ADAPTIVE SYSTEMS00000234.gif
Full Synapse
Arbitrary Synapse

The Synapse family is used to connect Axons together. In general, each connection in a Synapse is assigned a weight that scales the data passing through it. Adjusting these weights is how a neural network or adaptive system is trained to perform the desired task. The member of the Synapse family most commonly used is the Full Synapse and connects every PE in one Axon component to every PE in the other axon component. Thus, the Full Synapse component contains nm connections (and weights) if there are n input PEs and m output PEs. The Arbitrary Synapse allows you to select which of the nm possible connections to make between the axons.

B.3.5 Component Properties

Every NeuroSolutions component has a set of parameters that you can adjust. For instance, the Axon family components contain a parameter that sets the number of PEs represented by that component. You access a component's parameter set through a dialog box called the Inspector.

· You invoke the Inspector for any component on the breadboard by right-clicking its icon and choosing "Properties":

NEURAL AND ADAPTIVE SYSTEMS00000235.gif

Invoking the Inspector

· You can also invoke the Inspector by left-click selecting an icon and then pressing "Alt+Enter." The Inspector below shows some of the properties of the Linear Axon. Notice that number of PEs in an Axon component can be defined via rows and/or columns, allowing you to create a matrix of PEs.

NEURAL AND ADAPTIVE SYSTEMS00000236.gif

Sample Inspector

Once the Inspector is open, you can view or modify the parameters of other components by simply clicking on other icons on the breadboard.

A component's parameter set is organized according to property pages. The property pages are labeled on the tabs across the top of the Inspector. You access the various property pages by clicking on these tabs. The leftmost tab typically contains the most commonly used parameters for each component. Many of the other tabs are useful only to advanced users.

If multiple components have the same parameters, you can simultaneously edit the parameters of all the components using the following procedure:

· Invoke the Inspector for the first component.

· Click on the tab of the desired property page

· Hold down the Shift key while left-clicking to select the remaining components.

· Edit any parameter(s) within the Inspector. Any changes you make in the Inspector will be reflected in all selected components, so long as they all have the same parameter.

For example, you can simultaneously change the number of PEs for a group of Axons, even if they have different transfer functions (linear, sigmoid, etc.).

TUTORIAL EXAMPLE 5

This example starts with a small network of connected components and allows you to manipulate the properties of those components with the Inspector.

NeuroSolutions Example

B.3.6 The Data-Flow Controller and Running the Network

The last family we will discuss in this section is the Control family. The Control family is different from the Control toolbar, but they are related in operation. The Control family contains components that control how the data flows through the network. The simplest member of the Control family is the Static Controller NEURAL AND ADAPTIVE SYSTEMS00000237.gif. Its properties include parameters such as the amount of data in the input file, how many times to run the data through the network, whether and how the network should learn, and so forth. Thus, pressing the Start button on the Control toolbar tells the Static Controller to begin sending data through the network. The Control toolbar and Controller component work together to control the network.

NEURAL AND ADAPTIVE SYSTEMS00000211.gif

The Control toolbar

NEURAL AND ADAPTIVE SYSTEMS00000238.gif

The Control palette

To explain the properties of the Static Controller, we must define a few terms. An exemplar of data is one complete sample of the input for one time-step. If the network has multiple inputs, then an exemplar corresponds to one piece of data from each input. An epoch is a complete set of data presented to the network. Normally an epoch is the number of data samples in the training set file. If there are 30 samples in a data file, then there are 30 exemplars in an epoch. Many times you may want to present the same data to the network multiple times – this is represented as the number of epochs per run.

If you double-click on the Static Controller, you will see a real-time view of the simulation's progress:

NEURAL AND ADAPTIVE SYSTEMS00000239.gif

Simulation progress display

TUTORIAL EXAMPLE 6

This example starts with a small network of connected components and a Static Controller and allows you to run the network using the control toolbar.

NeuroSolutions Example

We have now covered the fundamental techniques used in NeuroSolutions. The next two sections discuss the two most important families of components for use in the interactive book. These two families are the Probe family, which allows you to view the parameters or data in the network, and the Input family, which allows you to modify the inputs to the examples.

Go to next section