Base class implementing an Adam weight optimizer model. More...
#include <weight_optimizer.h>
Public Member Functions | |
| WeightOptimizerAdam () | |
| Default constructor. | |
| WeightOptimizerAdam (const WeightOptimizerAdam &)=default | |
| Copy constructor. | |
| WeightOptimizerAdam & | operator= (const WeightOptimizerAdam &)=delete |
| Assignment operator. | |
| void | get_status (Dictionary &d) const override |
| Get parameter dictionary. | |
| void | set_status (const Dictionary &d) override |
| Update values in parameter dictionary. | |
Public Member Functions inherited from nest::WeightOptimizer | |
| WeightOptimizer () | |
| Default constructor. | |
| virtual | ~WeightOptimizer () |
| Destructor. | |
| WeightOptimizer (const WeightOptimizer &)=default | |
| Copy constructor. | |
| WeightOptimizer & | operator= (const WeightOptimizer &)=delete |
| Assignment operator. | |
| double | optimized_weight (const WeightOptimizerCommonProperties &cp, const size_t idx_current_update, const double gradient, double weight) |
| Return optimized weight based on current weight. | |
Private Member Functions | |
| double | optimize_ (const WeightOptimizerCommonProperties &cp, double weight, size_t current_opt_step) override |
| Perform specific optimization. | |
Private Attributes | |
| double | m_ |
| First moment estimate variable. | |
| double | v_ |
| Second moment estimate variable. | |
| double | beta_1_power_ |
| Power of beta_1 factor. | |
| double | beta_2_power_ |
| Power of beta_2 factor. | |
Additional Inherited Members | |
Protected Attributes inherited from nest::WeightOptimizer | |
| double | cumulative_gradient_ |
| Cumulative gradient over the current batch. | |
| size_t | optimization_step_ |
| Current optimization step, whereby optimization happens every batch_size_ steps. | |
| double | eta_current_ |
| Synapse-specific learning rate when the history for its upcoming weight update was archived. | |
| long | n_optimize_ |
| Number of optimizations. | |
Base class implementing an Adam weight optimizer model.
| nest::WeightOptimizerAdam::WeightOptimizerAdam | ( | ) |
Default constructor.
|
default |
Copy constructor.
|
overridevirtual |
Get parameter dictionary.
Reimplemented from nest::WeightOptimizer.
References nest::WeightOptimizer::get_status(), nest::names::m(), m_, nest::names::v(), and v_.
|
delete |
Assignment operator.
|
overrideprivatevirtual |
Perform specific optimization.
Implements nest::WeightOptimizer.
References nest::WeightOptimizerCommonPropertiesAdam::beta_1_, beta_1_power_, nest::WeightOptimizerCommonPropertiesAdam::beta_2_, beta_2_power_, nest::WeightOptimizer::cumulative_gradient_, nest::WeightOptimizerCommonPropertiesAdam::epsilon_, nest::WeightOptimizer::eta_current_, m_, nest::WeightOptimizer::optimization_step_, and v_.
|
overridevirtual |
Update values in parameter dictionary.
Reimplemented from nest::WeightOptimizer.
References nest::names::m(), m_, nest::WeightOptimizer::set_status(), nest::names::v(), and v_.
|
private |
Power of beta_1 factor.
Referenced by optimize_().
|
private |
Power of beta_2 factor.
Referenced by optimize_().
|
private |
First moment estimate variable.
Referenced by get_status(), optimize_(), and set_status().
|
private |
Second moment estimate variable.
Referenced by get_status(), optimize_(), and set_status().