Table 1.
Set unit numbers, bias, and sensitivity; set input activation and target state probabilities; set learning rates, neighborhood properties, numbers of iterations, and thresholds; initialize primary and modulatory weights. |
For the required number of stage-one training iterations, do |
Determine target modality according to the target state probabilities |
Determine primary input activation using input activation probabilities |
Compute responses of DSC units to the input |
Find the DSC unit with the maximal response (winning DSC unit) |
Train primary weights of winning DSC unit and neighbors using Hebb's rule |
Eliminate primary weights of any modality with values below the threshold |
For the required number of stage-two training iterations, do |
Determine target modality according to the target state probabilities |
Determine primary and modulatory input activation using activation probabilities |
Modulate primary weights according to modulatory inputs and weights |
Compute responses of DSC units to primary input with modulation |
Find active primary and modulatory inputs and DSC units by thresholding |
Train modulatory weights of DSC units using the correlation-anti-correlation rule |
If a modulatory input and a DSC unit are both active, then increase the modulatory input weights to inactive primary inputs and decrease the modulatory input weights to active primary inputs |
If a modulatory input is active but a DSC unit is inactive, then decrease the modulatory weights to all primary inputs |
End algorithm
|