An adaptive learning rate Trainer (Zeiler). More...
#include <Adadelta.h>
Inherits net::SGDTrainer.
Public Member Functions | |
Adadelta (double rho_, double targetErrorLevel_, int maximumEpochs_) | |
Initialize an Adadelta object with necessary constants. More... | |
void | store (std::ofstream *output) |
Stores an Adadelta object using specified ofstream. More... | |
bool | initFromStream (std::ifstream *in) |
Public Member Functions inherited from net::SGDTrainer | |
SGDTrainer () | |
Initialize empty Backpropagation object. More... | |
SGDTrainer (double targetErrorLevel_, int maximumEpochs_) | |
Initialize the object with necessary constants. More... | |
double | train (net::NeuralNet *network, const std::vector< std::vector< double > > &input, const std::vector< std::vector< double > > &correctOutput) |
Trains a neural network on a training set until the target error level is reached. More... | |
double | trainEpocs (double numberOfEpochs, net::NeuralNet *network, const std::vector< std::vector< double > > &input, const std::vector< std::vector< double > > &correctOutput) |
Trains a neural network on a training set for a specified number of epochs. More... | |
void | store (std::ofstream *out) |
Stores a Trainer object using specified stream. More... | |
bool | initFromStream (std::ifstream *in) |
Public Member Functions inherited from net::Trainer | |
std::vector< std::vector < std::vector< std::vector < double > > > > | getGradients () |
std::vector< std::vector < std::vector< std::vector < double > > > > | getWeightChanges () |
std::vector< std::vector < std::vector< double > > > | getInitialWeights () |
std::vector< std::vector < std::vector< double > > > | getFinalWeights () |
Public Attributes | |
double | rho |
the decay rate of the system, set by constructor More... | |
double | epsilon |
a very small number used for root mean square calculations More... | |
Public Attributes inherited from net::SGDTrainer | |
double | targetErrorLevel |
The target error level, set by constructor. More... | |
int | maximumEpochs |
The maximum number of iterations, set by constructor. More... | |
Protected Member Functions | |
void | resetNetworkVectors (net::NeuralNet *network) |
Resets the Adadelta object's accumulation vectors. More... | |
double | getChangeInWeight (double weight, int layerIndex, int neuronIndex, int weightIndex) |
Protected Member Functions inherited from net::SGDTrainer | |
double | trainOnDataPoint (net::NeuralNet *network, const std::vector< double > &input, const std::vector< double > &correctOutput) |
Gets the output of the neural network, calculates the error of each neuron, and edits the weights of the neurons to reduce error. More... | |
Protected Attributes | |
std::vector< std::vector < std::vector< double > > > | accumulatedGradients |
std::vector< std::vector < std::vector< double > > > | accumulatedUpdates |
Protected Attributes inherited from net::Trainer | |
std::vector< std::vector < std::vector< std::vector < double > > > > | gradients |
std::vector< std::vector < std::vector< std::vector < double > > > > | weightChanges |
std::vector< std::vector < std::vector< double > > > | initialWeights |
std::vector< std::vector < std::vector< double > > > | finalWeights |
An adaptive learning rate Trainer (Zeiler).
Adadelta::Adadelta | ( | double | rho_, |
double | targetErrorLevel_, | ||
int | maximumEpochs_ | ||
) |
Initialize an Adadelta object with necessary constants.
rho_ | decay level of the trainer. Between 0 and 1. |
targetErrorLevel_ | at this error level, a net will be considered trained |
maximumEpochs_ | after this number of training iterations (one pass through all of the data points), a net will stop being trained no matter what |
|
protectedvirtual |
Implements net::SGDTrainer.
bool Adadelta::initFromStream | ( | std::ifstream * | in | ) |
|
protectedvirtual |
Resets the Adadelta object's accumulation vectors.
Reimplemented from net::SGDTrainer.
|
virtual |
Stores an Adadelta object using specified ofstream.
output | pointer to the output stream which the neural network will be written to |
Implements net::Trainer.
|
protected |
|
protected |
double net::Adadelta::epsilon |
a very small number used for root mean square calculations
double net::Adadelta::rho |
the decay rate of the system, set by constructor