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.4 Probing the System

The Probe family is the most powerful feature in NeuroSolutions. Obtaining a good grasp of the use of the Probe family will greatly increase your ability to interact with the examples.

NEURAL AND ADAPTIVE SYSTEMS00000240.gif

Probe family palette

Each Probe provides a unique way of visualizing the data available throughout the network. Since the probes need data to display, they cannot be placed directly on the breadboard; they must be placed on a network component with a data access point. For instance, the Axon and Synapse families all have multiple access points. The activity access point contains the output data from the component (after operation by the component), the weight access point contains the weights of the component, and so on.

Let's assume we want to place a Matrix Viewer probe on an Axon to demonstrate some of the key probing concepts. The Matrix Viewer probe simply shows the data in numeric format.

NEURAL AND ADAPTIVE SYSTEMS00000241.gif

Matrix viewer

When you place a Matrix Viewer on an Axon, one of its page tabs will be the Access property page. This will list all the possible access points of the Axon.

NEURAL AND ADAPTIVE SYSTEMS00000242.gif

Access property page

Selecting the access point in the Inspector determines what data the Matrix Viewer will show. The Matrix Viewer will move its position on the Axon slightly depending on which access point you select. The last thing we need to do is double-click on the Matrix Viewer icon to open its display window.

TUTORIAL EXAMPLE 7

This example loads a small network of connected components and a Static Controller, and allows you to place Matrix Viewers on the network and view the results.

NeuroSolutions Example

B.4.1 Static Probes

There are two major types of probes in NeuroSolutions: static probes and temporal probes. Static probes like the Matrix Viewer simply display the data at a specific instance in time. Temporal probes display data over time, like an oscilloscope or a graph of an output over time. Some of the more common static probes are shown below:

Icon
Name
Description
NEURAL AND ADAPTIVE SYSTEMS00000241.gif
Matrix Viewer
Displays instantaneous data as a numerical matrix
NEURAL AND ADAPTIVE SYSTEMS00000243.gif
Matrix Editor
Similar to the Matrix Viewer except that it also allows you to edit the data you are probing
NEURAL AND ADAPTIVE SYSTEMS00000244.gif
Bar Chart
Displays the data in a bar chart form
NEURAL AND ADAPTIVE SYSTEMS00000245.gif
Image Viewer
Displays the data as a gray-scale image

There are times where you might want to display a specific piece of data in two different ways – for instance, you may want both the numerical value (Matrix Editor) and a Bar Chart. To do this, you simply stamp the second probe on top of the first probe: this is called stacking, and the access point in the Inspector of the second component will simply say Stacked Access.

TUTORIAL EXAMPLE 8

This example loads a small network of connected components and allows you to place static probes at various locations on the network.

NeuroSolutions Example

B.4.2 Temporal Probes

Temporal probes display data from multiple iterations of the network. For instance, some of the previous examples used a MegaScope to display the sine wave. The sine wave was presented to the network one sample at a time, but the MegaScope and its cohort, the Data Storage component, displayed the time history of the sinewave.

Icon
Name
Description
NEURAL AND ADAPTIVE SYSTEMS00000246.gif
MegaScope
Displays a line graph of the data similar to an oscilloscope
NEURAL AND ADAPTIVE SYSTEMS00000247.gif
Data Storage
Stores data from multiple iterations of the network for display by the temporal probes
NEURAL AND ADAPTIVE SYSTEMS00000248.gif
Scatter Plot
Displays the data as a set of points on an X,Y set of coordinates

The Data Storage component stores data over time as the network runs so that the temporal probe can display the data. Some of the properties of the Data Storage component are shown below.

NEURAL AND ADAPTIVE SYSTEMS00000249.gif

Data Storage Inspector

Notice that the Data Storage component allows you to select the amount of data to store (buffer size) and how often it should send the data to the temporal probe (message every). The message every property determines how often the display is updated.

To create a new temporal probe, first stamp a Data Storage component and make sure it is at the correct access point. Then stack a temporal probe on top of it and adjust its parameters if necessary. For instance, the MegaScope allows you to display multiple signals, change the color of each signal's trace, and change the scale of both axes as well.

TUTORIAL EXAMPLE 9

This example allows you to create and experiment with temporal probes and the Data Storage component.

NeuroSolutions Example

B.4.3 Data Transmitters

The probes display the data that they receive from the component they are stamped on. What if you want to display data from two different components on the same probe? The Data Storage Transmitter is the answer. You place a temporal probe on one component then place a Data Transmitter on the second component and tell it to transmit its data to the probe. The Data Storage Transmitter is on the Transmitters palette, and it looks like a miniature barrel NEURAL AND ADAPTIVE SYSTEMS00000250.gif when placed on the Breadboard. It is the rightmost component on the palette.

NEURAL AND ADAPTIVE SYSTEMS00000251.gif

Transmitters palette

To setup the Data Storage Transmitter, you must do two things. First, make sure that it is located at the correct access point (e.g. , will be sending the correct data). Second, you must tell it which Data Storage component to send the data to.

NEURAL AND ADAPTIVE SYSTEMS00000252.gif

Data Storage Transmitter Inspector

On the Transmitter page of the Inspector you will see a list of possible receivers (Data Storage components). The receivers list shows the name of each Data Storage component on the Breadboard – the name is taken from the Component Name property on the Engine page of each component. When you click on one of the receivers, a list of possible actions shows up in the action list. Double click on the action of choice to make the connection (indicated by a "C"). In this case, we want the AttachToBuffer action, which sends the data from the Transmitter to the Data Storage component.

TUTORIAL EXAMPLE 10

This example uses a Data Storage Transmitter to create a single plot showing the input and the output of the network.

NeuroSolutions Example

Were you were wondering what the other transmitters on the Transmitters pallette do? They can be used to signal events to other components. For instance, the Threshold Transmitter can be used to tell the Static Controller to stop training when the error has reached a certain point.

This section has covered all you need to know to create probes in NeuroSolutions. Remember that probing a neural network may be the only way to fully understand how it is working. The next section covers the Input family, which allow you to use your own data in the neural networks.

Go to next section