[WIP] Implementation of FUGW and UCOOT #617
Open
+852
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Types of changes
This PR is dedicated to the implementation of Fused Unbalanced GW and (Fused) Unbalanced COOT.
Since their structures, it is enough to write a common template, then write a wrapper for each divergence.
More precisely, we create a method called
fused_unbalanced_cross_spaces_divergence
, in whichreg_type="independent"
corresponds to (Fused) UCOOT. This yieldsfused_unbalanced_co_optimal_transport
method.reg_type="joint"
corresponds to FUGW. This yieldsfused_unbalanced_gromov_wasserstein
method.We also allow for unregularized approximation of FUGW and UCOOT, i.e.$\varepsilon = 0$ , thanks to the Majorization-Minization
ot.unbalanced.mm_unbalanced
andot.unbalanced.lbfgsb_unbalanced
L-BFGS-B methods.This implementation also allows for$2$ types of marginal penalization: Kullback-Leibler divergence and squared L2 norm. We also allow the cost to be sub-differentiable w.r.t the input matrices and reference distributions. This is implemented in
fused_unbalanced_co_optimal_transport2
andfused_unbalanced_gromov_wasserstein
methods.Motivation and context / Related issue
TO DO: write tests and illustrations.
How has this been tested (if it applies)
There are still many missing tests.
PR checklist