OptimisticAdam is an optimizer which implements the Optimistic Adam algorithm which uses Optmistic Mirror Descent with the Adam Optimizer. More...
Public Member Functions | |
| OptimisticAdamUpdate (const double epsilon=1e-8, const double beta1=0.9, const double beta2=0.999) | |
| Construct the OptimisticAdam 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 initialize the squared gradient parameter. More... | |
| double & | Epsilon () |
| Modify the value used to initialize 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 OptimisticAdam. More... | |
OptimisticAdam is an optimizer which implements the Optimistic Adam algorithm which uses Optmistic Mirror Descent with the Adam Optimizer.
It addresses the problem of limit cycling while training GANs. It uses OMD to achieve faster regret rates in solving the zero sum game of training a GAN. It consistently achieves a smaller KL divergnce with respect to the true underlying data distribution.
For more information, see the following.
Definition at line 41 of file optimisticadam_update.hpp.
|
inline |
Construct the OptimisticAdam update policy with the given parameters.
| epsilon | The epsilon value used to initialize the squared gradient parameter. |
| beta1 | The smoothing parameter. |
| beta2 | The second moment coefficient. |
Definition at line 52 of file optimisticadam_update.hpp.
|
inline |
Get the smoothing parameter.
Definition at line 114 of file optimisticadam_update.hpp.
|
inline |
Modify the smoothing parameter.
Definition at line 116 of file optimisticadam_update.hpp.
|
inline |
Get the second moment coefficient.
Definition at line 119 of file optimisticadam_update.hpp.
|
inline |
Modify the second moment coefficient.
Definition at line 121 of file optimisticadam_update.hpp.
|
inline |
Get the value used to initialize the squared gradient parameter.
Definition at line 109 of file optimisticadam_update.hpp.
|
inline |
Modify the value used to initialize the squared gradient parameter.
Definition at line 111 of file optimisticadam_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 70 of file optimisticadam_update.hpp.
|
inline |
Update step for OptimisticAdam.
| iterate | Parameters that minimize the function. |
| stepSize | Step size to be used for the given iteration. |
| gradient | The gradient matrix. |
Definition at line 84 of file optimisticadam_update.hpp.