public class ContinuousSigmoidalRule extends AbstractSigmoidalRule
NeuronUpdateRule.InputType
Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_LEAK_CONSTANT
Default leak constant
leak . |
static double |
DEFAULT_TIME_CONSTANT
Default time constant (ms).
|
addNoise, bias, DEFAULT_LOWER_BOUND, DEFAULT_SQUASHING_FUNCTION, DEFAULT_UPPER_BOUND, lowerBound, noiseGenerator, sFunction, slope, upperBound
DEFAULT_INCREMENT, increment, inputType
Constructor and Description |
---|
ContinuousSigmoidalRule()
Default sigmoidal.
|
ContinuousSigmoidalRule(SquashingFunction sFunction)
Construct a sigmoid update with a specified implementation.
|
Modifier and Type | Method and Description |
---|---|
void |
clear(Neuron neuron)
Set activation to 0; override for other "clearing" behavior (e.g.
|
void |
contextualDecrement(Neuron n)
Decrement a neuron by increment, respecting neuron specific constraints.
|
void |
contextualIncrement(Neuron n)
Increment a neuron by increment, respecting neuron specific constraints.
|
ContinuousSigmoidalRule |
deepCopy()
Returns a deep copy of the update rule.
|
boolean |
getAddNoise()
Return true if add noise is turned on.
|
double |
getBias() |
double |
getDerivative(double val)
The inverse of the activation function.
|
java.lang.String |
getDescription()
Returns a brief description of this update rule.
|
double |
getLeakConstant()
|
double |
getLowerBound()
Returns the lower bound.
|
Randomizer |
getNoiseGenerator()
Return the noise generator.
|
double |
getSlope() |
SquashingFunction |
getSquashFunctionType() |
double |
getTimeConstant() |
Network.TimeType |
getTimeType()
Returns the type of time update (discrete or continuous) associated with
this neuron.
|
double |
getUpperBound()
Returns the upper bound.
|
void |
setAddNoise(boolean addNoise)
Set whether noise should be used.
|
void |
setBias(double inflectionY) |
void |
setLeakConstant(double leakConstant)
|
void |
setLowerBound(double floor)
Sets the lower bound of this neuron update rule's activation.
|
void |
setNoiseGenerator(Randomizer noise)
Set the noise generator.
|
void |
setSlope(double inflectionPointSlope) |
void |
setSquashFunctionType(SquashingFunction type) |
void |
setTimeConstant(double timeConstant) |
void |
setUpperBound(double ceiling)
Sets the upper bound of this neuron update rule's activation.
|
void |
update(Neuron neuron)
Apply the update rule.
|
getInverse
decrementActivation, getDefaultIncrement, getGraphicalLowerBound, getGraphicalUpperBound, getIncrement, getInputType, getRandomValue, getToolTipText, incrementActivation, isSkipsSynapticUpdates, isSpikingNeuron, setIncrement, setInputType
public static final double DEFAULT_TIME_CONSTANT
public static final double DEFAULT_LEAK_CONSTANT
leak
.public ContinuousSigmoidalRule()
public ContinuousSigmoidalRule(SquashingFunction sFunction)
sFunction
- the implementation to use.public ContinuousSigmoidalRule deepCopy()
deepCopy
in class NeuronUpdateRule
public void update(Neuron neuron)
update
in class NeuronUpdateRule
neuron
- parent neuronpublic void contextualIncrement(Neuron n)
contextualIncrement
in class NeuronUpdateRule
n
- neuron to be incrementedpublic void contextualDecrement(Neuron n)
contextualDecrement
in class NeuronUpdateRule
n
- neuronpublic Network.TimeType getTimeType()
getTimeType
in class NeuronUpdateRule
public double getDerivative(double val)
val
- the value being sent through the neuron's derivativepublic double getBias()
getBias
in interface BiasedUpdateRule
getBias
in class AbstractSigmoidalRule
public void setBias(double inflectionY)
setBias
in interface BiasedUpdateRule
setBias
in class AbstractSigmoidalRule
inflectionY
- The inflectionY to set.public double getSlope()
getSlope
in class AbstractSigmoidalRule
public void setSlope(double inflectionPointSlope)
setSlope
in class AbstractSigmoidalRule
inflectionPointSlope
- The inflectionPointSlope to set.public Randomizer getNoiseGenerator()
NoisyUpdateRule
getNoiseGenerator
in interface NoisyUpdateRule
getNoiseGenerator
in class AbstractSigmoidalRule
public void setNoiseGenerator(Randomizer noise)
NoisyUpdateRule
setNoiseGenerator
in interface NoisyUpdateRule
setNoiseGenerator
in class AbstractSigmoidalRule
noise
- The noise to set.public boolean getAddNoise()
NoisyUpdateRule
getAddNoise
in interface NoisyUpdateRule
getAddNoise
in class AbstractSigmoidalRule
public void setAddNoise(boolean addNoise)
NoisyUpdateRule
setAddNoise
in interface NoisyUpdateRule
setAddNoise
in class AbstractSigmoidalRule
addNoise
- The addNoise to set.public java.lang.String getDescription()
NeuronUpdateRule
getDescription
in class NeuronUpdateRule
public SquashingFunction getSquashFunctionType()
getSquashFunctionType
in class AbstractSigmoidalRule
public void setSquashFunctionType(SquashingFunction type)
setSquashFunctionType
in class AbstractSigmoidalRule
type
- the type to setpublic double getUpperBound()
getUpperBound
in interface BoundedUpdateRule
getUpperBound
in class AbstractSigmoidalRule
public double getLowerBound()
getLowerBound
in interface BoundedUpdateRule
getLowerBound
in class AbstractSigmoidalRule
public void setUpperBound(double ceiling)
setUpperBound
in interface BoundedUpdateRule
setUpperBound
in class AbstractSigmoidalRule
ceiling
- the upper boundpublic void setLowerBound(double floor)
setLowerBound
in interface BoundedUpdateRule
setLowerBound
in class AbstractSigmoidalRule
floor
- the lower boundpublic double getTimeConstant()
public void setTimeConstant(double timeConstant)
timeConstant
- the new time constantpublic double getLeakConstant()
public void setLeakConstant(double leakConstant)
leakConstant
- the leak constant for the neuron.public void clear(Neuron neuron)
NeuronUpdateRule
clear
in class NeuronUpdateRule
neuron
- reference to parent neuron