OpenANN
1.1.0
An open source library for artificial neural networks.
|
Interface that has to be implemented by all layers of a neural network that can be trained with backpropagation. More...
#include <Layer.h>
Public Member Functions | |
virtual | ~Layer () |
virtual OutputInfo | initialize (std::vector< double * > ¶meterPointers, std::vector< double * > ¶meterDerivativePointers)=0 |
Fill in the parameter pointers and parameter derivative pointers. More... | |
virtual void | initializeParameters ()=0 |
Initialize the parameters. More... | |
virtual void | updatedParameters ()=0 |
Generate internal parameters from externally visible parameters. More... | |
virtual void | forwardPropagate (Eigen::MatrixXd *x, Eigen::MatrixXd *&y, bool dropout, double *error=0)=0 |
Forward propagation in this layer. More... | |
virtual void | backpropagate (Eigen::MatrixXd *ein, Eigen::MatrixXd *&eout, bool backpropToPrevious)=0 |
Backpropagation in this layer. More... | |
virtual Eigen::MatrixXd & | getOutput ()=0 |
Output after last forward propagation. More... | |
virtual Eigen::VectorXd | getParameters ()=0 |
Get the current values of parameters (weights, biases, ...). More... | |
Interface that has to be implemented by all layers of a neural network that can be trained with backpropagation.
|
inlinevirtual |
|
pure 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 |
Implemented in OpenANN::SigmaPi, OpenANN::RBM, OpenANN::FullyConnected, OpenANN::IntrinsicPlasticity, OpenANN::Convolutional, OpenANN::Subsampling, OpenANN::LocalResponseNormalization, OpenANN::Compressed, OpenANN::SparseAutoEncoder, OpenANN::Extreme, OpenANN::AlphaBetaFilter, OpenANN::MaxPooling, OpenANN::Dropout, and OpenANN::Input.
|
pure 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 |
Implemented in OpenANN::SigmaPi, OpenANN::RBM, OpenANN::FullyConnected, OpenANN::IntrinsicPlasticity, OpenANN::Convolutional, OpenANN::Subsampling, OpenANN::LocalResponseNormalization, OpenANN::Compressed, OpenANN::SparseAutoEncoder, OpenANN::Extreme, OpenANN::AlphaBetaFilter, OpenANN::MaxPooling, OpenANN::Dropout, and OpenANN::Input.
|
pure virtual |
Output after last forward propagation.
Implemented in OpenANN::SigmaPi, OpenANN::RBM, OpenANN::FullyConnected, OpenANN::IntrinsicPlasticity, OpenANN::Convolutional, OpenANN::Subsampling, OpenANN::LocalResponseNormalization, OpenANN::Compressed, OpenANN::SparseAutoEncoder, OpenANN::Extreme, OpenANN::AlphaBetaFilter, OpenANN::MaxPooling, OpenANN::Dropout, and OpenANN::Input.
|
pure virtual |
Get the current values of parameters (weights, biases, ...).
Implemented in OpenANN::SigmaPi, OpenANN::RBM, OpenANN::FullyConnected, OpenANN::IntrinsicPlasticity, OpenANN::Convolutional, OpenANN::Subsampling, OpenANN::LocalResponseNormalization, OpenANN::Compressed, OpenANN::SparseAutoEncoder, OpenANN::Extreme, OpenANN::AlphaBetaFilter, OpenANN::MaxPooling, OpenANN::Dropout, and OpenANN::Input.
|
pure virtual |
Fill in the parameter pointers and parameter derivative pointers.
parameterPointers | pointers to parameters |
parameterDerivativePointers | pointers to derivatives of parameters |
Implemented in OpenANN::RBM, OpenANN::FullyConnected, OpenANN::SigmaPi, OpenANN::SparseAutoEncoder, OpenANN::IntrinsicPlasticity, OpenANN::Convolutional, OpenANN::Subsampling, OpenANN::LocalResponseNormalization, OpenANN::Compressed, OpenANN::Extreme, OpenANN::AlphaBetaFilter, OpenANN::MaxPooling, OpenANN::Dropout, and OpenANN::Input.
|
pure virtual |
Initialize the parameters.
This is usually called before each optimization.
Implemented in OpenANN::SigmaPi, OpenANN::RBM, OpenANN::FullyConnected, OpenANN::SparseAutoEncoder, OpenANN::IntrinsicPlasticity, OpenANN::Convolutional, OpenANN::Subsampling, OpenANN::LocalResponseNormalization, OpenANN::Compressed, OpenANN::Extreme, OpenANN::AlphaBetaFilter, OpenANN::MaxPooling, OpenANN::Dropout, and OpenANN::Input.
|
pure virtual |
Generate internal parameters from externally visible parameters.
This is usually called after each parameter update.
Implemented in OpenANN::SigmaPi, OpenANN::RBM, OpenANN::FullyConnected, OpenANN::SparseAutoEncoder, OpenANN::IntrinsicPlasticity, OpenANN::Convolutional, OpenANN::Subsampling, OpenANN::LocalResponseNormalization, OpenANN::Compressed, OpenANN::Extreme, OpenANN::AlphaBetaFilter, OpenANN::MaxPooling, OpenANN::Dropout, and OpenANN::Input.