org.joone.engine
Class SigmoidLayer

java.lang.Object
  extended by org.joone.engine.Layer
      extended by org.joone.engine.SimpleLayer
          extended by org.joone.engine.SigmoidLayer
All Implemented Interfaces:
java.io.Serializable, java.lang.Runnable, Learnable, LearnableLayer, NeuralLayer, Inspectable

public class SigmoidLayer
extends SimpleLayer
implements LearnableLayer

The output of a sigmoid layer neuron is the sum of the weighted input values, applied to a sigmoid function. This function is expressed mathematically as: y = 1 / (1 + e^-x) This has the effect of smoothly limiting the output within the range 0 and 1

See Also:
parent, parent, implemented interface, Serialized Form

Field Summary
 
Fields inherited from class org.joone.engine.Layer
bias, gradientInps, gradientOuts, inps, inputPatternListeners, learnable, learning, m_batch, monitor, myLearner, outputPatternListeners, outs, running, step, STOP_FLAG
 
Constructor Summary
SigmoidLayer()
          The constructor
SigmoidLayer(java.lang.String ElemName)
          The constructor
 
Method Summary
 void backward(double[] pattern)
          Reverse transfer function of the component.
 void forward(double[] pattern)
          This method accepts an array of values in input and forwards it according to the Sigmoid propagation pattern.
 double getDefaultState()
          Return the default state of a node in this layer, such as 0 for a tanh or 0.5 for a sigmoid layer
 double getDerivative(int i)
          Similar to the backward message and used by RTRL
 double getFlatSpotConstant()
          Gets the flat spot constant.
 Learner getLearner()
          Deprecated. - Used only for backward compatibility
 double getMaximumState()
          Return maximum value of a node in this layer
 double getMinimumState()
          Return minimum value of a node in this layer
 void setFlatSpotConstant(double aConstant)
          Sets the constant to overcome the flat spot problem.
 
Methods inherited from class org.joone.engine.SimpleLayer
getLearningRate, getLrate, getMomentum, setDimensions, setLrate, setMomentum, setMonitor
 
Methods inherited from class org.joone.engine.Layer
addInputSynapse, addNoise, addOutputSynapse, adjustSizeToFwdPattern, adjustSizeToRevPattern, check, checkInputEnabled, checkInputs, checkOutputs, copyInto, finalize, fireFwdGet, fireFwdPut, fireRevGet, fireRevPut, fwdRun, getAllInputs, getAllOutputs, getBias, getDimension, getLastGradientInps, getLastGradientOuts, getLastInputs, getLastOutputs, getLayerName, getMonitor, getRows, getThreadMonitor, hasStepCounter, init, initLearner, InspectableTitle, Inspections, isInputLayer, isOutputLayer, isRunning, join, randomize, randomizeBias, randomizeWeights, removeAllInputs, removeAllOutputs, removeInputSynapse, removeListener, removeOutputSynapse, resetInputListeners, revRun, run, setAllInputs, setAllOutputs, setBias, setConnDimensions, setInputDimension, setInputSynapses, setLastInputs, setLastOutputs, setLayerName, setOutputDimension, setOutputSynapses, setRows, start, stop, sumBackInput, sumInput, toString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.joone.engine.Learnable
getMonitor, initLearner
 
Methods inherited from interface org.joone.engine.NeuralLayer
addInputSynapse, addNoise, addOutputSynapse, check, copyInto, getAllInputs, getAllOutputs, getBias, getLayerName, getMonitor, getRows, isRunning, removeAllInputs, removeAllOutputs, removeInputSynapse, removeOutputSynapse, setAllInputs, setAllOutputs, setBias, setLayerName, setMonitor, setRows, start
 

Constructor Detail

SigmoidLayer

public SigmoidLayer()
The constructor


SigmoidLayer

public SigmoidLayer(java.lang.String ElemName)
The constructor

Parameters:
ElemName - The name of the Layer
Method Detail

backward

public void backward(double[] pattern)
              throws JooneRuntimeException
Description copied from class: Layer
Reverse transfer function of the component.

Overrides:
backward in class SimpleLayer
Parameters:
pattern - input pattern on which to apply the transfer function
Throws:
JooneRuntimeException

getDerivative

public double getDerivative(int i)
Similar to the backward message and used by RTRL

Specified by:
getDerivative in class Layer

forward

public void forward(double[] pattern)
             throws JooneRuntimeException
This method accepts an array of values in input and forwards it according to the Sigmoid propagation pattern.

Specified by:
forward in class Layer
Parameters:
pattern -
Throws:
JooneRuntimeException - This Exception is a wrapper Exception when an Exception is thrown while doing the maths.
See Also:
(double[])

getLearner

public Learner getLearner()
Deprecated. - Used only for backward compatibility

Description copied from class: Layer
Returns the appropriate Learner object for this class depending on the Monitor.learningMode property value

Specified by:
getLearner in interface Learnable
Overrides:
getLearner in class Layer
Returns:
the Learner object if applicable, otherwise null
See Also:
Learnable.getLearner()

setFlatSpotConstant

public void setFlatSpotConstant(double aConstant)
Sets the constant to overcome the flat spot problem. This problem is described in: S.E. Fahlman, "An emperical study of learning speed in backpropagation with good scaling properties," Dept. Comput. Sci. Carnegie Mellon Univ., Pittsburgh, PA, Tech. Rep., CMU-CS-88-162, 1988. Setting this constant to 0 (default value), the derivative of the sigmoid function is unchanged (normal function). An good value for this constant might be 0.1.

Parameters:
aConstant -

getFlatSpotConstant

public double getFlatSpotConstant()
Gets the flat spot constant.

Returns:
the flat spot constant.

getDefaultState

public double getDefaultState()
Description copied from class: Layer
Return the default state of a node in this layer, such as 0 for a tanh or 0.5 for a sigmoid layer

Specified by:
getDefaultState in class Layer

getMinimumState

public double getMinimumState()
Description copied from class: Layer
Return minimum value of a node in this layer

Specified by:
getMinimumState in class Layer

getMaximumState

public double getMaximumState()
Description copied from class: Layer
Return maximum value of a node in this layer

Specified by:
getMaximumState in class Layer


Submit Feedback to pmarrone@users.sourceforge.net