Sparse dictionary learning
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
libraries
.gitignore
IMAGES.mat
README.md
fista.py
gpu.py
sparse.png
sparsenet.py

README.md

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')

2x Overcomplete Dictionary 2x Overcomplete Dictionary Trained on Natural Image Patches