mlpack
Public Member Functions | Public Attributes | List of all members
mlpack::ann::OrthogonalRegularizer Class Reference

Implementation of the OrthogonalRegularizer. More...

#include <orthogonal_regularizer.hpp>

Public Member Functions

 OrthogonalRegularizer (double factor=1.0)
 Create the regularizer object. More...
 
template<typename MatType >
void Evaluate (const MatType &weight, MatType &gradient)
 Calculate the gradient for regularization. More...
 
template<typename Archive >
void serialize (Archive &ar, const uint32_t)
 Serialize the regularizer (nothing to do).
 

Public Attributes

double factor
 The constant for the regularization.
 

Detailed Description

Implementation of the OrthogonalRegularizer.

Orthogonality of weights is a desirable property because multiplication by an orthogonal matrix leaves the norm of the matrix unchanged. The orthogonal regularization technique encourages weights to be orthogonal.

For more information, see the following.

@inproceedings{WanICML2013,
title={Neural Photo Editing with Introspective Adversarial Networks},
booktitle = {5th International Conference on Learning Representations
(ICLR - 17)},
author = {Andrew Brock and Theodore Lim and J.M. Ritchie and Nick Weston},
year = {2017}
}

Constructor & Destructor Documentation

◆ OrthogonalRegularizer()

mlpack::ann::OrthogonalRegularizer::OrthogonalRegularizer ( double  factor = 1.0)

Create the regularizer object.

Parameters
factorThe factor for regularization.

Member Function Documentation

◆ Evaluate()

template<typename MatType >
void mlpack::ann::OrthogonalRegularizer::Evaluate ( const MatType &  weight,
MatType &  gradient 
)

Calculate the gradient for regularization.

Template Parameters
MatTypeType of weight matrix.
Parameters
weightThe weight matrix to be regularized.
gradientThe calculated gradient.

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