Smooth-abs activation. More...
#include <smooth-1norm.hpp>
Public Types | |
typedef ActivationDataAbstractTpl< Scalar > | ActivationDataAbstract |
typedef ActivationModelAbstractTpl< Scalar > | Base |
typedef ActivationDataSmooth1NormTpl< Scalar > | Data |
typedef MathBaseTpl< Scalar > | MathBase |
typedef MathBase::MatrixXs | MatrixXs |
typedef MathBase::VectorXs | VectorXs |
Public Types inherited from ActivationModelAbstractTpl< _Scalar > | |
typedef ActivationDataAbstractTpl< Scalar > | ActivationDataAbstract |
typedef MathBaseTpl< Scalar > | MathBase |
typedef MathBase::MatrixXs | MatrixXs |
typedef MathBase::VectorXs | VectorXs |
Public Member Functions | |
ActivationModelSmooth1NormTpl (const std::size_t nr, const Scalar eps=Scalar(1.)) | |
Initialize the smooth-abs activation model. More... | |
virtual void | calc (const boost::shared_ptr< ActivationDataAbstract > &data, const Eigen::Ref< const VectorXs > &r) |
Compute the smooth-abs function. More... | |
virtual void | calcDiff (const boost::shared_ptr< ActivationDataAbstract > &data, const Eigen::Ref< const VectorXs > &r) |
Compute the derivatives of the smooth-abs function. More... | |
virtual boost::shared_ptr< ActivationDataAbstract > | createData () |
Create the smooth-abs activation data. More... | |
virtual void | print (std::ostream &os) const |
Print relevant information of the smooth-1norm model. More... | |
Public Member Functions inherited from ActivationModelAbstractTpl< _Scalar > | |
ActivationModelAbstractTpl (const std::size_t nr) | |
std::size_t | get_nr () const |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
Public Attributes inherited from ActivationModelAbstractTpl< _Scalar > | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
Protected Attributes | |
Scalar | eps_ |
< Dimension of the residual vector More... | |
std::size_t | nr_ |
Protected Attributes inherited from ActivationModelAbstractTpl< _Scalar > | |
std::size_t | nr_ |
Smooth-abs activation.
This activation function describes a smooth representation of an absolute activation (1-norm) for each element of a residual vector, i.e.
\[ \begin{equation} sum^nr_{i=0} \sqrt{\epsilon + \|r_i\|^2} \end{equation} \]
where \(\epsilon\) defines the smoothing factor, \(r_i\) is the scalar residual for the \(i\) constraints, \(nr\) is the dimension of the residual vector.
The computation of the function and it derivatives are carried out in calc()
and caldDiff()
, respectively.
calc()
, calcDiff()
, createData()
Definition at line 37 of file smooth-1norm.hpp.
|
inlineexplicit |
Initialize the smooth-abs activation model.
The default eps
value is defined as 1.
[in] | nr | Dimension of the residual vector |
[in] | eps | Smoothing factor (default: 1.) |
Definition at line 58 of file smooth-1norm.hpp.
|
inlinevirtual |
Compute the smooth-abs function.
[in] | data | Smooth-abs activation data |
[in] | r | Residual vector \(\mathbf{r}\in\mathbb{R}^{nr}\) |
Implements ActivationModelAbstractTpl< _Scalar >.
Definition at line 79 of file smooth-1norm.hpp.
|
inlinevirtual |
Compute the derivatives of the smooth-abs function.
[in] | data | Smooth-abs activation data |
[in] | r | Residual vector \(\mathbf{r}\in\mathbb{R}^{nr}\) |
Implements ActivationModelAbstractTpl< _Scalar >.
Definition at line 98 of file smooth-1norm.hpp.
|
inlinevirtual |
Create the smooth-abs activation data.
Reimplemented from ActivationModelAbstractTpl< _Scalar >.
Definition at line 117 of file smooth-1norm.hpp.
|
inlinevirtual |
Print relevant information of the smooth-1norm model.
[out] | os | Output stream object |
Reimplemented from ActivationModelAbstractTpl< _Scalar >.
Definition at line 126 of file smooth-1norm.hpp.
|
protected |
< Dimension of the residual vector
Smoothing factor
Definition at line 132 of file smooth-1norm.hpp.