{"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/pcevolve-private-contrastive-evolution-for","title":"PCEvolve: Private Contrastive Evolution for Synthetic Dataset Generation via Few-Shot Private Data and Generative APIs","arxiv_id":"2506.05407","date":"2025-06-04","proceeding":null,"authors":["Jianqing Zhang","Yang Liu","Jie Fu","Yang Hua","Tianyuan Zou","Jian Cao","Qiang Yang"],"abstract":"The rise of generative APIs has fueled interest in privacy-preserving synthetic data generation. While the Private Evolution (PE) algorithm generates Differential Privacy (DP) synthetic images using diffusion model APIs, it struggles with few-shot private data due to the limitations of its DP-protected similarity voting approach. In practice, the few-shot private data challenge is particularly prevalent in specialized domains like healthcare and industry. To address this challenge, we propose a novel API-assisted algorithm, Private Contrastive Evolution (PCEvolve), which iteratively mines inherent inter-class contrastive relationships in few-shot private data beyond individual data points and seamlessly integrates them into an adapted Exponential Mechanism (EM) to optimize DP's utility in an evolution loop. We conduct extensive experiments on four specialized datasets, demonstrating that PCEvolve outperforms PE and other API-assisted baselines. These results highlight the potential of leveraging API access with private data for quality evaluation, enabling the generation of high-quality DP synthetic images and paving the way for more accessible and effective privacy-preserving generative API applications. Our code is available at https://github.com/TsingZ0/PCEvolve.","url_abs":"https://arxiv.org/abs/2506.05407v1","url_pdf":"https://arxiv.org/pdf/2506.05407v1.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":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"pcevolve-private-contrastive-evolution-for","repo_url":"https://github.com/tsingz0/pcevolve","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2506.05407","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2506.05407"}},"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":"deterministic:regex_extraction","url":"https://github.com/TsingZ0/PCEvolve","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tsingz0/pcevolve","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_honours":1,"unverified":4},"by_repo_kind":{"official":{"samples":5,"ran":1,"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":"417018913135e19a","entry":"psnr","repo":"TsingZ0/PCEvolve","repo_kind":"official","path":"algo/client/ClientBase.py","file_url":"https://github.com/TsingZ0/PCEvolve/blob/HEAD/algo/client/ClientBase.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"417018913135e19a"}},{"code_sha256_prefix":"7a2b44c6becbae49","entry":"get_clip","repo":"TsingZ0/PCEvolve","repo_kind":"official","path":"models/clip.py","file_url":"https://github.com/TsingZ0/PCEvolve/blob/HEAD/models/clip.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":"7a2b44c6becbae49"}},{"code_sha256_prefix":"b48954316c289809","entry":"get_inception","repo":"TsingZ0/PCEvolve","repo_kind":"official","path":"models/inception.py","file_url":"https://github.com/TsingZ0/PCEvolve/blob/HEAD/models/inception.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":"b48954316c289809"}},{"code_sha256_prefix":"ce37aade325b9f3d","entry":"get_resnet","repo":"TsingZ0/PCEvolve","repo_kind":"official","path":"models/resnets.py","file_url":"https://github.com/TsingZ0/PCEvolve/blob/HEAD/models/resnets.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":"ce37aade325b9f3d"}},{"code_sha256_prefix":"cf84baedab9d5b62","entry":"get_vit","repo":"TsingZ0/PCEvolve","repo_kind":"official","path":"models/vits.py","file_url":"https://github.com/TsingZ0/PCEvolve/blob/HEAD/models/vits.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":"cf84baedab9d5b62"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}