Incremental Slow Feature Analysis, ported from MATLAB.
This is the toy example, first introduced by Wiskott in the SFA paper. It will show the feature outputs, slowness measured, and feature correlation during the training. IncSFA is driven to learn slow features that are as decorrelated as possible. One can watch this interplay between the two constraints during the learning.
hdf5. Warning: launches many gnuplot windows when
INCREMENTAL_VIZ = true.
Here, IncSFA is applied to a sequence of high-dimensional images. It uses the iCubArm data in the Data folder (not included in this repo), stored already in matrix form in
robotdata.h5. During training, it will show the feature outputs on a few selected episodes, as well as the slowness measured and the mutual correlation of the features. This takes over 100 episodes of training to really start showing good features, sometimes longer. It is currently set to stop at 200 episodes. Once it stops, it will run
view_result, which shows side-by-side the image sequences and the slow feature embedding. During training, it periodically stores the features in
Used to view the embedding from
|amnesic||Amnesic averaging, to set learning rates.|
|quadexpand||Quadratic expansion of a column vector.|
|CCIPCA||Candid covariance free incremental principal component analysis.|
|CIMCA||Covariance free incremental minor component analysis.|
|IMCA||Incremental minor component analysis. Doesn't normalize the features so there may be stability issues.|
V. R. Kompella, M. Luciw and J. Schmidhuber. "Incremental Slow Feature Analysis: Adaptive Low-Complexity Slow Feature Updating from High-Dimensional Input Streams", Neural Computation Journal, Vol. 24 (11), pp. 2994--3024, 2012.