The CELU activation function, defined by. More...
Public Member Functions | |
CELUType (const double alpha=1.0) | |
Create the CELU object using the specified parameter. More... | |
CELUType (const CELUType &other) | |
CELUType (CELUType &&other) | |
virtual | ~CELUType () |
double const & | Alpha () const |
Get the non zero gradient. More... | |
double & | Alpha () |
Modify the non zero gradient. More... | |
void | Backward (const MatType &input, const MatType &gy, MatType &g) |
Ordinary feed backward pass of a neural network, calculating the function f(x) by propagating x backwards through f. More... | |
CELUType * | Clone () const |
Clone the CELUType object. This handles polymorphism correctly. More... | |
void | Forward (const MatType &input, MatType &output) |
Ordinary feed forward pass of a neural network, evaluating the function f(x) by propagating the activity forward through f. More... | |
CELUType & | operator= (const CELUType &other) |
CELUType & | operator= (CELUType &&other) |
template < typename Archive > | |
void | serialize (Archive &ar, const uint32_t) |
Serialize the layer. More... | |
![]() | |
Layer () | |
Default constructor. More... | |
Layer (const Layer &layer) | |
Copy constructor. This is not responsible for copying weights! More... | |
Layer (Layer &&layer) | |
Move constructor. This is not responsible for moving weights! More... | |
virtual | ~Layer () |
Default deconstructor. More... | |
virtual void | ComputeOutputDimensions () |
Compute the output dimensions. More... | |
virtual void | CustomInitialize (MatType &, const size_t) |
Override the weight matrix of the layer. More... | |
virtual void | Forward (const MatType &, const MatType &) |
Takes an input and output object, and computes the corresponding loss of the layer. More... | |
virtual void | Gradient (const MatType &, const MatType &, MatType &) |
Computing the gradient of the layer with respect to its own input. More... | |
const std::vector< size_t > & | InputDimensions () const |
Get the input dimensions. More... | |
std::vector< size_t > & | InputDimensions () |
Modify the input dimensions. More... | |
virtual double | Loss () |
Get the layer loss. More... | |
virtual Layer & | operator= (const Layer &layer) |
Copy assignment operator. This is not responsible for copying weights! More... | |
virtual Layer & | operator= (Layer &&layer) |
Move assignment operator. This is not responsible for moving weights! More... | |
const std::vector< size_t > & | OutputDimensions () |
Get the output dimensions. More... | |
virtual size_t | OutputSize () final |
Get the number of elements in the output from this layer. More... | |
virtual const MatType & | Parameters () const |
Get the parameters. More... | |
virtual MatType & | Parameters () |
Set the parameters. More... | |
template < typename Archive > | |
void | serialize (Archive &ar, const uint32_t) |
Serialize the layer. More... | |
virtual void | SetWeights (typename MatType::elem_type *) |
Reset the layer parameter. More... | |
virtual bool const & | Training () const |
Get whether the layer is currently in training mode. More... | |
virtual bool & | Training () |
Modify whether the layer is currently in training mode. More... | |
virtual size_t | WeightSize () const |
Get the total number of trainable weights in the layer. More... | |
Additional Inherited Members | |
![]() | |
std::vector< size_t > | inputDimensions |
Logical input dimensions of each point. More... | |
std::vector< size_t > | outputDimensions |
Logical output dimensions of each point. More... | |
bool | training |
If true, the layer is in training mode; otherwise, it is in testing mode. More... | |
bool | validOutputDimensions |
This is true if ComputeOutputDimensions() has been called, and outputDimensions can be considered to be up-to-date. More... | |
The CELU activation function, defined by.
When not in training mode, there is no computation of the derivative.
InputType | The type of the layer's inputs. The layer automatically cast inputs to this type (Default: arma::mat). |
OutputType | The type of the computation which also causes the output to also be in this type. The type also allows the computation and weight type to differ from the input type (Default: arma::mat). |
CELUType | ( | const double | alpha = 1.0 | ) |
Create the CELU object using the specified parameter.
The non zero gradient for negative inputs can be adjusted by specifying the CELU hyperparameter alpha (alpha > 0).
alpha | Scale parameter for the negative factor (default = 1.0). |
Referenced by CELUType< MatType >::Clone(), and CELUType< MatType >::~CELUType().
|
inlinevirtual |
Definition at line 77 of file celu.hpp.
References CELUType< MatType >::Backward(), CELUType< MatType >::CELUType(), CELUType< MatType >::Forward(), and CELUType< MatType >::operator=().
|
inline |
|
inline |
Modify the non zero gradient.
Definition at line 114 of file celu.hpp.
References CELUType< MatType >::serialize().
|
virtual |
Ordinary feed backward pass of a neural network, calculating the function f(x) by propagating x backwards through f.
Using the results from the feed forward pass.
input | The propagated input activation f(x). |
gy | The backpropagated error. |
g | The calculated gradient. |
Reimplemented from Layer< MatType >.
Referenced by CELUType< MatType >::~CELUType().
|
inlinevirtual |
Clone the CELUType object. This handles polymorphism correctly.
Implements Layer< MatType >.
Definition at line 73 of file celu.hpp.
References CELUType< MatType >::CELUType().
|
virtual |
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. |
Reimplemented from Layer< MatType >.
Referenced by CELUType< MatType >::~CELUType().
Referenced by CELUType< MatType >::~CELUType().
void serialize | ( | Archive & | ar, |
const uint32_t | |||
) |
Serialize the layer.
Referenced by CELUType< MatType >::Alpha().