AMSGrad is an exponential moving average variant which along with having benefits of optimizers like Adam and RMSProp, also guarantees convergence. More...
Public Member Functions | |
| AMSGradUpdate (const double epsilon=1e-8, const double beta1=0.9, const double beta2=0.999) | |
| Construct the AMSGrad update policy with the given parameters. More... | |
| double | Beta1 () const |
| Get the smoothing parameter. More... | |
| double & | Beta1 () |
| Modify the smoothing parameter. More... | |
| double | Beta2 () const |
| Get the second moment coefficient. More... | |
| double & | Beta2 () |
| Modify the second moment coefficient. More... | |
| double | Epsilon () const |
| Get the value used to initialise the squared gradient parameter. More... | |
| double & | Epsilon () |
| Modify the value used to initialise the squared gradient parameter. More... | |
| void | Initialize (const size_t rows, const size_t cols) |
| The Initialize method is called by SGD Optimizer method before the start of the iteration update process. More... | |
| void | Update (arma::mat &iterate, const double stepSize, const arma::mat &gradient) |
| Update step for AMSGrad. More... | |
AMSGrad is an exponential moving average variant which along with having benefits of optimizers like Adam and RMSProp, also guarantees convergence.
Unlike Adam, it uses maximum of past squared gradients rather than their exponential average for updation.
For more information, see the following.
Definition at line 37 of file amsgrad_update.hpp.
|
inline |
Construct the AMSGrad update policy with the given parameters.
| epsilon | The epsilon value used to initialise the squared gradient parameter. |
| beta1 | The smoothing parameter. |
| beta2 | The second moment coefficient. |
Definition at line 48 of file amsgrad_update.hpp.
|
inline |
Get the smoothing parameter.
Definition at line 110 of file amsgrad_update.hpp.
|
inline |
Modify the smoothing parameter.
Definition at line 112 of file amsgrad_update.hpp.
|
inline |
Get the second moment coefficient.
Definition at line 115 of file amsgrad_update.hpp.
|
inline |
Modify the second moment coefficient.
Definition at line 117 of file amsgrad_update.hpp.
|
inline |
Get the value used to initialise the squared gradient parameter.
Definition at line 105 of file amsgrad_update.hpp.
|
inline |
Modify the value used to initialise the squared gradient parameter.
Definition at line 107 of file amsgrad_update.hpp.
|
inline |
The Initialize method is called by SGD Optimizer method before the start of the iteration update process.
| rows | Number of rows in the gradient matrix. |
| cols | Number of columns in the gradient matrix. |
Definition at line 66 of file amsgrad_update.hpp.
|
inline |
Update step for AMSGrad.
| iterate | Parameters that minimize the function. |
| stepSize | Step size to be used for the given iteration. |
| gradient | The gradient matrix. |
Definition at line 80 of file amsgrad_update.hpp.