left_diag.m
Generates a weight matrix descrambler for a particular layer in a neural network using maximum diagonality criterion described in (https://www.pnas.org/doi/10.1073/pnas.2016917118).
Syntax
P=left_diag(W,method,n_iter,guess)
Parameters
W - layer weight matrix, must be square
method - 'max_diag_sum' finds a transformation that creates
P*W with maximum diagonal sum; 'max_diag_normsq'
finds a transformation that creates P*W with maxi-
mum diagonal norm square.
n_iter - maximum number of Newton-Raphson interations, 400
is generally sufficient
guess - [optional] the initial guess for the descrambling
transform generator (lower triangle is used), a
reasonable choice is a zero matrix (default)
Outputs
P - the matrix accomplishing the transformation when
it is multiplied into W from the left.
See also
descramble.m, Neural network module, Built-in_experiments
Version 2.8, authors: Tajwar Choudhury, Ilya Kuprov