| Prev | Next | Start of Chapter | End of Chapter | Contents | Index | (4 out of 6)

Autoassociative Net


The Autoassociative Network is a type of Backpropagation network that uses autoassociative mappings. It is a feed-forward, layered network. Each node in a layer is connected to all other nodes in the layer before it and the layer after it. In general, the input and output vectors are the same size and the network contains three hidden layers. It is especially useful for sensor validation problems.

An Autoassociative Network contains 5 layers. The first and last layers must be the same size as the input and output vectors. The hidden or intermediate layers (layers between the first and last layers) can be any size. Usually, an Autoassociative Network has 3 hidden layers. The middle layer, or bottleneck layer, must have fewer nodes than any other.

You can choose whether a layer uses the sigmoidal or linear function for its nodes. In general, the input, output, and bottleneck layers use the linear function, and the rest use the sigmoid function.


Note: NeurOn-Line does not use G2 objects to represent the nodes and connections in an Autoassociative Network. Instead, NeurOn-Line stores the network internally and lets you change the network's architecture with the configure menu item.
Before you can pass data through a network, you must train the network. For more information, see "Training Blocks". When you pass a vector to a network, it calculates the value for its output vector by passing the input vector's data through the layers of its network. Passing data through a network does not change the values of its weights.

If you run an Autoassociative network when it is configured to "correct gross errors," the Remote Process generates output like the following on the background window:

For no fault, f = 45.1403
For sensor 1, f = 6.33029, estimated bias = -8.995572
For sensor 2, f = 45.1061, estimated bias = 0.410265
For sensor 3, f = 45.0235, estimated bias = 0.482471
For sensor 4, f = 44.8587, estimated bias = 0.760695
For sensor 5, f = 44.4518, estimated bias = -1.263943

The f value is the input/output residual. To correct gross errors from various sensors, NOL estimates the possible error or "estimated bias," based on the calculation of an expected value.

The higher the bias (a value away from 0), the more the Autoassociative network is correcting the sensor value. The sensor with the least input/output residual, like sensor 5 in the example output, is replaced by the Autoassociative network with its corrected value.

Configuring

When you choose configure from the block's menu, NeurOn-Line displays this dialog.


To configure the Network Architecture, choose the number of layers, specify the number of nodes, and specify the transfer functions for each layer.


Caution: If you reduce the number of nodes in any layer or reduce the number of layers for a trained network, the network's current weights will be meaningless, and you will need to retrain the network.
To set the number of layers, use the arrows to the right of the Number of Layers attribute. By default, the network has 5 layers, which is the recommended number for an Autoassociative network. To decrease the number, click the down arrow. To increase the number, click the up arrow. You can select 2 to 5 layers.

The rows below Number of Layers let you set the number of nodes and transfer function for each input layer. We recommend that the first and last layer of an Autoassociative Network have the same number of nodes. If the network contains fewer than five layers, some of the fields will be inactive. You specify the number of nodes and transfer functions for the output layers.

To set the number of nodes for a layer, enter a number in the Nodes attribute for each layer. To set the transfer function for a layer, select the linear or sigmoid button for the Transfer Function attribute for each layer. Selecting the button toggles the button between linear and sigmoid. By default, the values for the transfer functions alternate in the manner that is recommended for an Autoassociative Network: linear, sigmoid, linear, sigmoid, linear, for the input, first hidden, bottleneck, second hidden, and output layers, respectively.

Choosing the Run Mode

The Run Mode attribute lets you choose whether the network replaces faulty input values. If you choose the filter noise only option, the network does not perform the replacement. When you run the network, it performs a single forward pass, which filters random errors from the inputs but not systematic errors (or biases).

If you choose the correct gross errors option, the network does perform the replacement. When you run the network, it performs N+1 passes, where N is the number of elements in the input vector.

The first pass is the same as the pass used for the Noise Filter Only option. In the rest of the passes, one of the input values is ignored and the network computes the best replacement value. Using the standard deviation for the input value, the network computes how far off the input value is from its replacement value. The network then replaces the input value that is furthest from its replacement value.


Caution: Correct gross errors mode requires several times more computational work than the filter noise only option.
When you choose the correct gross errors option, the Noise Standard Deviations button becomes active. Select this button to display a spreadsheet that lets you choose the standard deviations the block uses.

Adjusting Weights

You can overwrite the current weights with random weights and adjust the current weights by a random amount. For more information on adjusting weights, see "Adjusting Weights" for the BPN block.

Saving and Loading Weights

You can save the network's weights to a text file so you can load them later. For information on how to do this, see "Saving and Loading Weights" for the BPN block.

Making Values Permanent

When you choose make permanent from the block's menu, it saves the network's internal configuration and weights.

See Also

For more information on how to use this block, see the pages below.

Click here for more information...
Basic Block Behavior
Saving a Block's Data After Resetting G2

| Prev | Next | Start of Chapter | End of Chapter | Contents | Index | (4 out of 6)

Copyright © 1996, Gensym Corporation, Inc.