Optimal Transport (Spring 2024)

Project

The deadline for submission is May 3rd.

You will find below the subjects for last year. You can either send your

  • pdf

  • colab link with experiments/code

to marcocuturicameto+assignment@gmail.com (if you use a different email alias, your assignment may risk ending “lost” in my inbox).

or a pull-request to the OTT-JAX toolbox if you choose the first project.

Choose one topic from those presented below. If you wish to explore a different direction, send me a proposal by email.

Contribute to the OTT toolbox with a tutorial or a feature

The OTT-JAX toolbox provides implementations of optimal transport tools, coded in the JAX (Python) framework. The toolbox is open source and anyone can contribute to it. A crucial aspect of such toolboxes is to provide tutorials that help users play with these tools. After looking at the code and at available tutorials (it's important that you look at them to get a feel of what the expectation is), I propose that you run the experiments of one of the family of papers below and package this in a nice notebook that can then be used as tutorial material for the toolbox (your contribution will stay there and you will be credited!).

  • Entropic Maps: Read the paper and provide a summary of its statistical aspects. Use OTT-JAX's dual_potentials package to illustrate, using experiments, the statistical properties of this estimator, on both synthetic and real data of your choice.

  • Explore the Monge Bregman Occam estimator and use OTT to try it on an application of your liking.

  • Semismooth Newton. After recapitulating the theory and ideas, provide a simple implementation of that algorithm.

Please consider that a tutorial is not a place to add new features to OTT, this is a different goal, contact me if you would prefer your contribution to be the addition of a new functionality (which I expect to be substantially harder because it would require understanding the inner workings of the toolbox and JAX knowledge).

Please consider that I will only be able to accept a few of the PRs to remain in the toolbox, but I am happy to create a special section of miscellaneous examples in the toolbox where I will put your work if it does not pass the bar. Submitting a PR will also likely involve reviews and hence modifications. You are encouraged to raise issues if you encounter unexpected problems when writing the tutorial that you would like to share with the community.

Benchmark Entropic Estimator vs. other more complex alternatives (ICNN, Flow Matching)

Many estimators for OT have been proposed, let's benchmark them. In this assignment we'll stick to the entropic maps, and compare it with NN based approaches, exploring this section as well as flow matching based approaches. In terms of datasets, both synthetic, controlled, as in this work, or real data (your choice) will be relevant, but focus on easier, lower dimensional tasks.