Motivation
ot/sliced.py currently generates projection directions purely at random
(get_random_projections normalizes Gaussian vectors; get_projections_sphere
uses QR on a random matrix) — standard Monte Carlo (MC) sampling over the
sphere.
A recent paper, "Quasi-Monte Carlo for 3D Sliced Wasserstein"
(Nguyen, Bariletto & Ho, ICLR 2024), shows that replacing these random
directions with deterministic, low-discrepancy QMC point sets on the
sphere reduces the approximation error of Sliced Wasserstein, especially in
3D. They call this Quasi-Sliced Wasserstein (QSW).
Since QSW is deterministic, the paper also proposes Randomized QSW
(RQSW): applying a random rotation to a QMC point set, which provably
preserves both low discrepancy and unbiasedness — making it a drop-in,
unbiased replacement for the current random sampling in stochastic
optimization settings (e.g. gradient flows).
What I'd like to propose
A scoped-down first PR covering one construction:
- A QMC point set on the sphere via generalized spiral points (simple,
closed-form, no optimization needed).
- Its randomized version, RQSW via random rotation — reusing the same
QR-based rotation mechanism get_projections_sphere already has, just for
a full (d, d) rotation instead of (d, 2).
The paper covers other QMC constructions too (equal-area mapping,
energy-minimizing points) as possible follow-ups if this is of interest.
Before I start
- Would a QMC-based option for this module be of interest?
- New dedicated function, or a
method= option on the existing API?
Happy to adjust based on feedback. Thanks!
Motivation
ot/sliced.pycurrently generates projection directions purely at random(
get_random_projectionsnormalizes Gaussian vectors;get_projections_sphereuses QR on a random matrix) — standard Monte Carlo (MC) sampling over the
sphere.
A recent paper, "Quasi-Monte Carlo for 3D Sliced Wasserstein"
(Nguyen, Bariletto & Ho, ICLR 2024), shows that replacing these random
directions with deterministic, low-discrepancy QMC point sets on the
sphere reduces the approximation error of Sliced Wasserstein, especially in
3D. They call this Quasi-Sliced Wasserstein (QSW).
Since QSW is deterministic, the paper also proposes Randomized QSW
(RQSW): applying a random rotation to a QMC point set, which provably
preserves both low discrepancy and unbiasedness — making it a drop-in,
unbiased replacement for the current random sampling in stochastic
optimization settings (e.g. gradient flows).
What I'd like to propose
A scoped-down first PR covering one construction:
closed-form, no optimization needed).
QR-based rotation mechanism
get_projections_spherealready has, just fora full
(d, d)rotation instead of(d, 2).The paper covers other QMC constructions too (equal-area mapping,
energy-minimizing points) as possible follow-ups if this is of interest.
Before I start
method=option on the existing API?Happy to adjust based on feedback. Thanks!