{"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/leveraging-programmatically-generated","title":"Leveraging Programmatically Generated Synthetic Data for Differentially Private Diffusion Training","arxiv_id":"2412.09842","date":"2024-12-13","proceeding":null,"authors":["Yujin Choi","Jinseong Park","Junyoung Byun","Jaewook Lee"],"abstract":"Programmatically generated synthetic data has been used in differential private training for classification to enhance performance without privacy leakage. However, as the synthetic data is generated from a random process, the distribution of real data and the synthetic data are distinguishable and difficult to transfer. Therefore, the model trained with the synthetic data generates unrealistic random images, raising challenges to adapt the synthetic data for generative models. In this work, we propose DP-SynGen, which leverages programmatically generated synthetic data in diffusion models to address this challenge. By exploiting the three stages of diffusion models(coarse, context, and cleaning) we identify stages where synthetic data can be effectively utilized. We theoretically and empirically verified that cleaning and coarse stages can be trained without private data, replacing them with synthetic data to reduce the privacy budget. The experimental results show that DP-SynGen improves the quality of generative data by mitigating the negative impact of privacy-induced noise on the generation process.","url_abs":"https://arxiv.org/abs/2412.09842v1","url_pdf":"https://arxiv.org/pdf/2412.09842v1.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":"leveraging-programmatically-generated","repo_url":"https://github.com/uzn36/dp-syngen","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2412.09842","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2412.09842"}},"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/uzn36/dp-syngen","reach":{"status":"ok"}}],"summary":{"ran_honours":2,"ran_draft_wrong":1,"ran":1,"unverified":9},"by_repo_kind":{"official":{"samples":13,"ran":4,"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":"9cd07419f7c926f8","entry":"parse_tuple","repo":"uzn36/dp-syngen","repo_kind":"official","path":"dataset_tool.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/dataset_tool.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":2,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9cd07419f7c926f8"}},{"code_sha256_prefix":"a2b45afa097b55b6","entry":"file_ext","repo":"uzn36/dp-syngen","repo_kind":"official","path":"dataset_tool.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/dataset_tool.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a2b45afa097b55b6"}},{"code_sha256_prefix":"dd1dc700e87f36cc","entry":"maybe_min","repo":"uzn36/dp-syngen","repo_kind":"official","path":"dataset_tool.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/dataset_tool.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dd1dc700e87f36cc"}},{"code_sha256_prefix":"3ac11bfe0ae80195","entry":"variance_scaling","repo":"uzn36/dp-syngen","repo_kind":"official","path":"model/layers.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/model/layers.py","link_basis":"harvester_set","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":"3ac11bfe0ae80195"}},{"code_sha256_prefix":"9d31d2c4cd16bb2d","entry":"ask_yes_no","repo":"uzn36/dp-syngen","repo_kind":"official","path":"dnnlib/util.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/dnnlib/util.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":"9d31d2c4cd16bb2d"}},{"code_sha256_prefix":"053fc534bc6bb989","entry":"format_time","repo":"uzn36/dp-syngen","repo_kind":"official","path":"dnnlib/util.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/dnnlib/util.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":"053fc534bc6bb989"}},{"code_sha256_prefix":"77f4aa0649e7f404","entry":"format_time_brief","repo":"uzn36/dp-syngen","repo_kind":"official","path":"dnnlib/util.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/dnnlib/util.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":"77f4aa0649e7f404"}},{"code_sha256_prefix":"31c98657cf41c7f5","entry":"get_act","repo":"uzn36/dp-syngen","repo_kind":"official","path":"model/layers.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/model/layers.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":"31c98657cf41c7f5"}},{"code_sha256_prefix":"1b8adb3294e53c6d","entry":"get_normalization","repo":"uzn36/dp-syngen","repo_kind":"official","path":"model/normalization.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/model/normalization.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":"1b8adb3294e53c6d"}},{"code_sha256_prefix":"8db300b9f1afb2d3","entry":"get_weight","repo":"uzn36/dp-syngen","repo_kind":"official","path":"model/up_or_down_sampling.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/model/up_or_down_sampling.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":"8db300b9f1afb2d3"}},{"code_sha256_prefix":"e0ca74cc0ccd0e50","entry":"naive_downsample_2d","repo":"uzn36/dp-syngen","repo_kind":"official","path":"model/up_or_down_sampling.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/model/up_or_down_sampling.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":"e0ca74cc0ccd0e50"}},{"code_sha256_prefix":"f425357463a3de36","entry":"naive_upsample_2d","repo":"uzn36/dp-syngen","repo_kind":"official","path":"model/up_or_down_sampling.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/model/up_or_down_sampling.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":"f425357463a3de36"}},{"code_sha256_prefix":"85b2235eb7afaa4f","entry":"ncsn_conv1x1","repo":"uzn36/dp-syngen","repo_kind":"official","path":"model/layers.py","file_url":"https://github.com/uzn36/dp-syngen/blob/HEAD/model/layers.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":"85b2235eb7afaa4f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}