Skip to content

Project done as part of the course on Probabilistic Graphical Models by Pierre Latouche and Pierre-Alexandre Mattei. JAX Implementation of the FastICA algorithm, a Newton's descent algorithm for linear ICA, and a Flax implementation of VAE for non-linear ICA.

License

Notifications You must be signed in to change notification settings

ylefay/independent_component_analysis

Repository files navigation

Independent Component Analysis (ICA)

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

Audio Source Separation Using ICA

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

  • Original Mixed Audio: Listen
  • Separated Audio Source 1: Listen
  • Separated Audio Source 2: Listen

References

Authors

Zineb Bentires, Nour Bouayed, Yvann Le Fay

About

Project done as part of the course on Probabilistic Graphical Models by Pierre Latouche and Pierre-Alexandre Mattei. JAX Implementation of the FastICA algorithm, a Newton's descent algorithm for linear ICA, and a Flax implementation of VAE for non-linear ICA.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •