An implementation of a lstm network layer. More...
Public Member Functions | |
| LSTM () | |
| Create the LSTM object. More... | |
| LSTM (const size_t inSize, const size_t outSize, const size_t rho=std::numeric_limits< size_t >::max()) | |
| Create the LSTM layer object using the specified parameters. More... | |
template < typename InputType , typename ErrorType , typename GradientType > | |
| void | Backward (const InputType &&input, ErrorType &&gy, GradientType &&g) |
| Ordinary feed backward pass of a neural network, calculating the function f(x) by propagating x backwards trough f. More... | |
| OutputDataType const & | Delta () const |
| Get the delta. More... | |
| OutputDataType & | Delta () |
| Modify the delta. More... | |
template < typename InputType , typename OutputType > | |
| void | Forward (InputType &&input, OutputType &&output) |
| Ordinary feed forward pass of a neural network, evaluating the function f(x) by propagating the activity forward through f. More... | |
template < typename InputType , typename ErrorType , typename GradientType > | |
| void | Gradient (InputType &&input, ErrorType &&error, GradientType &&gradient) |
| OutputDataType const & | Gradient () const |
| Get the gradient. More... | |
| OutputDataType & | Gradient () |
| Modify the gradient. More... | |
| InputDataType const & | InputParameter () const |
| Get the input parameter. More... | |
| InputDataType & | InputParameter () |
| Modify the input parameter. More... | |
| OutputDataType const & | OutputParameter () const |
| Get the output parameter. More... | |
| OutputDataType & | OutputParameter () |
| Modify the output parameter. More... | |
| OutputDataType const & | Parameters () const |
| Get the parameters. More... | |
| OutputDataType & | Parameters () |
| Modify the parameters. More... | |
| void | Reset () |
| void | ResetCell (const size_t size) |
| size_t | Rho () const |
| Get the maximum number of steps to backpropagate through time (BPTT). More... | |
| size_t & | Rho () |
| Modify the maximum number of steps to backpropagate through time (BPTT). More... | |
template < typename Archive > | |
| void | serialize (Archive &ar, const unsigned int) |
| Serialize the layer. More... | |
An implementation of a lstm network layer.
This class allows specification of the type of the activation functions used for the gates and cells and also of the type of the function used to initialize and update the peephole weights.
The implementation corresponds to the following algorithm:
For more information, see the following.
| InputDataType | Type of the input data (arma::colvec, arma::mat, arma::sp_mat or arma::cube). |
| OutputDataType | Type of the output data (arma::colvec, arma::mat, arma::sp_mat or arma::cube). |
Definition at line 55 of file layer_types.hpp.
| LSTM | ( | const size_t | inSize, |
| const size_t | outSize, | ||
| const size_t | rho = std::numeric_limits< size_t >::max() |
||
| ) |
Create the LSTM layer object using the specified parameters.
| inSize | The number of input units. |
| outSize | The number of output units. |
| rho | Maximum number of steps to backpropagate through time (BPTT). |
| void Backward | ( | const InputType && | input, |
| ErrorType && | gy, | ||
| GradientType && | g | ||
| ) |
Ordinary feed backward pass of a neural network, calculating the function f(x) by propagating x backwards trough f.
Using the results from the feed forward pass.
| input | The propagated input activation. |
| gy | The backpropagated error. |
| g | The calculated gradient. |
|
inline |
| void Forward | ( | InputType && | input, |
| OutputType && | output | ||
| ) |
Ordinary feed forward pass of a neural network, evaluating the function f(x) by propagating the activity forward through f.
| input | Input data used for evaluating the specified function. |
| output | Resulting output activation. |
| void Gradient | ( | InputType && | input, |
| ErrorType && | error, | ||
| GradientType && | gradient | ||
| ) |
|
inline |
|
inline |
Modify the gradient.
Definition at line 157 of file lstm.hpp.
References LSTM< InputDataType, OutputDataType >::serialize().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void Reset | ( | ) |
| void ResetCell | ( | const size_t | size | ) |
|
inline |
|
inline |
| void serialize | ( | Archive & | ar, |
| const unsigned | int | ||
| ) |
Serialize the layer.
Referenced by LSTM< InputDataType, OutputDataType >::Gradient().