Optimizers
SGD
sgd| Option | Value |
| Constructor: | (sgd params &key (lr 0.001) &aux (model-ident (gensym W)) (params params) (lr lr)) |
| Predicate: | sgd-p |
| Copier: | copy-sgd |
| Print Function: | (lambda (m stream k) (declare (ignore k)) (render-simple-model-structure stream m)) |
cl-waffe's Optimizer: SGD
This structure is an cl-waffe object- Overview
- Simple SGD.
- How to Initialize
(SGD &key (lr 1e-3)) => [OPTIMIZER: SGD]- Update
- Following defnition.
- Call update
- use deftrainer and
(update), or(call-forward (SGD) &rest args) - Call zero-grad
- use deftrainer and
(zero-grad)or(call-backward (SGD)) - Object's slots
model-identOption Value Type: symbolRead Only: nilAccessor: cl-waffe.optimizers::sgd-model-identInitform: #:w0hide-from-treeOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::sgd-hide-from-treeInitform: nilforwardOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::sgd-forwardInitform: tobject-typeOption Value Type: keywordRead Only: nilAccessor: cl-waffe.optimizers::sgd-object-typeInitform: :optimizerbackwardOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::sgd-backwardInitform: tparametersOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::sgd-parametersInitform: (quote (cl-waffe.optimizers::params cl-waffe.optimizers::lr))paramsOption Value Type: hash-tableRead Only: nilAccessor: cl-waffe.optimizers::sgd-paramsInitform: cl-waffe.optimizers::paramslrOption Value Type: floatRead Only: nilAccessor: cl-waffe.optimizers::sgd-lrInitform: cl-waffe.optimizers::lr
Momentum
momentum| Option | Value |
| Constructor: | (momentum params &key (momentum 0.9) (lr 0.001) &aux (model-ident (gensym W)) (params params) (lr lr) (momentum momentum) (velocities (make-hash-table))) |
| Predicate: | momentum-p |
| Copier: | copy-momentum |
| Print Function: | (lambda (m stream k) (declare (ignore k)) (render-simple-model-structure stream m)) |
cl-waffe's Optimizer: Momentum
This structure is an cl-waffe object- Overview
- Simple Momentum
- Note
- This code isn't optimized and slow
- How to Initialize
(Momentum &key (momentum 0.9)(lr 1e-3)) => [OPTIMIZER: Momentum]- Update
- Following definition.
- Call update
- use deftrainer and
(update), or(call-forward (Momentum) &rest args) - Call zero-grad
- use deftrainer and
(zero-grad)or(call-backward (Momentum)) - Object's slots
model-identOption Value Type: symbolRead Only: nilAccessor: cl-waffe.optimizers::momentum-model-identInitform: #:w0hide-from-treeOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::momentum-hide-from-treeInitform: nilforwardOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::momentum-forwardInitform: tobject-typeOption Value Type: keywordRead Only: nilAccessor: cl-waffe.optimizers::momentum-object-typeInitform: :optimizerbackwardOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::momentum-backwardInitform: tparametersOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::momentum-parametersInitform: (quote (cl-waffe.optimizers::params cl-waffe.optimizers::lr cl-waffe.optimizers:momentum cl-waffe.optimizers::velocities))paramsOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::momentum-paramsInitform: cl-waffe.optimizers::paramslrOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::momentum-lrInitform: cl-waffe.optimizers::lrmomentumOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::momentum-momentumInitform: cl-waffe.optimizers:momentumvelocitiesOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::momentum-velocitiesInitform: (make-hash-table)
AdaGrad
adagrad| Option | Value |
| Constructor: | (adagrad params &key (lr 0.001) (epsilon 1.0e-7) &aux (model-ident (gensym W)) (params params) (lr lr) (h (make-hash-table)) (epsilon epsilon)) |
| Predicate: | adagrad-p |
| Copier: | copy-adagrad |
| Print Function: | (lambda (m stream k) (declare (ignore k)) (render-simple-model-structure stream m)) |
cl-waffe's Optimizer: AdaGrad
This structure is an cl-waffe object- Overview
- Simple AdaGrad
- Note
- The codes aren't optimized and slow. Todo: Write docs
- How to Initialize
(AdaGrad describe like &rest this) => [OPTIMIZER: AdaGrad]- Update
- Nothing
- Call update
- use deftrainer and
(update), or(call-forward (AdaGrad) &rest args) - Call zero-grad
- use deftrainer and
(zero-grad)or(call-backward (AdaGrad)) - Object's slots
model-identOption Value Type: symbolRead Only: nilAccessor: cl-waffe.optimizers::adagrad-model-identInitform: #:w0hide-from-treeOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::adagrad-hide-from-treeInitform: nilforwardOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::adagrad-forwardInitform: tobject-typeOption Value Type: keywordRead Only: nilAccessor: cl-waffe.optimizers::adagrad-object-typeInitform: :optimizerbackwardOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::adagrad-backwardInitform: tparametersOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::adagrad-parametersInitform: (quote (cl-waffe.optimizers::params cl-waffe.optimizers::lr cl-waffe.optimizers::h cl-waffe.optimizers::epsilon))paramsOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::adagrad-paramsInitform: cl-waffe.optimizers::paramslrOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::adagrad-lrInitform: cl-waffe.optimizers::lrhOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::adagrad-hInitform: (make-hash-table)epsilonOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::adagrad-epsilonInitform: cl-waffe.optimizers::epsilon
RMSProp
rmsprop| Option | Value |
| Constructor: | (rmsprop params &key (lr 0.001) (epsilon 1.0e-7) (decay-rate 0.99) &aux (model-ident (gensym W)) (params params) (lr lr) (h (make-hash-table)) (epsilon epsilon) (decay-rate decay-rate)) |
| Predicate: | rmsprop-p |
| Copier: | copy-rmsprop |
| Print Function: | (lambda (m stream k) (declare (ignore k)) (render-simple-model-structure stream m)) |
cl-waffe's Optimizer: RMSProp
This structure is an cl-waffe object- Overview
- Simple RMSProp
- Note
- Not Optimized and slow, todo: write docs
- How to Initialize
(RMSProp describe like &rest this) => [OPTIMIZER: RMSProp]- Update
- Nothing
- Call update
- use deftrainer and
(update), or(call-forward (RMSProp) &rest args) - Call zero-grad
- use deftrainer and
(zero-grad)or(call-backward (RMSProp)) - Object's slots
model-identOption Value Type: symbolRead Only: nilAccessor: cl-waffe.optimizers::rmsprop-model-identInitform: #:w0hide-from-treeOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::rmsprop-hide-from-treeInitform: nilforwardOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::rmsprop-forwardInitform: tobject-typeOption Value Type: keywordRead Only: nilAccessor: cl-waffe.optimizers::rmsprop-object-typeInitform: :optimizerbackwardOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::rmsprop-backwardInitform: tparametersOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::rmsprop-parametersInitform: (quote (cl-waffe.optimizers::params cl-waffe.optimizers::lr cl-waffe.optimizers::h cl-waffe.optimizers::epsilon cl-waffe.optimizers::decay-rate))paramsOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::rmsprop-paramsInitform: cl-waffe.optimizers::paramslrOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::rmsprop-lrInitform: cl-waffe.optimizers::lrhOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::rmsprop-hInitform: (make-hash-table)epsilonOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::rmsprop-epsilonInitform: cl-waffe.optimizers::epsilondecay-rateOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::rmsprop-decay-rateInitform: cl-waffe.optimizers::decay-rate
Adam
adam| Option | Value |
| Constructor: | (adam params &key (lr 0.001) (epsilon 1.0e-7) (beta1 0.9) (beta2 0.999) &aux (model-ident (gensym W)) (params params) (lr lr) (m (make-hash-table)) (v (make-hash-table)) (n 0) (epsilon epsilon) (beta1 beta1) (beta2 beta2)) |
| Predicate: | adam-p |
| Copier: | copy-adam |
| Print Function: | (lambda (m stream k) (declare (ignore k)) (render-simple-model-structure stream m)) |
cl-waffe's Optimizer: Adam
This structure is an cl-waffe object- Overview
- Simple Adam. It invokes kernel directly.
- How to Initialize
(Adam &key (lr 1e-3)(epsilon 1e-7)(beta1 0.9)(beta2 0.999)) => [OPTIMIZER: Adam]- Update
- Following definition.
- Call update
- use deftrainer and
(update), or(call-forward (Adam) &rest args) - Call zero-grad
- use deftrainer and
(zero-grad)or(call-backward (Adam)) - Object's slots
model-identOption Value Type: symbolRead Only: nilAccessor: cl-waffe.optimizers::adam-model-identInitform: #:w0hide-from-treeOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::adam-hide-from-treeInitform: nilforwardOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::adam-forwardInitform: tobject-typeOption Value Type: keywordRead Only: nilAccessor: cl-waffe.optimizers::adam-object-typeInitform: :optimizerbackwardOption Value Type: booleanRead Only: nilAccessor: cl-waffe.optimizers::adam-backwardInitform: tparametersOption Value Type: tRead Only: nilAccessor: cl-waffe.optimizers::adam-parametersInitform: (quote (cl-waffe.optimizers::params cl-waffe.optimizers::lr cl-waffe.optimizers::m cl-waffe.optimizers::v cl-waffe.optimizers::n cl-waffe.optimizers::epsilon cl-waffe.optimizers::beta1 cl-waffe.optimizers::beta2))paramsOption Value Type: hash-tableRead Only: nilAccessor: cl-waffe.optimizers::adam-paramsInitform: cl-waffe.optimizers::paramslrOption Value Type: floatRead Only: nilAccessor: cl-waffe.optimizers::adam-lrInitform: cl-waffe.optimizers::lrmOption Value Type: hash-tableRead Only: nilAccessor: cl-waffe.optimizers::adam-mInitform: (make-hash-table)vOption Value Type: hash-tableRead Only: nilAccessor: cl-waffe.optimizers::adam-vInitform: (make-hash-table)nOption Value Type: fixnumRead Only: nilAccessor: cl-waffe.optimizers::adam-nInitform: 0epsilonOption Value Type: floatRead Only: nilAccessor: cl-waffe.optimizers::adam-epsilonInitform: cl-waffe.optimizers::epsilonbeta1Option Value Type: floatRead Only: nilAccessor: cl-waffe.optimizers::adam-beta1Initform: cl-waffe.optimizers::beta1beta2Option Value Type: floatRead Only: nilAccessor: cl-waffe.optimizers::adam-beta2Initform: cl-waffe.optimizers::beta2
AdamW
RAdam
; More will be added...