OrthogonalRegularizer Class Reference

Implementation of the OrthogonalRegularizer. More...

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 unsigned int)
 Serialize the regularizer (nothing to do). More...

 

Public Attributes

double factor
 The constant for the regularization. More...

 

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}
}

Definition at line 38 of file orthogonal_regularizer.hpp.

Constructor & Destructor Documentation

◆ OrthogonalRegularizer()

OrthogonalRegularizer ( double  factor = 1.0)

Create the regularizer object.

Parameters
factorThe factor for regularization.

Member Function Documentation

◆ Evaluate()

void 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.

◆ serialize()

void serialize ( Archive &  ar,
const unsigned  int 
)

Serialize the regularizer (nothing to do).

Member Data Documentation

◆ factor

double factor

The constant for the regularization.

Definition at line 63 of file orthogonal_regularizer.hpp.


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