14.1.3 Bp Unit Specifications

The unit in Bp contains a bias weight and the various derivative terms that are accumulated during the backpropagation phase:

BpCon bias
Contains the bias weight and its associated derivative and weight change values. The bias weight is controlled by the bias_spec on the BpUnitSpec.
float err
Contains the actual error or cost associated with the unit. It is a function of the difference between the activation and the target value, so it only shows up for those units that have target activation values. It is not to be confused with the derivative of the activation with respect to the error, which is dEdA.
float dEdA
The derivative of the error with respect to the activation of the unit. For output units using the squared-error function, it is simply (targ - act). For hidden units, it is the accumulation of the backpropagated dEdNet values times the intervening weights from the units to which the unit sends activation.
float dEdNet
The derivative of the error with respect to the net input of the unit. It is simply the dEdA times the derivative of the activation function, which is act * (1 - act) for standard sigmoidal units.

The unit specifications for Bp control what kind of error function is being used, the parameters of the activation function, and the functions on the spec orchestrate the computation of the activation and error backpropagation phases:

SigmoidSpec sig
These are the parameters of the sigmoidal activation function. The actual range of this activations are determined by the act_range parameters, and the sig parameters determine the gain and any fixed offset of the function (the offset is like a fixed bias term).
float err_tol
The error tolerance allows activation values that are sufficiently close to the target activation to be treated as though they were equal to the target value. Reasonable values of this parameter are from .02 to .1, and its use prevents the large accumulation of weight values that happens when the unit keeps trying to get closer and closer to an activation of 1 (for example), which is impossible.
BpConSpec_SPtr bias_spec
A pointer to a BpConSpec that controls the updating of the unit's bias weight. Typically, this points to the same BpConSpec that updates the rest of the weights in the network, but it is possible to have special BpConSpec's that do different things to the bias weights, like initialize them to moderate negative values, for example.
err_fun
A pointer to the error function to use in computing error for output units that have target values. The function computes both err and dEdA values (the former typically being the square of the latter). While the user can define additional error functions, the two that come with the standard distribution are Bp_Squared_Error and Bp_CrossEnt_Error, which compute the squared error and cross-entropy error functions, respectively.