|
MachineIntelligenceCore:NeuralNets
|
AdamID - ADAM with integral and derivative coefficients. More...
#include <AdamID.hpp>


Public Member Functions | |
| AdamID (size_t rows_, size_t cols_, eT beta1_=0.9, eT beta2_=0.999, eT eps_=1e-8) | |
| mic::types::MatrixPtr< eT > | calculateUpdate (mic::types::MatrixPtr< eT > x_, mic::types::MatrixPtr< eT > dx_, eT learning_rate_) |
Public Member Functions inherited from mic::neural_nets::optimization::OptimizationFunction< eT > | |
| OptimizationFunction () | |
| virtual | ~OptimizationFunction () |
| Virtual destructor - empty. More... | |
| virtual void | update (mic::types::MatrixPtr< eT > p_, mic::types::MatrixPtr< eT > dp_, eT learning_rate_, eT decay_=0.0) |
| virtual void | update (mic::types::MatrixPtr< eT > p_, mic::types::MatrixPtr< eT > x_, mic::types::MatrixPtr< eT > y_, eT learning_rate_=0.001) |
Protected Attributes | |
| eT | beta1 |
| Decay rate 1 (momentum for past gradients). More... | |
| eT | beta2 |
| Decay rate 2 (momentum for past squared gradients). More... | |
| eT | eps |
| Smoothing term that avoids division by zero. More... | |
| eT | beta1_powt |
| Decay rate 1 to the power of t - bias correction. More... | |
| eT | beta2_powt |
| Decay rate 2 to the power of t - bias correction. More... | |
| mic::types::MatrixPtr< eT > | Edx |
| Decaying average of gradients up to time t - E[g]. More... | |
| mic::types::MatrixPtr< eT > | Edx2 |
| Decaying average of squared gradients up to time t - E[g^2]. More... | |
| mic::types::MatrixPtr< eT > | dx_prev |
| Previous value of gradients. More... | |
| mic::types::MatrixPtr< eT > | delta |
| Calculated update. More... | |
AdamID - ADAM with integral and derivative coefficients.
Definition at line 39 of file AdamID.hpp.
|
inline |
Constructor. Sets dimensions, values of decay (beta1=0.9 and beta2=0.999) and eps (default=1e-8).
| rows_ | Number of rows of the updated matrix/its gradient. |
| cols_ | Number of columns of the updated matrix/its gradient. |
Definition at line 47 of file AdamID.hpp.
References mic::neural_nets::optimization::AdamID< eT >::beta1, mic::neural_nets::optimization::AdamID< eT >::beta1_powt, mic::neural_nets::optimization::AdamID< eT >::beta2, mic::neural_nets::optimization::AdamID< eT >::beta2_powt, mic::neural_nets::optimization::AdamID< eT >::delta, mic::neural_nets::optimization::AdamID< eT >::dx_prev, mic::neural_nets::optimization::AdamID< eT >::Edx, and mic::neural_nets::optimization::AdamID< eT >::Edx2.
|
inlinevirtual |
Calculates the update according to the AdamID update rule.
| x_ | Pointer to the current matrix. |
| dx_ | Pointer to current gradient of that matrix. |
| learning_rate_ | Learning rate (default=0.001). |
Implements mic::neural_nets::optimization::OptimizationFunction< eT >.
Definition at line 73 of file AdamID.hpp.
References mic::neural_nets::optimization::AdamID< eT >::beta1, mic::neural_nets::optimization::AdamID< eT >::beta1_powt, mic::neural_nets::optimization::AdamID< eT >::beta2, mic::neural_nets::optimization::AdamID< eT >::beta2_powt, mic::neural_nets::optimization::AdamID< eT >::delta, mic::neural_nets::optimization::AdamID< eT >::Edx, mic::neural_nets::optimization::AdamID< eT >::Edx2, and mic::neural_nets::optimization::AdamID< eT >::eps.
|
protected |
Decay rate 1 (momentum for past gradients).
Definition at line 118 of file AdamID.hpp.
Referenced by mic::neural_nets::optimization::AdamID< eT >::AdamID(), and mic::neural_nets::optimization::AdamID< eT >::calculateUpdate().
|
protected |
Decay rate 1 to the power of t - bias correction.
Definition at line 127 of file AdamID.hpp.
Referenced by mic::neural_nets::optimization::AdamID< eT >::AdamID(), and mic::neural_nets::optimization::AdamID< eT >::calculateUpdate().
|
protected |
Decay rate 2 (momentum for past squared gradients).
Definition at line 121 of file AdamID.hpp.
Referenced by mic::neural_nets::optimization::AdamID< eT >::AdamID(), and mic::neural_nets::optimization::AdamID< eT >::calculateUpdate().
|
protected |
Decay rate 2 to the power of t - bias correction.
Definition at line 130 of file AdamID.hpp.
Referenced by mic::neural_nets::optimization::AdamID< eT >::AdamID(), and mic::neural_nets::optimization::AdamID< eT >::calculateUpdate().
|
protected |
Calculated update.
Definition at line 142 of file AdamID.hpp.
Referenced by mic::neural_nets::optimization::AdamID< eT >::AdamID(), and mic::neural_nets::optimization::AdamID< eT >::calculateUpdate().
|
protected |
Previous value of gradients.
Definition at line 139 of file AdamID.hpp.
Referenced by mic::neural_nets::optimization::AdamID< eT >::AdamID().
|
protected |
Decaying average of gradients up to time t - E[g].
Definition at line 133 of file AdamID.hpp.
Referenced by mic::neural_nets::optimization::AdamID< eT >::AdamID(), and mic::neural_nets::optimization::AdamID< eT >::calculateUpdate().
|
protected |
Decaying average of squared gradients up to time t - E[g^2].
Definition at line 136 of file AdamID.hpp.
Referenced by mic::neural_nets::optimization::AdamID< eT >::AdamID(), and mic::neural_nets::optimization::AdamID< eT >::calculateUpdate().
|
protected |
Smoothing term that avoids division by zero.
Definition at line 124 of file AdamID.hpp.
Referenced by mic::neural_nets::optimization::AdamID< eT >::calculateUpdate().