GClasses
|
The base class for activation functions. Typically, this are sigmoid-shaped functions used to "squash" the output of a network node. These are typically used in conjunction with the GNeuralNet class. More...
#include <GActivation.h>
Public Member Functions | |
GActivationFunction () | |
virtual | ~GActivationFunction () |
virtual double | center ()=0 |
The center output value. This should return the value of squash(0.0). More... | |
virtual GActivationFunction * | clone ()=0 |
Returns a clone of this object. More... | |
virtual double | derivative (double x)=0 |
The derivative of the activation function. More... | |
virtual double | derivativeOfNet (double net, double activation) |
This computes the derivative of the net value. (Sometimes, such as with GActivationLogistic, it is more efficient to compute this from the activation value, so both are provided.) More... | |
virtual double | halfRange ()=0 |
The absolute difference between the max (or min) output value and the center. More... | |
virtual double | identityBias ()=0 |
Returns a value to use for the bias when initializing this unit to approximate the identity function. More... | |
virtual double | identityDiag ()=0 |
Returns a value to use for the diagonal elements when initializing this unit to approximate the identity function. More... | |
virtual double | inverse (double y)=0 |
The inverse of the activation function. (This function may throw an exception if the activation function cannot be inverted.) More... | |
virtual const char * | name () const =0 |
Returns the name of this activation function. More... | |
GDomNode * | serialize (GDom *pDoc) const |
Serialize this object. More... | |
virtual double | squash (double x)=0 |
The activation function. More... | |
Static Public Member Functions | |
static GActivationFunction * | deserialize (GDomNode *pNode) |
Deserialize this object. More... | |
The base class for activation functions. Typically, this are sigmoid-shaped functions used to "squash" the output of a network node. These are typically used in conjunction with the GNeuralNet class.
|
inline |
|
inlinevirtual |
|
pure virtual |
The center output value. This should return the value of squash(0.0).
Implemented in GClasses::GActivationSoftPlus2, GClasses::GActivationSoftPlus, GClasses::GActivationRectifiedLinear, GClasses::GActivationLogisticDerivative, GClasses::GActivationSinc, GClasses::GActivationSin, GClasses::GActivationGaussian, GClasses::GActivationBiDir, GClasses::GActivationBend, GClasses::GActivationIdentity, GClasses::GActivationAlgebraic, GClasses::GActivationTanH, GClasses::GActivationArcTan, and GClasses::GActivationLogistic.
|
pure virtual |
Returns a clone of this object.
Implemented in GClasses::GActivationSoftPlus2, GClasses::GActivationSoftPlus, GClasses::GActivationRectifiedLinear, GClasses::GActivationLogisticDerivative, GClasses::GActivationSinc, GClasses::GActivationSin, GClasses::GActivationGaussian, GClasses::GActivationBiDir, GClasses::GActivationBend, GClasses::GActivationIdentity, GClasses::GActivationAlgebraic, GClasses::GActivationTanH, GClasses::GActivationArcTan, and GClasses::GActivationLogistic.
|
pure virtual |
The derivative of the activation function.
Implemented in GClasses::GActivationSoftPlus2, GClasses::GActivationSoftPlus, GClasses::GActivationRectifiedLinear, GClasses::GActivationLogisticDerivative, GClasses::GActivationSinc, GClasses::GActivationSin, GClasses::GActivationGaussian, GClasses::GActivationBiDir, GClasses::GActivationBend, GClasses::GActivationIdentity, GClasses::GActivationAlgebraic, GClasses::GActivationTanH, GClasses::GActivationArcTan, and GClasses::GActivationLogistic.
|
inlinevirtual |
This computes the derivative of the net value. (Sometimes, such as with GActivationLogistic, it is more efficient to compute this from the activation value, so both are provided.)
Reimplemented in GClasses::GActivationLogisticDerivative, GClasses::GActivationIdentity, GClasses::GActivationTanH, and GClasses::GActivationLogistic.
|
static |
Deserialize this object.
|
pure virtual |
The absolute difference between the max (or min) output value and the center.
Implemented in GClasses::GActivationSoftPlus2, GClasses::GActivationSoftPlus, GClasses::GActivationRectifiedLinear, GClasses::GActivationLogisticDerivative, GClasses::GActivationSinc, GClasses::GActivationSin, GClasses::GActivationGaussian, GClasses::GActivationBiDir, GClasses::GActivationBend, GClasses::GActivationIdentity, GClasses::GActivationAlgebraic, GClasses::GActivationTanH, GClasses::GActivationArcTan, and GClasses::GActivationLogistic.
|
pure virtual |
Returns a value to use for the bias when initializing this unit to approximate the identity function.
Implemented in GClasses::GActivationSoftPlus2, GClasses::GActivationSoftPlus, GClasses::GActivationRectifiedLinear, GClasses::GActivationLogisticDerivative, GClasses::GActivationSinc, GClasses::GActivationSin, GClasses::GActivationGaussian, GClasses::GActivationBiDir, GClasses::GActivationBend, GClasses::GActivationIdentity, GClasses::GActivationAlgebraic, GClasses::GActivationTanH, GClasses::GActivationArcTan, and GClasses::GActivationLogistic.
|
pure virtual |
Returns a value to use for the diagonal elements when initializing this unit to approximate the identity function.
Implemented in GClasses::GActivationSoftPlus2, GClasses::GActivationSoftPlus, GClasses::GActivationRectifiedLinear, GClasses::GActivationLogisticDerivative, GClasses::GActivationSinc, GClasses::GActivationSin, GClasses::GActivationGaussian, GClasses::GActivationBiDir, GClasses::GActivationBend, GClasses::GActivationIdentity, GClasses::GActivationAlgebraic, GClasses::GActivationTanH, GClasses::GActivationArcTan, and GClasses::GActivationLogistic.
|
pure virtual |
The inverse of the activation function. (This function may throw an exception if the activation function cannot be inverted.)
Implemented in GClasses::GActivationSoftPlus2, GClasses::GActivationSoftPlus, GClasses::GActivationRectifiedLinear, GClasses::GActivationLogisticDerivative, GClasses::GActivationSinc, GClasses::GActivationSin, GClasses::GActivationGaussian, GClasses::GActivationBiDir, GClasses::GActivationBend, GClasses::GActivationIdentity, GClasses::GActivationAlgebraic, GClasses::GActivationTanH, GClasses::GActivationArcTan, and GClasses::GActivationLogistic.
|
pure virtual |
Returns the name of this activation function.
Implemented in GClasses::GActivationSoftPlus2, GClasses::GActivationSoftPlus, GClasses::GActivationRectifiedLinear, GClasses::GActivationLogisticDerivative, GClasses::GActivationSinc, GClasses::GActivationSin, GClasses::GActivationGaussian, GClasses::GActivationBiDir, GClasses::GActivationBend, GClasses::GActivationIdentity, GClasses::GActivationAlgebraic, GClasses::GActivationTanH, GClasses::GActivationArcTan, and GClasses::GActivationLogistic.
|
pure virtual |
The activation function.
Implemented in GClasses::GActivationSoftPlus2, GClasses::GActivationSoftPlus, GClasses::GActivationRectifiedLinear, GClasses::GActivationLogisticDerivative, GClasses::GActivationSinc, GClasses::GActivationSin, GClasses::GActivationGaussian, GClasses::GActivationBiDir, GClasses::GActivationBend, GClasses::GActivationIdentity, GClasses::GActivationAlgebraic, GClasses::GActivationTanH, GClasses::GActivationArcTan, and GClasses::GActivationLogistic.