Adam is an optimizer that computes individual adaptive learning rates for different parameters from estimates of first and second moments of the gradients as given in the section 7 of the following paper. More...
Public Member Functions | |
| AdamUpdate (const double epsilon=1e-8, const double beta1=0.9, const double beta2=0.999) | |
| Construct the Adam 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 Adam. More... | |
Adam is an optimizer that computes individual adaptive learning rates for different parameters from estimates of first and second moments of the gradients as given in the section 7 of the following paper.
For more information, see the following.
Definition at line 42 of file adam_update.hpp.
|
inline |
Construct the Adam 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 53 of file adam_update.hpp.
|
inline |
Get the smoothing parameter.
Definition at line 116 of file adam_update.hpp.
|
inline |
Modify the smoothing parameter.
Definition at line 118 of file adam_update.hpp.
|
inline |
Get the second moment coefficient.
Definition at line 121 of file adam_update.hpp.
|
inline |
Modify the second moment coefficient.
Definition at line 123 of file adam_update.hpp.
|
inline |
Get the value used to initialise the squared gradient parameter.
Definition at line 111 of file adam_update.hpp.
|
inline |
Modify the value used to initialise the squared gradient parameter.
Definition at line 113 of file adam_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 71 of file adam_update.hpp.
|
inline |
Update step for Adam.
| iterate | Parameters that minimize the function. |
| stepSize | Step size to be used for the given iteration. |
| gradient | The gradient matrix. |
It should be noted that the term, m / (arma::sqrt(v) + eps), in the following expression is an approximation of the following actual term; m / (arma::sqrt(v) + (arma::sqrt(biasCorrection2) * eps).
Definition at line 84 of file adam_update.hpp.