Companion code to the project done for the MVA course Probabilistic Graphical Models on Independent Component Analysis. It includes:
- A Numpy implementation of the FastICA algorithm
- Two jax implementation of the FastICA Algorithm, one with a discriminating prior depending on the estimated (non) -Gaussianity of each source.
- A Jax implementation of the Gradient Descent for the maximum-likelihood estimator, with a discriminating prior depending on the estimated (non)-Gaussianity of each source.
- A Flax (Jax) implementation of identifiable Variational Autoencoder (iVAE) for ICA
Full report available at here
Here are some audio samples of the source separation results:
Speech signals
- Original Mixed Audio: Listen
- Separated Audio Source 1: Listen
- Separated Audio Source 2: Listen
- Separated Audio Source 3: Listen
Sound signals
- Independent Component Analysis: Algorithms and Applications
- Variational Autoencoders and Nonlinear ICA: A Unifying Framework
Zineb Bentires, Nour Bouayed, Yvann Le Fay