cvxpylayers
cvxpylayers copied to clipboard
added optimal transport example
@olivierteboul can you take a look at this?
@akshayka
I think this is the same as Eq (3) of https://arxiv.org/abs/1802.08665, right?
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)
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 .
Sorry for the late response ...!
Looks mostly good! Just a few comments.
- I was confused by the wording in the first sentence, since the support of a probability distribution is typically a set, not a vector.
- The LaTeX isn't rendering correctly. I'm looking here: https://github.com/cvxgrp/cvxpylayers/blob/970163a34770bca0daac7cb727627e45fa03c169/examples/torch/optimal_transport.ipynb
- Maybe include axis labels on the plot, to explain what's being visualized?
LGTM modulo the comments I made previously.