DaNNet
Public Member Functions | Private Attributes | List of all members
dnn::opt_adadelta Class Reference

ADAdelta optimizer class. More...

#include <dnn_opt.h>

Inheritance diagram for dnn::opt_adadelta:
dnn::opt

Public Member Functions

 opt_adadelta (DNN_Dtype r, DNN_Dtype s=1.0, DNN_Dtype l=0.0, DNN_Dtype a=0.0, DNN_Dtype e=1e-6)
 ADAdelta constructor. More...
 
 ~opt_adadelta ()
 
void apply (arma::Cube< DNN_Dtype > &W, arma::Mat< DNN_Dtype > &B, const arma::Cube< DNN_Dtype > &Wgrad, const arma::Mat< DNN_Dtype > &Bgrad)
 Apply the optimizer to the layer parameters. More...
 
std::string get_algorithm (void)
 Get the optimizer algorithm information. More...
 
- Public Member Functions inherited from dnn::opt
 opt ()
 
 ~opt ()
 
void set_learn_rate_alg (LR_ALG alg, DNN_Dtype a=0.0, DNN_Dtype b=10.0)
 Set learning rate algorithm. More...
 
void update_learn_rate (void)
 Update learning rate. More...
 
DNN_Dtype get_learn_rate (void)
 Get the learning rate. More...
 

Private Attributes

arma::Cube< DNN_DtypeEw
 
arma::Cube< DNN_DtypedW
 
arma::Mat< DNN_DtypeEb
 
arma::Mat< DNN_DtypedB
 
DNN_Dtype rho
 
DNN_Dtype eps
 

Additional Inherited Members

- Protected Attributes inherited from dnn::opt
std::string alg
 
DNN_Dtype lr
 Learning rate. More...
 
DNN_Dtype reg_lambda
 Regularisation parameter lambda. More...
 
DNN_Dtype reg_alpha
 Elastic net mix parameter - 0=ridge (L2) .. 1=LASSO (L1) More...
 
LR_ALG lr_alg
 Learning rate schedule algorithm. More...
 
DNN_Dtype lr_0
 Init value for lr. More...
 
DNN_Dtype lr_a
 Internal parameter a. More...
 
DNN_Dtype lr_b
 Internal parameter b. More...
 
arma::uword it
 Iteration counter. More...
 

Detailed Description

ADAdelta optimizer class.

ADAdelta algorithm, see https://arxiv.org/pdf/1609.04747.pdf

Definition at line 551 of file dnn_opt.h.

Constructor & Destructor Documentation

◆ opt_adadelta()

dnn::opt_adadelta::opt_adadelta ( DNN_Dtype  r,
DNN_Dtype  s = 1.0,
DNN_Dtype  l = 0.0,
DNN_Dtype  a = 0.0,
DNN_Dtype  e = 1e-6 
)
inline

ADAdelta constructor.

Parameters
[in]rrho - decay rate
[in]sStep size - learning rate
[in]lRegularisation param lambda
[in]aRegularisation param alpha
[in]eeps parameter

Definition at line 569 of file dnn_opt.h.

◆ ~opt_adadelta()

dnn::opt_adadelta::~opt_adadelta ( )
inline

Definition at line 580 of file dnn_opt.h.

Member Function Documentation

◆ apply()

void dnn::opt_adadelta::apply ( arma::Cube< DNN_Dtype > &  W,
arma::Mat< DNN_Dtype > &  B,
const arma::Cube< DNN_Dtype > &  Wgrad,
const arma::Mat< DNN_Dtype > &  Bgrad 
)
inlinevirtual

Apply the optimizer to the layer parameters.

Parameters
[in,out]W,BLearnable parameters
[in]Wgrad,BgradGradient of the learnable parameters

Implements dnn::opt.

Definition at line 587 of file dnn_opt.h.

◆ get_algorithm()

std::string dnn::opt_adadelta::get_algorithm ( void  )
inlinevirtual

Get the optimizer algorithm information.

Returns
Algorithm information string

Reimplemented from dnn::opt.

Definition at line 633 of file dnn_opt.h.

Member Data Documentation

◆ dB

arma::Mat<DNN_Dtype> dnn::opt_adadelta::dB
private

Definition at line 557 of file dnn_opt.h.

◆ dW

arma::Cube<DNN_Dtype> dnn::opt_adadelta::dW
private

Definition at line 555 of file dnn_opt.h.

◆ Eb

arma::Mat<DNN_Dtype> dnn::opt_adadelta::Eb
private

Definition at line 556 of file dnn_opt.h.

◆ eps

DNN_Dtype dnn::opt_adadelta::eps
private

Definition at line 559 of file dnn_opt.h.

◆ Ew

arma::Cube<DNN_Dtype> dnn::opt_adadelta::Ew
private

Definition at line 554 of file dnn_opt.h.

◆ rho

DNN_Dtype dnn::opt_adadelta::rho
private

Definition at line 558 of file dnn_opt.h.


The documentation for this class was generated from the following file: