{"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/spd-ddpm-denoising-diffusion-probabilistic","title":"SPD-DDPM: Denoising Diffusion Probabilistic Models in the Symmetric Positive Definite Space","arxiv_id":"2312.08200","date":"2023-12-13","proceeding":null,"authors":["Yunchen Li","Zhou Yu","Gaoqi He","Yunhang Shen","Ke Li","Xing Sun","Shaohui Lin"],"abstract":"Symmetric positive definite~(SPD) matrices have shown important value and applications in statistics and machine learning, such as FMRI analysis and traffic prediction. Previous works on SPD matrices mostly focus on discriminative models, where predictions are made directly on $E(X|y)$, where $y$ is a vector and $X$ is an SPD matrix. However, these methods are challenging to handle for large-scale data, as they need to access and process the whole data. In this paper, inspired by denoising diffusion probabilistic model~(DDPM), we propose a novel generative model, termed SPD-DDPM, by introducing Gaussian distribution in the SPD space to estimate $E(X|y)$. Moreover, our model is able to estimate $p(X)$ unconditionally and flexibly without giving $y$. On the one hand, the model conditionally learns $p(X|y)$ and utilizes the mean of samples to obtain $E(X|y)$ as a prediction. On the other hand, the model unconditionally learns the probability distribution of the data $p(X)$ and generates samples that conform to this distribution. Furthermore, we propose a new SPD net which is much deeper than the previous networks and allows for the inclusion of conditional factors. Experiment results on toy data and real taxi data demonstrate that our models effectively fit the data distribution both unconditionally and unconditionally and provide accurate predictions.","url_abs":"https://arxiv.org/abs/2312.08200v1","url_pdf":"https://arxiv.org/pdf/2312.08200v1.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":"spd-ddpm-denoising-diffusion-probabilistic","repo_url":"https://github.com/li-yun-chen/spd-ddpm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"traffic-prediction","task_name":"Traffic Prediction"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2312.08200","atlas_url":"https://app.syntology.ai/?focus=2312.08200","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2312.08200"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/li-yun-chen/spd-ddpm","reach":{"status":"ok"}}],"summary":{"ran":11,"unverified":2},"by_repo_kind":{"official":{"samples":13,"ran":11,"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":13,"samples":[{"code_sha256_prefix":"1c854ffce06dbac4","entry":"adjust_learning_rate","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"condition/ddpm.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/condition/ddpm.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":"1c854ffce06dbac4"}},{"code_sha256_prefix":"d07c1a93d2fa327d","entry":"betas_for_alpha_bar","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"uncondition/ddpm.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/uncondition/ddpm.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":"d07c1a93d2fa327d"}},{"code_sha256_prefix":"5ba4fbd489d1601f","entry":"fro","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"exp2/conditional_dis.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/exp2/conditional_dis.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5ba4fbd489d1601f"}},{"code_sha256_prefix":"d5dd04635d4e6f5e","entry":"generate_init","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"uncondition/generate_train_sample_setting1.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/uncondition/generate_train_sample_setting1.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d5dd04635d4e6f5e"}},{"code_sha256_prefix":"ceb7b714828f151f","entry":"remove_subtensors_with_nan","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"uncondition/ddpm.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/uncondition/ddpm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ceb7b714828f151f"}},{"code_sha256_prefix":"2c79ca7b063199ab","entry":"row_to_matrix","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"exp1/heatplot.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/exp1/heatplot.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":"2c79ca7b063199ab"}},{"code_sha256_prefix":"dccfa3edebee5d5b","entry":"select_rows_from_csv","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"exp1/heatplot.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/exp1/heatplot.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":"dccfa3edebee5d5b"}},{"code_sha256_prefix":"a4413dcb7b30cc69","entry":"spd_dis","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"condition/support_function.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/condition/support_function.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":"a4413dcb7b30cc69"}},{"code_sha256_prefix":"ccfceecb8fd4787a","entry":"spd_minus","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"condition/support_function.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/condition/support_function.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":"ccfceecb8fd4787a"}},{"code_sha256_prefix":"52011d088aa4ca91","entry":"spd_plus","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"condition/support_function.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/condition/support_function.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":"52011d088aa4ca91"}},{"code_sha256_prefix":"0578b08a27d3103e","entry":"tensor_power","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"exp2/conditional_dis.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/exp2/conditional_dis.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0578b08a27d3103e"}},{"code_sha256_prefix":"4b602b0867bad430","entry":"one_param","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"condition/SPD_net.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/condition/SPD_net.py","link_basis":"harvester_set","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":"4b602b0867bad430"}},{"code_sha256_prefix":"e9b42bb505335112","entry":"symmetric","repo":"li-yun-chen/spd-ddpm","repo_kind":"official","path":"condition/SPD_net.py","file_url":"https://github.com/li-yun-chen/spd-ddpm/blob/HEAD/condition/SPD_net.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":"e9b42bb505335112"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}