{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/debiased-sinkhorn-barycenters","title":"Debiased Sinkhorn barycenters","arxiv_id":"2006.02575","date":"2020-06-03","proceeding":"ICML 2020 1","authors":["Hicham Janati","Marco Cuturi","Alexandre Gramfort"],"abstract":"Entropy regularization in optimal transport (OT) has been the driver of many recent interests for Wasserstein metrics and barycenters in machine learning. It allows to keep the appealing geometrical properties of the unregularized Wasserstein distance while having a significantly lower complexity thanks to Sinkhorn's algorithm. However, entropy brings some inherent smoothing bias, resulting for example in blurred barycenters. This side effect has prompted an increasing temptation in the community to settle for a slower algorithm such as log-domain stabilized Sinkhorn which breaks the parallel structure that can be leveraged on GPUs, or even go back to unregularized OT. Here we show how this bias is tightly linked to the reference measure that defines the entropy regularizer and propose debiased Wasserstein barycenters that preserve the best of both worlds: fast Sinkhorn-like iterations without entropy smoothing. Theoretically, we prove that the entropic OT barycenter of univariate Gaussians is a Gaussian and quantify its variance bias. This result is obtained by extending the differentiability and convexity of entropic OT to sub-Gaussian measures with unbounded supports. Empirically, we illustrate the reduced blurring and the computational advantage on various applications.","url_abs":"https://arxiv.org/abs/2006.02575v1","url_pdf":"https://arxiv.org/pdf/2006.02575v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"debiased-sinkhorn-barycenters","repo_url":"https://github.com/google-research/ott","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"debiased-sinkhorn-barycenters","repo_url":"https://github.com/hichamjanati/debiased-ot-barycenters","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"debiased-sinkhorn-barycenters","repo_url":"https://github.com/ott-jax/ott","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2006.02575","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.02575"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ott-jax/ott","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hichamjanati/debiased-ot-barycenters","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/google-research/ott","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":1,"unverified":7},"by_repo_kind":{"listed":{"samples":8,"ran":1,"repositories":2}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"8d49b2a5dc89bf80","entry":"rescale_data","repo":"hichamjanati/debiased-ot-barycenters","repo_kind":"listed","path":"run_barycenter_3d.py","file_url":"https://github.com/hichamjanati/debiased-ot-barycenters/blob/HEAD/run_barycenter_3d.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"8d49b2a5dc89bf80"}},{"code_sha256_prefix":"60ae0a4a27a6809c","entry":"compute_reg_ot_cost","repo":"google-research/ott","repo_kind":"listed","path":"ott/core/sinkhorn_lr.py","file_url":"https://github.com/google-research/ott/blob/HEAD/ott/core/sinkhorn_lr.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"60ae0a4a27a6809c"}},{"code_sha256_prefix":"3f76890b8b0683ac","entry":"fixpoint_iter","repo":"google-research/ott","repo_kind":"listed","path":"ott/core/fixed_point_loop.py","file_url":"https://github.com/google-research/ott/blob/HEAD/ott/core/fixed_point_loop.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3f76890b8b0683ac"}},{"code_sha256_prefix":"d0dc7bb7a1148e3d","entry":"fixpoint_iter_bwd","repo":"google-research/ott","repo_kind":"listed","path":"ott/core/fixed_point_loop.py","file_url":"https://github.com/google-research/ott/blob/HEAD/ott/core/fixed_point_loop.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d0dc7bb7a1148e3d"}},{"code_sha256_prefix":"5646d5b09c39906d","entry":"fixpoint_iter_fwd","repo":"google-research/ott","repo_kind":"listed","path":"ott/core/fixed_point_loop.py","file_url":"https://github.com/google-research/ott/blob/HEAD/ott/core/fixed_point_loop.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5646d5b09c39906d"}},{"code_sha256_prefix":"7a03ca79356322a3","entry":"make_kl_loss","repo":"google-research/ott","repo_kind":"listed","path":"ott/core/quad_problems.py","file_url":"https://github.com/google-research/ott/blob/HEAD/ott/core/quad_problems.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7a03ca79356322a3"}},{"code_sha256_prefix":"1b93b37ebec32b61","entry":"register_pytree_node","repo":"google-research/ott","repo_kind":"listed","path":"ott/core/dataclasses.py","file_url":"https://github.com/google-research/ott/blob/HEAD/ott/core/dataclasses.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1b93b37ebec32b61"}},{"code_sha256_prefix":"6e6033c4acd05c34","entry":"solution_error","repo":"google-research/ott","repo_kind":"listed","path":"ott/core/sinkhorn_lr.py","file_url":"https://github.com/google-research/ott/blob/HEAD/ott/core/sinkhorn_lr.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6e6033c4acd05c34"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}