OpenANN
1.1.0
An open source library for artificial neural networks.
|
Fully connected layer with compressed weights. More...
#include <Compressed.h>
Public Member Functions | |
Compressed (OutputInfo info, int J, int M, bool bias, ActivationFunction act, const std::string &compression, double stdDev, Regularization regularization) | |
virtual OutputInfo | initialize (std::vector< double * > ¶meterPointers, std::vector< double * > ¶meterDerivativePointers) |
Fill in the parameter pointers and parameter derivative pointers. More... | |
virtual void | initializeParameters () |
Initialize the parameters. More... | |
virtual void | updatedParameters () |
Generate internal parameters from externally visible parameters. More... | |
virtual void | forwardPropagate (Eigen::MatrixXd *x, Eigen::MatrixXd *&y, bool dropout, double *error=0) |
Forward propagation in this layer. More... | |
virtual void | backpropagate (Eigen::MatrixXd *ein, Eigen::MatrixXd *&eout, bool backpropToPrevious) |
Backpropagation in this layer. More... | |
virtual Eigen::MatrixXd & | getOutput () |
Output after last forward propagation. More... | |
virtual Eigen::VectorXd | getParameters () |
Get the current values of parameters (weights, biases, ...). More... | |
Public Member Functions inherited from OpenANN::Layer | |
virtual | ~Layer () |
Fully connected layer with compressed weights.
The number of optimizable parameters is reduced due to compressed indirect weight representation. The weight matrix is generated by , where is an optimizable parameter matrix with less components than and is a fixed matrix that could e. g. be generated randomly. Note that the compressed representation of weights is equivalent to compressing the input of the layer with and regarding as the weight matrix.
Supports the following regularization types:
[1] A. Fabisch, Y. Kassahun, H. Wöhrle and F. Kirchner: Learning in compressed space, Neural Networks 42, pp. 83-93, ISSN 0893-6080, 2013.
OpenANN::Compressed::Compressed | ( | OutputInfo | info, |
int | J, | ||
int | M, | ||
bool | bias, | ||
ActivationFunction | act, | ||
const std::string & | compression, | ||
double | stdDev, | ||
Regularization | regularization | ||
) |
|
virtual |
Backpropagation in this layer.
ein | pointer to error signal of the higher layer |
eout | returns a pointer to error signal of the layer (derivative of the error with respect to the input) |
backpropToPrevious | backpropagate errors to previous layers |
Implements OpenANN::Layer.
|
virtual |
Forward propagation in this layer.
x | pointer to input of the layer (with bias) |
y | returns a pointer to output of the layer |
dropout | enable dropout for regularization |
error | error value, will be updated with regularization terms |
Implements OpenANN::Layer.
|
virtual |
|
virtual |
Get the current values of parameters (weights, biases, ...).
Implements OpenANN::Layer.
|
virtual |
Fill in the parameter pointers and parameter derivative pointers.
parameterPointers | pointers to parameters |
parameterDerivativePointers | pointers to derivatives of parameters |
Implements OpenANN::Layer.
|
virtual |
Initialize the parameters.
This is usually called before each optimization.
Implements OpenANN::Layer.
|
virtual |
Generate internal parameters from externally visible parameters.
This is usually called after each parameter update.
Implements OpenANN::Layer.