cvxpylayers icon indicating copy to clipboard operation
cvxpylayers copied to clipboard

added optimal transport example

Open sbarratt opened this issue 4 years ago • 5 comments

@olivierteboul can you take a look at this?

sbarratt avatar Jan 25 '20 22:01 sbarratt

@akshayka

sbarratt avatar Apr 14 '20 18:04 sbarratt

I think this is the same as Eq (3) of https://arxiv.org/abs/1802.08665, right?

image

If so, it would be cool to mention the connection to that paper, and to https://arxiv.org/abs/1106.1925, since they differentiate through that convex optimization problem by unrolling the sinkhorn iterates. (Which is exact if the sinkhorn iterates converge)

bamos avatar Apr 14 '20 18:04 bamos

Yeah, that's exactly it. I based it off of https://papers.nips.cc/paper/8910-differentiable-ranking-and-sorting-using-optimal-transport.pdf .

I'll add some references so we can connect it to prior work.

On Tue, Apr 14, 2020 at 11:47 AM Brandon Amos [email protected] wrote:

I think this is the same as Eq (3) of https://arxiv.org/abs/1802.08665, right?

[image: image] https://user-images.githubusercontent.com/707462/79261798-5bc6c400-7e5e-11ea-86f1-171bc72be207.png

If so, it would be cool to mention the connection to that paper, and to https://arxiv.org/abs/1106.1925, since they differentiate through that convex optimization problem by unrolling the sinkhorn iterates. (Which is exact if the sinkhorn iterates converge)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/cvxgrp/cvxpylayers/pull/43#issuecomment-613616515, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7LUGN7I4HQAR6ZDBFTCELRMSVSXANCNFSM4KLTOHUA .

sbarratt avatar Apr 14 '20 19:04 sbarratt

Sorry for the late response ...!

Looks mostly good! Just a few comments.

  1. I was confused by the wording in the first sentence, since the support of a probability distribution is typically a set, not a vector.
  2. The LaTeX isn't rendering correctly. I'm looking here: https://github.com/cvxgrp/cvxpylayers/blob/970163a34770bca0daac7cb727627e45fa03c169/examples/torch/optimal_transport.ipynb
  3. Maybe include axis labels on the plot, to explain what's being visualized?

akshayka avatar Apr 21 '20 20:04 akshayka

LGTM modulo the comments I made previously.

akshayka avatar May 20 '20 17:05 akshayka