Class ParameterUpdater

Inheritance Relationships

Derived Types

Class Documentation

class ParameterUpdater

Interface for parameter updaters for mini-batch optimizers.

Subclassed by parpe::ParameterUpdaterAdam, parpe::ParameterUpdaterAdamClassic, parpe::ParameterUpdaterMomentum, parpe::ParameterUpdaterRmsProp, parpe::ParameterUpdaterVanilla

Public Functions

virtual void updateParameters(double learningRate, int iteration, gsl::span<const double> gradient, gsl::span<double> parameters, gsl::span<const double> lowerBounds = gsl::span<const double>(), gsl::span<const double> upperBounds = gsl::span<const double>()) = 0

Update parameter vector.

Parameters:
  • learningRate – Current learning rate, i.e., step-size

  • iteration – Current iteration, i.e., epoch

  • gradient – Cost function gradient at parameters

  • parameters – In: Current parameters, Out: Updated parameters

virtual void undoLastStep() = 0

If ODE becomes non-integrable, the last step must be undone using this method

virtual void clearCache() = 0

If the ODE is repeatedly non-integrable, a cold restart is performed using this method

virtual void initialize(unsigned int numParameters) = 0

Initialize the parameter updater

virtual ~ParameterUpdater() = default