Replies: 3 comments 3 replies
-
Hello @mr-gomez , Thank you for your detailed issue. I transformed it as a discussion so that it will remain easily visible in POT. In order to have a clear reference with cleaned equations, I started a note on my website that you can find here : Note. Conclusion : there are no mistake in POT implementation for the gradient computation or the exact line-search. And we will soon integrate an exact line-search for the KL inner loss. Best, |
Beta Was this translation helpful? Give feedback.
-
Hello Mario, Indeed, roughly speaking it is a mistake to consider those as constants w.r.t Hope it helps, |
Beta Was this translation helpful? Give feedback.
-
Hi Cédric. I understand that Having said this, I want to clarify that the discrepancy in our calculations is caused by using slightly different representations of
Note that the two expressions agree because we can expand Hence, my question becomes: Which expression should be used to compute Thanks, |
Beta Was this translation helpful? Give feedback.
-
Describe the bug
The formulas in gwggrad and solve_gromov_linesearch have typos and do not match the cited references [12] and [24]. I also calculated the gradient by hand to confirm that POT has typos.
For concreteness, I'm using the following versions of the cited papers:
[12] Gabriel Peyré, Marco Cuturi, and Justin Solomon,
"Gromov-Wasserstein averaging of kernel and distance matrices."
International Conference on Machine Learning (ICML). 2016.
IN: https://proceedings.mlr.press/v48/peyre16.pdf
[24] Vayer Titouan, Chapel Laetitia, Flamary Rémi, Tavenard Romain and Courty Nicolas
"Optimal Transport for structured data with application on graphs"
International Conference on Machine Learning (ICML). 2019.
IN: https://arxiv.org/pdf/1805.09114.pdf
To Reproduce
Code sample
Notes:
plot_gromov.py
from the examples gallery. I computed the GW distance two times, one using POT and another with my corrections implemented ingwggrad_mod
andsolve_gromov_linesearch_mod
.Expected behavior
The functions gwggrad and solve_gromov_linesearch should output the result of gwggrad_mod and solve_gromov_linesearch_mod, respectively.
Environment
Output of the following code snippet:
Additional context
Beta Was this translation helpful? Give feedback.
All reactions