{"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/generative-modeling-on-manifolds-through","title":"Generative Modeling on Manifolds Through Mixture of Riemannian Diffusion Processes","arxiv_id":"2310.07216","date":"2023-10-11","proceeding":null,"authors":["Jaehyeong Jo","Sung Ju Hwang"],"abstract":"Learning the distribution of data on Riemannian manifolds is crucial for modeling data from non-Euclidean space, which is required by many applications in diverse scientific fields. Yet, existing generative models on manifolds suffer from expensive divergence computation or rely on approximations of heat kernel. These limitations restrict their applicability to simple geometries and hinder scalability to high dimensions. In this work, we introduce the Riemannian Diffusion Mixture, a principled framework for building a generative diffusion process on manifolds. Instead of following the denoising approach of previous diffusion models, we construct a diffusion process using a mixture of bridge processes derived on general manifolds without requiring heat kernel estimations. We develop a geometric understanding of the mixture process, deriving the drift as a weighted mean of tangent directions to the data points that guides the process toward the data distribution. We further propose a scalable training objective for learning the mixture process that readily applies to general manifolds. Our method achieves superior performance on diverse manifolds with dramatically reduced number of in-training simulation steps for general manifolds.","url_abs":"https://arxiv.org/abs/2310.07216v2","url_pdf":"https://arxiv.org/pdf/2310.07216v2.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":"generative-modeling-on-manifolds-through","repo_url":"https://github.com/harryjo97/riemannian-diffusion-mixture","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":null}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.07216","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.07216"}},"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/harryjo97/riemannian-diffusion-mixture","reach":null}],"summary":{"ran":6,"unverified":3},"by_repo_kind":{"official":{"samples":9,"ran":6,"repositories":1}},"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":9,"samples":[{"code_sha256_prefix":"5fbdb85f24d1929a","entry":"ApproxMixture","repo":"harryjo97/riemannian-diffusion-mixture","repo_kind":"official","path":"sde_lib.py","file_url":"https://github.com/harryjo97/riemannian-diffusion-mixture/blob/HEAD/sde_lib.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5fbdb85f24d1929a"}},{"code_sha256_prefix":"19b59bec19e3200f","entry":"BackwardProbabilityFlowODE","repo":"harryjo97/riemannian-diffusion-mixture","repo_kind":"official","path":"sde_lib.py","file_url":"https://github.com/harryjo97/riemannian-diffusion-mixture/blob/HEAD/sde_lib.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"19b59bec19e3200f"}},{"code_sha256_prefix":"10033a6faeb9277d","entry":"BrownianBridge","repo":"harryjo97/riemannian-diffusion-mixture","repo_kind":"official","path":"sde_lib.py","file_url":"https://github.com/harryjo97/riemannian-diffusion-mixture/blob/HEAD/sde_lib.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"10033a6faeb9277d"}},{"code_sha256_prefix":"4b75ec5c88d9640b","entry":"Mixture","repo":"harryjo97/riemannian-diffusion-mixture","repo_kind":"official","path":"sde_lib.py","file_url":"https://github.com/harryjo97/riemannian-diffusion-mixture/blob/HEAD/sde_lib.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4b75ec5c88d9640b"}},{"code_sha256_prefix":"6b43ed4f8a325d37","entry":"SpectralBridge","repo":"harryjo97/riemannian-diffusion-mixture","repo_kind":"official","path":"sde_lib.py","file_url":"https://github.com/harryjo97/riemannian-diffusion-mixture/blob/HEAD/sde_lib.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6b43ed4f8a325d37"}},{"code_sha256_prefix":"9baf8c43db7f0f89","entry":"UniformDistribution","repo":"harryjo97/riemannian-diffusion-mixture","repo_kind":"official","path":"sde_lib.py","file_url":"https://github.com/harryjo97/riemannian-diffusion-mixture/blob/HEAD/sde_lib.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9baf8c43db7f0f89"}},{"code_sha256_prefix":"82575b8689e3c317","entry":"Bridge","repo":"harryjo97/riemannian-diffusion-mixture","repo_kind":"official","path":"sde_lib.py","file_url":"https://github.com/harryjo97/riemannian-diffusion-mixture/blob/HEAD/sde_lib.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"82575b8689e3c317"}},{"code_sha256_prefix":"9fbfe082fc409a42","entry":"DiffusionMixture","repo":"harryjo97/riemannian-diffusion-mixture","repo_kind":"official","path":"sde_lib.py","file_url":"https://github.com/harryjo97/riemannian-diffusion-mixture/blob/HEAD/sde_lib.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9fbfe082fc409a42"}},{"code_sha256_prefix":"d883bdf252f2138a","entry":"Wrapped","repo":"harryjo97/riemannian-diffusion-mixture","repo_kind":"official","path":"sde_lib.py","file_url":"https://github.com/harryjo97/riemannian-diffusion-mixture/blob/HEAD/sde_lib.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d883bdf252f2138a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}