|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.joone.engine.extenders.LearnerExtender
org.joone.engine.extenders.DeltaRuleExtender
org.joone.engine.extenders.SimulatedAnnealingExtender
public class SimulatedAnnealingExtender
Simulated annealing (SA) refers to the process in which random or thermal noise in a system is systematically decreased over time so as to enhance the system's response. Basically the change of weights and biases in SA is defined as: dW = dw + (n)(r)(2^-kt), where dw is the weight / bias change produced by standard back propagation, n is a constant controlling the initial intensity of the noise, k is the decay constant,t is the generation counter and r is a random number.
Constructor Summary | |
---|---|
SimulatedAnnealingExtender()
Creates a new instance of SimulatedAnnealingExtender |
Method Summary | |
---|---|
double |
getDelta(double[] currentGradientOuts,
int j,
double aPreviousDelta)
Computes the delta value for a bias. |
double |
getDelta(double[] currentInps,
int j,
double[] currentPattern,
int k,
double aPreviousDelta)
Computes the delta value for a weight. |
double |
getK()
Gets the noise decay constant. |
double |
getN()
Gets the constant controlling the initial noise. |
protected double |
getRandom()
Gets a random value between the random boundary. |
double |
getRandomBoundary()
Gets the random number boundary. |
void |
postBiasUpdate(double[] currentGradientOuts)
Gives extenders a change to do some post-computing after the biases are updated. |
void |
postWeightUpdate(double[] currentPattern,
double[] currentInps)
Gives extenders a change to do some post-computing after the weights are updated. |
void |
preBiasUpdate(double[] currentGradientOuts)
Gives extenders a change to do some pre-computing before the biases are updated. |
void |
preWeightUpdate(double[] currentPattern,
double[] currentInps)
Gives extenders a change to do some pre-computing before the weights are updated. |
void |
setK(double aK)
Sets the noise decay constant. |
void |
setN(double aN)
Sets the constant controlling the initial noise. |
void |
setRandomBoundary(double aBoundary)
Sets the noise decay constant. |
Methods inherited from class org.joone.engine.extenders.LearnerExtender |
---|
getLearner, isEnabled, setEnabled, setLearner |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SimulatedAnnealingExtender()
Method Detail |
---|
public double getDelta(double[] currentGradientOuts, int j, double aPreviousDelta)
DeltaRuleExtender
getDelta
in class DeltaRuleExtender
currentGradientOuts
- the back propagated gradients.j
- the index of the bias.aPreviousDelta
- a delta value calculated by a previous delta extender.public double getDelta(double[] currentInps, int j, double[] currentPattern, int k, double aPreviousDelta)
DeltaRuleExtender
getDelta
in class DeltaRuleExtender
currentInps
- the forwarded input.j
- the input index of the weight.currentPattern
- the back propagated gradients.k
- the output index of the weight.aPreviousDelta
- a delta value calculated by a previous delta extender.public void postBiasUpdate(double[] currentGradientOuts)
LearnerExtender
postBiasUpdate
in class LearnerExtender
currentGradientOuts
- the back propagated gradients.public void postWeightUpdate(double[] currentPattern, double[] currentInps)
LearnerExtender
postWeightUpdate
in class LearnerExtender
currentPattern
- the back propagated gradients.currentInps
- the forwarded input.public void preBiasUpdate(double[] currentGradientOuts)
LearnerExtender
preBiasUpdate
in class LearnerExtender
currentGradientOuts
- the back propagated gradients.public void preWeightUpdate(double[] currentPattern, double[] currentInps)
LearnerExtender
preWeightUpdate
in class LearnerExtender
currentPattern
- the back propagated gradients.currentInps
- the forwarded input.public double getN()
public void setN(double aN)
aN
- the constant controlling the initial noise.public double getK()
public void setK(double aK)
aK
- the noise decay constant.public double getRandomBoundary()
public void setRandomBoundary(double aBoundary)
aK
- the noise decay constant.protected double getRandom()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |