Data Structures | |
class | AUExcept |
class | CalcDelay |
template class for delay calculation More... | |
class | DelayLine |
template class for a signal delay line More... | |
class | ESN |
class for a basic Echo State Network More... | |
class | BPFilter |
simple bandpass filter based on an exponential moving average More... | |
class | IIRFilter |
general IIR filter implemented in transposed direct form 2 More... | |
class | SerialIIRFilter |
serie of IIR Filters More... | |
class | InitBase |
abstract base class for initialization algorithms More... | |
class | InitStd |
standard initialization as described in Jaeger's initial paper More... | |
class | SimBase |
abstract base class for simulation algorithms More... | |
class | SimStd |
standard simulation algorithm as in Jaeger's initial paper More... | |
class | SimLI |
algorithm with leaky integrator neurons More... | |
class | SimBP |
algorithm with bandpass style neurons as in Wustlich and Siewert More... | |
class | SimFilter |
algorithm with general IIR-Filter neurons More... | |
class | SimFilter2 |
algorithm with IIR-Filter before neuron nonlinearity More... | |
class | SimFilterDS |
IIR-Filter neurons with additional delay&sum readout. More... | |
class | SimSquare |
algorithm with additional squared state updates More... | |
class | TrainBase |
abstract base class for training algorithms More... | |
class | TrainPI |
offline trainig algorithm using the pseudo inverse More... | |
class | TrainLS |
offline trainig algorithm using the least square solution More... | |
class | TrainRidgeReg |
offline algorithm with Ridge Regression / Tikhonov Regularization More... | |
class | TrainDSPI |
offline algorithm for delay&sum readout with PI More... | |
struct | SPMatrix |
typedef trait class of a real sparse matrix with type T More... | |
struct | DEMatrix |
typedef trait class of a real dense matrix with type T More... | |
struct | DEVector |
typedef trait class of a real dense vector with type T More... | |
struct | CDEVector |
typedef trait class of a complex dense vector with type T More... | |
class | Rand |
template class for random number generation More... | |
tanh2 activation functions | |
DEVector< double >::Type | tanh2_a_ |
DEVector< double >::Type | tanh2_b_ |
template<typename T> | |
void | act_tanh2 (T *data, int size) |
template<typename T> | |
void | act_invtanh2 (T *data, int size) |
Enumerations | |
enum | ActivationFunction { ACT_LINEAR, ACT_TANH, ACT_TANH2, ACT_SIGMOID } |
enum | InitAlgorithm { INIT_STD } |
enum | InitParameter { CONNECTIVITY, ALPHA, IN_CONNECTIVITY, IN_SCALE, IN_SHIFT, FB_CONNECTIVITY, FB_SCALE, FB_SHIFT, LEAKING_RATE, TIKHONOV_FACTOR, DS_USE_CROSSCORR, DS_USE_GCC, DS_MAXDELAY, IP_LEARNRATE, IP_MEAN, IP_VAR } |
enum | SimAlgorithm { SIM_STD, SIM_SQUARE, SIM_LI, SIM_BP, SIM_FILTER, SIM_FILTER2, SIM_FILTER_DS } |
enum | TrainAlgorithm { TRAIN_PI, TRAIN_LS, TRAIN_RIDGEREG, TRAIN_DS_PI } |
Functions | |
void | set_denormal_flags () throw (AUExcept) |
void | denormals_add_dc (float *data, int size) |
void | denormals_add_dc (double *data, int size) |
double | stringToDouble (const string &s) throw (AUExcept) |
int | stringToInt (const string &s) throw (AUExcept) |
linear activation functions | |
template<typename T> | |
void | act_linear (T *data, int size) |
template<typename T> | |
void | act_invlinear (T *data, int size) |
tanh activation functions | |
template<typename T> | |
void | act_tanh (T *data, int size) |
template<typename T> | |
void | act_invtanh (T *data, int size) |
sigmoid activation functions | |
template<typename T> | |
void | act_sigmoid (T *data, int size) |
template<typename T> | |
void | act_invsigmoid (T *data, int size) |
FFT routines using FFTW | |
void | rfft (const DEVector< double >::Type &x, CDEVector< double >::Type &X, int fftsize) |
void | rfft (const DEVector< float >::Type &x, CDEVector< float >::Type &X, int fftsize) |
void | irfft (CDEVector< double >::Type &X, DEVector< double >::Type &x) |
void | irfft (CDEVector< float >::Type &X, DEVector< float >::Type &x) |
Variables | |
const float | SINGLE_DENORMAL_DC = 1.0E-25 |
const double | DOUBLE_DENORMAL_DC = 1.0E-30 |
all possible initialization algorithms
INIT_STD |
standard initialization,
|
possible parameters of the initialization algorithms
CONNECTIVITY | connectivity of the reservoir weight matrix |
ALPHA | spectral radius of the reservoir weight matrix |
IN_CONNECTIVITY | connectivity of the input weight matrix |
IN_SCALE | scale input weight matrix random vaules |
IN_SHIFT | shift input weight matrix random vaules |
FB_CONNECTIVITY | connectivity of the feedback weight matrix |
FB_SCALE | scale feedback weight matrix random vaules |
FB_SHIFT | shift feedback weight matrix random vaules |
LEAKING_RATE | leaking rate for Leaky Integrator ESNs |
TIKHONOV_FACTOR | regularization factor for TrainRidgeReg |
DS_USE_CROSSCORR | use simple cross-correlation for delay calculation |
DS_USE_GCC | use generalized cross-correlation for delay calculation |
DS_MAXDELAY | maximum delay for delay&sum readout |
IP_LEARNRATE | learnrate for Gaussian-IP reservoir adaptation |
IP_MEAN | desired mean for Gaussian-IP reservoir adaptation |
IP_VAR | desired variance for Gaussian-IP reservoir adaptation |
all possible simulation algorithms
SIM_STD |
standard simulation
|
SIM_SQUARE |
additional squared state updates
|
SIM_LI |
simulation with leaky integrator neurons
|
SIM_BP |
simulation with bandpass neurons
|
SIM_FILTER |
simulation with IIR-Filter neurons
|
SIM_FILTER2 |
IIR-Filter before nonlinearity.
|
SIM_FILTER_DS |
with Delay&Sum Readout
|
all possible training algorithms
TRAIN_PI |
offline, pseudo inverse based
|
TRAIN_LS |
offline least square algorithm,
|
TRAIN_RIDGEREG |
with ridge regression,
|
TRAIN_DS_PI |
trains a delay&sum readout with PI
|
void aureservoir::act_invlinear | ( | T * | data, | |
int | size | |||
) | [inline] |
inverse linear activation function, performed on each element
data | pointer to the data | |
size | of the data |
void aureservoir::act_invsigmoid | ( | T * | data, | |
int | size | |||
) | [inline] |
inverse sigmoid activation function, performed on each element: y(x) = ln( 1/x - 1 )
void aureservoir::act_invtanh | ( | T * | data, | |
int | size | |||
) | [inline] |
inverse tanh activation function, performed on each element
data | pointer to the data | |
size | of the data |
void aureservoir::act_invtanh2 | ( | T * | data, | |
int | size | |||
) | [inline] |
inverse tanh2 activation function this means the following: y(x) = (atanh(x) - b) / a
data | pointer to the data | |
size | of the data |
void aureservoir::act_linear | ( | T * | data, | |
int | size | |||
) | [inline] |
linear activation function, performed on each element
data | pointer to the data | |
size | of the data |
void aureservoir::act_sigmoid | ( | T * | data, | |
int | size | |||
) | [inline] |
sigmoid activation function, performed on each element: y(x) = 1 / (1 + exp(x))
data | pointer to the data | |
size | of the data |
void aureservoir::act_tanh | ( | T * | data, | |
int | size | |||
) | [inline] |
tanh activation function, performed on each element
data | pointer to the data | |
size | of the data |
void aureservoir::act_tanh2 | ( | T * | data, | |
int | size | |||
) | [inline] |
tanh2 activation function with local slope a and bias b this means the following: y(x) = tanh( a*x + b ) where a and b are vetors with same size as the data
data | pointer to the data | |
size | of the data |
void aureservoir::denormals_add_dc | ( | double * | data, | |
int | size | |||
) | [inline] |
adds a constant value to prevent going to denormal mode
data | pointer to double precision data | |
size | of the data |
void aureservoir::denormals_add_dc | ( | float * | data, | |
int | size | |||
) | [inline] |
adds a constant value to prevent going to denormal mode
data | pointer to single precision data | |
size | of the data |
void aureservoir::irfft | ( | CDEVector< float >::Type & | X, | |
DEVector< float >::Type & | x | |||
) |
calculates inverse real fft in single precision
X | complex frequency domain input vector | |
x | real IFFT output vector, will be resized to correct size |
void aureservoir::irfft | ( | CDEVector< double >::Type & | X, | |
DEVector< double >::Type & | x | |||
) |
calculates inverse real fft in double precision
X | complex frequency domain input vector | |
x | real IFFT output vector, will be resized to correct size |
void aureservoir::rfft | ( | const DEVector< float >::Type & | x, | |
CDEVector< float >::Type & | X, | |||
int | fftsize | |||
) |
calculates real fft with zero padding in single precision
x | real input vector | |
X | complex FFT output vector, will be resized to fftsize/2+1 | |
fftsize | fftsize, x will be zero-padded to this size |
void aureservoir::rfft | ( | const DEVector< double >::Type & | x, | |
CDEVector< double >::Type & | X, | |||
int | fftsize | |||
) |
calculates real fft with zero padding in double precision
x | real input vector | |
X | complex FFT output vector, will be resized to fftsize/2+1 | |
fftsize | fftsize, x will be zero-padded to this size |
void aureservoir::set_denormal_flags | ( | ) | throw (AUExcept) [inline] |
deactivate pentium4 denormals
This deactivates denormals on pentium4 processors, which speeds up quite a lot. However, this only works for the SSE unit and is not supported by older models, so all used libraries have to be compiled with -mfpmath=sse -msse flags. To turn denormals off on SSE, we turn on the Denormals Are Zero and Flush to Zero (DAZ and FZ) bits in the MXCSR register.
double aureservoir::stringToDouble | ( | const string & | s | ) | throw (AUExcept) [inline] |
specialization for complex
converts a value from a string to a double used to set parameters from strings
int aureservoir::stringToInt | ( | const string & | s | ) | throw (AUExcept) [inline] |
converts a value from a string to a integer used to set parameters from strings
const double aureservoir::DOUBLE_DENORMAL_DC = 1.0E-30 |
DC offset to prevent denormals for double precision
const float aureservoir::SINGLE_DENORMAL_DC = 1.0E-25 |
DC offset to prevent denormals for single precision
DEVector<double>::Type aureservoir::tanh2_a_ |
slope vector for tanh2
DEVector<double>::Type aureservoir::tanh2_b_ |
bias vector for tanh2