mlpack 3.4.2
Public Member Functions | List of all members
RecurrentAttention< InputDataType, OutputDataType > Class Template Reference

This class implements the Recurrent Model for Visual Attention, using a variety of possible layer implementations. More...

#include <recurrent_attention.hpp>

Public Member Functions

 RecurrentAttention ()
 Default constructor: this will not give a usable RecurrentAttention object, so be sure to set all the parameters before use. More...
 
template<typename RNNModuleType , typename ActionModuleType >
 RecurrentAttention (const size_t outSize, const RNNModuleType &rnn, const ActionModuleType &action, const size_t rho)
 Create the RecurrentAttention object using the specified modules. More...
 
template<typename eT >
void Backward (const arma::Mat< eT > &, const arma::Mat< eT > &gy, arma::Mat< eT > &g)
 Ordinary feed backward pass of a neural network, calculating the function f(x) by propagating x backwards trough f. More...
 
OutputDataType & Delta ()
 Modify the delta. More...
 
OutputDataType const & Delta () const
 Get the delta. More...
 
bool & Deterministic ()
 Modify the value of the deterministic parameter. More...
 
bool Deterministic () const
 The value of the deterministic parameter. More...
 
template<typename eT >
void Forward (const arma::Mat< eT > &input, arma::Mat< eT > &output)
 Ordinary feed forward pass of a neural network, evaluating the function f(x) by propagating the activity forward through f. More...
 
OutputDataType & Gradient ()
 Modify the gradient. More...
 
OutputDataType const & Gradient () const
 Get the gradient. More...
 
template<typename eT >
void Gradient (const arma::Mat< eT > &, const arma::Mat< eT > &, arma::Mat< eT > &)
 
std::vector< LayerTypes<> > & Model ()
 Get the model modules. More...
 
OutputDataType & OutputParameter ()
 Modify the output parameter. More...
 
OutputDataType const & OutputParameter () const
 Get the output parameter. More...
 
size_t OutSize () const
 Get the module output size. More...
 
OutputDataType & Parameters ()
 Modify the parameters. More...
 
OutputDataType const & Parameters () const
 Get the parameters. More...
 
size_t const & Rho () const
 Get the number of steps to backpropagate through time. More...
 
template<typename Archive >
void serialize (Archive &ar, const unsigned int)
 Serialize the layer. More...
 

Detailed Description

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
class mlpack::ann::RecurrentAttention< InputDataType, OutputDataType >

This class implements the Recurrent Model for Visual Attention, using a variety of possible layer implementations.

For more information, see the following paper.

@article{MnihHGK14,
title = {Recurrent Models of Visual Attention},
author = {Volodymyr Mnih, Nicolas Heess, Alex Graves, Koray Kavukcuoglu},
journal = {CoRR},
volume = {abs/1406.6247},
year = {2014},
url = {https://arxiv.org/abs/1406.6247}
}
Template Parameters
InputDataTypeType of the input data (arma::colvec, arma::mat, arma::sp_mat or arma::cube).
OutputDataTypeType of the output data (arma::colvec, arma::mat, arma::sp_mat or arma::cube).

Definition at line 56 of file recurrent_attention.hpp.

Constructor & Destructor Documentation

◆ RecurrentAttention() [1/2]

Default constructor: this will not give a usable RecurrentAttention object, so be sure to set all the parameters before use.

◆ RecurrentAttention() [2/2]

RecurrentAttention ( const size_t  outSize,
const RNNModuleType &  rnn,
const ActionModuleType &  action,
const size_t  rho 
)

Create the RecurrentAttention object using the specified modules.

Parameters
outSizeThe module output size.
rnnThe recurrent neural network module.
actionThe action module.
rhoMaximum number of steps to backpropagate through time (BPTT).

Member Function Documentation

◆ Backward()

void Backward ( const arma::Mat< eT > &  ,
const arma::Mat< eT > &  gy,
arma::Mat< eT > &  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.

Parameters
*(input) The propagated input activation.
gyThe backpropagated error.
gThe calculated gradient.

◆ Delta() [1/2]

OutputDataType & Delta ( )
inline

Modify the delta.

Definition at line 136 of file recurrent_attention.hpp.

◆ Delta() [2/2]

OutputDataType const & Delta ( ) const
inline

Get the delta.

Definition at line 134 of file recurrent_attention.hpp.

◆ Deterministic() [1/2]

bool & Deterministic ( )
inline

Modify the value of the deterministic parameter.

Definition at line 121 of file recurrent_attention.hpp.

◆ Deterministic() [2/2]

bool Deterministic ( ) const
inline

The value of the deterministic parameter.

Definition at line 119 of file recurrent_attention.hpp.

◆ Forward()

void Forward ( const arma::Mat< eT > &  input,
arma::Mat< eT > &  output 
)

Ordinary feed forward pass of a neural network, evaluating the function f(x) by propagating the activity forward through f.

Parameters
inputInput data used for evaluating the specified function.
outputResulting output activation.

◆ Gradient() [1/3]

OutputDataType & Gradient ( )
inline

Modify the gradient.

Definition at line 141 of file recurrent_attention.hpp.

◆ Gradient() [2/3]

OutputDataType const & Gradient ( ) const
inline

Get the gradient.

Definition at line 139 of file recurrent_attention.hpp.

◆ Gradient() [3/3]

void Gradient ( const arma::Mat< eT > &  ,
const arma::Mat< eT > &  ,
arma::Mat< eT > &   
)

◆ Model()

std::vector< LayerTypes<> > & Model ( )
inline

Get the model modules.

Definition at line 116 of file recurrent_attention.hpp.

◆ OutputParameter() [1/2]

OutputDataType & OutputParameter ( )
inline

Modify the output parameter.

Definition at line 131 of file recurrent_attention.hpp.

◆ OutputParameter() [2/2]

OutputDataType const & OutputParameter ( ) const
inline

Get the output parameter.

Definition at line 129 of file recurrent_attention.hpp.

◆ OutSize()

size_t OutSize ( ) const
inline

Get the module output size.

Definition at line 144 of file recurrent_attention.hpp.

◆ Parameters() [1/2]

OutputDataType & Parameters ( )
inline

Modify the parameters.

Definition at line 126 of file recurrent_attention.hpp.

◆ Parameters() [2/2]

OutputDataType const & Parameters ( ) const
inline

Get the parameters.

Definition at line 124 of file recurrent_attention.hpp.

◆ Rho()

size_t const & Rho ( ) const
inline

Get the number of steps to backpropagate through time.

Definition at line 147 of file recurrent_attention.hpp.

◆ serialize()

void serialize ( Archive &  ar,
const unsigned int   
)

Serialize the layer.


The documentation for this class was generated from the following files: