Python implementation of sparse dictionary learning. Trains on Van Hateran's or David Field's natural image datasets. Based upon Sparsenet algorithm (1996 Olshausen & Field). Standard stochastic gradient descent to learn dictionary and multiple algorithms to infer coefficients. Minimizes the following objective function:
min_{\Phi, s} || I - \Phi*s ||^2 + || s ||_1
I: Data Phi: Learned dictionary s: Coefficients
L1 optimization | LCA: Locally Competitive Algorithm (2006 Rozell et al.) |
FISTA: Fast Iterative Shrinkage and Thresholding Algorithm (2009 Beck & Teboulle) | |
L0 optimization | L1 Initialization and IHT: Iterative Hard Thresholding (2008 Blumensath & Davies) |
To run:
sparsenet(inference='fista')