15.1 Overview of the Cs Implementation

The Cs implementation defines a type of connection and connection spec that is used by all flavors of Cs networks. There is a basic CsUnit which is also common to all algorithms, but each different type of activation function defines its own version of the basic CsUnitSpec. Thus, to switch activation functions, one needs only to point one's units at a new unit spec type.

The new schedule process objects consist of three essential levels of processing, starting at the trial level and moving down through settling to the cycle, which implements one activation update of the network. Thus, the CsTrial process loops over the plus and minus phases of settling in the CsSettle process, which in turn iterates over cycles of the CsCycle process, which updates the activations of the units in the network. There is an optional level of processing which involves sampling over repeated settlings of the same pattern. This repeated sampling is used for learning to obtain reliable statistical estimates of the probabilities of certain activation states, and is thus used when learning to match a propability distribution over the output layer (see section 15.7 The Probability Environment and Cs). This CsSample process loops over samples of the CsTrial process.

There are several specialized statistic objects that compute the global goodness or energy function of the network (CsGoodStat), and record its probability of being in one of a number of desired activation states (CsDistStat), and the extent to which the probabilities of these states match their desired probabilities (CsTIGstat, CsTargStat).