OpenANN
1.1.0
An open source library for artificial neural networks.
|
Fully connected layer with fixed random weights. More...
#include <Extreme.h>
Public Member Functions | |
Extreme (OutputInfo info, int J, bool bias, ActivationFunction act, double stdDev) | |
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 fixed random weights.
This kind of layer is used in Extreme Learning Machines (ELMs). It projects low dimensional data onto a higher dimensional space such that a linear classifier or regression algorithm in the next layer could approximate arbitrary functions. The advantage of this concept is that a closed form solution is available. The disadvantage is that the number of required nodes is usually much larger than in conventional multilayer neural networks.
[1] Guang-Bin Huang, Qin-Yu Zhu and Chee-Kheong Siew: Extreme learning machine: Theory and applications, Neurocomputing 70 (1–3), pp. 489-501, 2006.
OpenANN::Extreme::Extreme | ( | OutputInfo | info, |
int | J, | ||
bool | bias, | ||
ActivationFunction | act, | ||
double | stdDev | ||
) |
|
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.
|
inlinevirtual |
Generate internal parameters from externally visible parameters.
This is usually called after each parameter update.
Implements OpenANN::Layer.