Class RMSProp
java.lang.Object
org.tribuo.math.optimisers.RMSProp
- All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.config.Configurable,com.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>,StochasticGradientOptimiser
An implementation of the RMSProp gradient optimiser.
Creates one copy of the parameters to store learning rates. Follows the Keras implementation.
See:
Tieleman, T. and Hinton, G. Lecture 6.5 - RMSProp, COURSERA: Neural Networks for Machine Learning. Technical report, 2012.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()Copies a gradient optimiser with it's configuration.com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenancevoidinitialise(Parameters parameters) Initialises the gradient optimiser.voidUsed by the OLCUT configuration system, and should not be called by external code.voidreset()Resets the optimiser so it's ready to optimise a newParameters.Tensor[]Take aTensorarray of gradients and transform them according to the current weight and learning rates.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.tribuo.math.StochasticGradientOptimiser
finalise
-
Constructor Details
-
RMSProp
public RMSProp(double initialLearningRate, double rho, double epsilon, double decay) -
RMSProp
public RMSProp(double initialLearningRate, double rho)
-
-
Method Details
-
postConfig
public void postConfig()Used by the OLCUT configuration system, and should not be called by external code.- Specified by:
postConfigin interfacecom.oracle.labs.mlrg.olcut.config.Configurable
-
initialise
Description copied from interface:StochasticGradientOptimiserInitialises the gradient optimiser.Configures any learning rate parameters.
- Specified by:
initialisein interfaceStochasticGradientOptimiser- Parameters:
parameters- The parameters to optimise.
-
step
Description copied from interface:StochasticGradientOptimiserTake aTensorarray of gradients and transform them according to the current weight and learning rates.Can return the same
Tensorarray or a new one.- Specified by:
stepin interfaceStochasticGradientOptimiser- Parameters:
updates- An array of gradients.weight- The weight for the current gradients.- Returns:
- A
Tensorarray of gradients.
-
toString
-
reset
public void reset()Description copied from interface:StochasticGradientOptimiserResets the optimiser so it's ready to optimise a newParameters.- Specified by:
resetin interfaceStochasticGradientOptimiser
-
copy
Description copied from interface:StochasticGradientOptimiserCopies a gradient optimiser with it's configuration. Usually calls the copy constructor.- Specified by:
copyin interfaceStochasticGradientOptimiser- Returns:
- A gradient optimiser with the same configuration, but independent state.
-
getProvenance
public com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance getProvenance()- Specified by:
getProvenancein interfacecom.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>
-