Idris2Doc : NN.Optimisers.Instances

NN.Optimisers.Instances

(source)

Definitions

GD : NumpType=>NegpType=>RandompType=> {automon : ComMonoidpType} ->FromDoublepType=> {default0.001_ : pType} ->Optimiser (ConstpType) ()
  Gradient descent optimiser. Has trivial state
@lr is the learning rate

Visibility: public export
GA : NumpType=>NegpType=>RandompType=> {automon : ComMonoidpType} ->FromDoublepType=> {default0.001_ : pType} ->Optimiser (ConstpType) ()
  Gradient ascent optimiser. Has trivial state
@lr is the learning rate

Visibility: public export
momentumUpdate : NumpType=>NegpType=>pType->pType->pType->pType-> (pType, pType)
Visibility: public export
lookAhead : NumpType=>pType->pType->pType->pType
Visibility: public export
GDMomentum : NumpType=>NegpType=>RandompType=> {automon : ComMonoidpType} ->FromDoublepType=> {defaultFalse_ : Bool} -> {default0.001_ : pType} -> {default0.9_ : pType} ->Optimiser (ConstpType) pType
  Gradient Descent with momentum, optionally with Nesterov acceleration

Visibility: public export
adamUpdate : NumpType=>NegpType=>FractionalpType=>SqrtpType=>pType->pType->pType->pType->pType->pType->pType->pType->pType-> (pType, (pType, (pType, (pType, pType))))
  Adam update step
State is (m, v, beta1^t, beta2^t) where m and v are the first and second
moment estimates, and beta1^t, beta2^t are running powers for bias correction

Visibility: public export
Adam : NumpType=>NegpType=>RandompType=> {automon : ComMonoidpType} ->FromDoublepType=>FractionalpType=>SqrtpType=> {default0.001_ : pType} -> {default0.9_ : pType} -> {default0.999_ : pType} -> {default1e-8_ : pType} ->Optimiser (ConstpType) (pType, (pType, (pType, pType)))
  Adam optimiser (Kingma & Ba, 2014)
Using 4 parameters for state for efficiency
@lr is the learning rate
@beta1 is the exponential decay rate for the first moment estimate
@beta2 is the exponential decay rate for the second moment estimate
@epsilon is a small constant for numerical stability

Visibility: public export