| Download a free evaluation copy of NeuroSolutions to discover how to apply neural network technology to your artificial intelligence application. |
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.
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.
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.
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.
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
|
| Matrix
Viewer |
Displays
instantaneous data as a numerical matrix |
|
| Matrix
Editor |
Similar
to the Matrix Viewer except that it also allows you to
edit the data you are probing |
|
| Bar
Chart |
Displays
the data in a bar chart form |
|
| 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.
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
|
| MegaScope
|
Displays
a line graph of the data similar to an oscilloscope |
|
| Data
Storage |
Stores
data from multiple iterations of the network for display
by the temporal probes |
|
| 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.
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.
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
when placed on the Breadboard. It is the
rightmost component on the palette.
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.
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.
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.