{"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/protecting-the-intellectual-property-of","title":"Intellectual Property Protection of Diffusion Models via the Watermark Diffusion Process","arxiv_id":"2306.03436","date":"2023-06-06","proceeding":null,"authors":["Sen Peng","Yufei Chen","Cong Wang","Xiaohua Jia"],"abstract":"Diffusion models have rapidly become a vital part of deep generative architectures, given today's increasing demands. Obtaining large, high-performance diffusion models demands significant resources, highlighting their importance as intellectual property worth protecting. However, existing watermarking techniques for ownership verification are insufficient when applied to diffusion models. Very recent research in watermarking diffusion models either exposes watermarks during task generation, which harms the imperceptibility, or is developed for conditional diffusion models that require prompts to trigger the watermark. This paper introduces WDM, a novel watermarking solution for diffusion models without imprinting the watermark during task generation. It involves training a model to concurrently learn a Watermark Diffusion Process (WDP) for embedding watermarks alongside the standard diffusion process for task generation. We provide a detailed theoretical analysis of WDP training and sampling, relating it to a shifted Gaussian diffusion process via the same reverse noise. Extensive experiments are conducted to validate the effectiveness and robustness of our approach in various trigger and watermark data configurations.","url_abs":"https://arxiv.org/abs/2306.03436v2","url_pdf":"https://arxiv.org/pdf/2306.03436v2.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":"protecting-the-intellectual-property-of","repo_url":"https://github.com/senp98/wdm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"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/2306.03436","atlas_url":"https://app.syntology.ai/?focus=2306.03436","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2306.03436"}},"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/senp98/wdm","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":4,"ran_honours":4,"ran":1,"ran_fixture":1,"unverified":9},"by_repo_kind":{"official":{"samples":19,"ran":10,"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":0,"samples":[{"code_sha256_prefix":"cfd76fd0d89574a4","entry":"approx_standard_normal_cdf","repo":"senp98/wdm","repo_kind":"official","path":"wdm/losses.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/losses.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cfd76fd0d89574a4"}},{"code_sha256_prefix":"2ab2316ac6fdd869","entry":"betas_for_alpha_bar","repo":"senp98/wdm","repo_kind":"official","path":"wdm/gaussian_diffusion.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/gaussian_diffusion.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2ab2316ac6fdd869"}},{"code_sha256_prefix":"35572566acf61c78","entry":"create_named_schedule_sampler","repo":"senp98/wdm","repo_kind":"official","path":"wdm/resample.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/resample.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"35572566acf61c78"}},{"code_sha256_prefix":"cd33283d615fb3d7","entry":"discretized_gaussian_log_likelihood","repo":"senp98/wdm","repo_kind":"official","path":"wdm/losses.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/losses.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cd33283d615fb3d7"}},{"code_sha256_prefix":"a086d6286a40b889","entry":"get_named_beta_schedule","repo":"senp98/wdm","repo_kind":"official","path":"wdm/gaussian_diffusion.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/gaussian_diffusion.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a086d6286a40b889"}},{"code_sha256_prefix":"bcd8b4acab199405","entry":"make_output_format","repo":"senp98/wdm","repo_kind":"official","path":"wdm/logger.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/logger.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bcd8b4acab199405"}},{"code_sha256_prefix":"cf2798b666b231ca","entry":"normal_kl","repo":"senp98/wdm","repo_kind":"official","path":"wdm/losses.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/losses.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cf2798b666b231ca"}},{"code_sha256_prefix":"76313eaf1a6e8f2a","entry":"parse_resume_step_from_filename","repo":"senp98/wdm","repo_kind":"official","path":"wdm/train_util.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/train_util.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"76313eaf1a6e8f2a"}},{"code_sha256_prefix":"9b6e4e070473e76f","entry":"space_timesteps","repo":"senp98/wdm","repo_kind":"official","path":"wdm/respace.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/respace.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9b6e4e070473e76f"}},{"code_sha256_prefix":"129b804760b3115f","entry":"zero_module","repo":"senp98/wdm","repo_kind":"official","path":"wdm/nn.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/nn.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"129b804760b3115f"}},{"code_sha256_prefix":"ecd0fc28815b65ae","entry":"avg_pool_nd","repo":"senp98/wdm","repo_kind":"official","path":"wdm/nn.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/nn.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ecd0fc28815b65ae"}},{"code_sha256_prefix":"fe4eb545bbb728e0","entry":"conv_nd","repo":"senp98/wdm","repo_kind":"official","path":"wdm/nn.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/nn.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fe4eb545bbb728e0"}},{"code_sha256_prefix":"30bf6f2182da18f6","entry":"create_model","repo":"senp98/wdm","repo_kind":"official","path":"wdm/script_util.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/script_util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"30bf6f2182da18f6"}},{"code_sha256_prefix":"2b89e3afbf5271f3","entry":"create_model_and_diffusion","repo":"senp98/wdm","repo_kind":"official","path":"wdm/script_util.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/script_util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2b89e3afbf5271f3"}},{"code_sha256_prefix":"a863803cdd5f3ce6","entry":"make_master_params","repo":"senp98/wdm","repo_kind":"official","path":"wdm/fp16_util.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/fp16_util.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a863803cdd5f3ce6"}},{"code_sha256_prefix":"e515a67f7f32e76d","entry":"mpi_weighted_mean","repo":"senp98/wdm","repo_kind":"official","path":"wdm/logger.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/logger.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e515a67f7f32e76d"}},{"code_sha256_prefix":"0c6607473a4c4c55","entry":"profile","repo":"senp98/wdm","repo_kind":"official","path":"wdm/logger.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/logger.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0c6607473a4c4c55"}},{"code_sha256_prefix":"86bdccb17150ae38","entry":"sr_create_model_and_diffusion","repo":"senp98/wdm","repo_kind":"official","path":"wdm/script_util.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/script_util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"86bdccb17150ae38"}},{"code_sha256_prefix":"30e43bcf12d042b0","entry":"unflatten_master_params","repo":"senp98/wdm","repo_kind":"official","path":"wdm/fp16_util.py","file_url":"https://github.com/senp98/wdm/blob/HEAD/wdm/fp16_util.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"30e43bcf12d042b0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}