{"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/unifying-gans-and-score-based-diffusion-as","title":"Unifying GANs and Score-Based Diffusion as Generative Particle Models","arxiv_id":"2305.16150","date":"2023-05-25","proceeding":"NeurIPS 2023 11","authors":["Jean-Yves Franceschi","Mike Gartrell","Ludovic Dos Santos","Thibaut Issenhuth","Emmanuel de Bézenac","Mickaël Chen","Alain Rakotomamonjy"],"abstract":"Particle-based deep generative models, such as gradient flows and score-based diffusion models, have recently gained traction thanks to their striking performance. Their principle of displacing particle distributions using differential equations is conventionally seen as opposed to the previously widespread generative adversarial networks (GANs), which involve training a pushforward generator network. In this paper we challenge this interpretation, and propose a novel framework that unifies particle and adversarial generative models by framing generator training as a generalization of particle models. This suggests that a generator is an optional addition to any such generative model. Consequently, integrating a generator into a score-based diffusion model and training a GAN without a generator naturally emerge from our framework. We empirically test the viability of these original models as proofs of concepts of potential applications of our framework.","url_abs":"https://arxiv.org/abs/2305.16150v3","url_pdf":"https://arxiv.org/pdf/2305.16150v3.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":"unifying-gans-and-score-based-diffusion-as","repo_url":"https://github.com/white-link/gpm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2305.16150","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.16150"}},"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/white-link/gpm","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"ran":0,"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":"5a7bd9424ed92fb0","entry":"compute_fid","repo":"white-link/gpm","repo_kind":"official","path":"gpm/eval/metrics.py","file_url":"https://github.com/white-link/gpm/blob/HEAD/gpm/eval/metrics.py","link_basis":"first_harvest_node","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":"5a7bd9424ed92fb0"}},{"code_sha256_prefix":"87e9c9bfc14235b9","entry":"g_clerp","repo":"white-link/gpm","repo_kind":"official","path":"gpm/eval/interpolate.py","file_url":"https://github.com/white-link/gpm/blob/HEAD/gpm/eval/interpolate.py","link_basis":"first_harvest_node","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":"87e9c9bfc14235b9"}},{"code_sha256_prefix":"07f1a716d5ac2128","entry":"is_flat","repo":"white-link/gpm","repo_kind":"official","path":"gpm/eval/quali.py","file_url":"https://github.com/white-link/gpm/blob/HEAD/gpm/eval/quali.py","link_basis":"first_harvest_node","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":"07f1a716d5ac2128"}},{"code_sha256_prefix":"e5f9922e55475f5d","entry":"is_image","repo":"white-link/gpm","repo_kind":"official","path":"gpm/eval/quali.py","file_url":"https://github.com/white-link/gpm/blob/HEAD/gpm/eval/quali.py","link_basis":"first_harvest_node","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":"e5f9922e55475f5d"}},{"code_sha256_prefix":"cc38a3ddf551c4f9","entry":"lerp","repo":"white-link/gpm","repo_kind":"official","path":"gpm/eval/interpolate.py","file_url":"https://github.com/white-link/gpm/blob/HEAD/gpm/eval/interpolate.py","link_basis":"first_harvest_node","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":"cc38a3ddf551c4f9"}},{"code_sha256_prefix":"2974e81cc67c0a55","entry":"slerp","repo":"white-link/gpm","repo_kind":"official","path":"gpm/eval/interpolate.py","file_url":"https://github.com/white-link/gpm/blob/HEAD/gpm/eval/interpolate.py","link_basis":"first_harvest_node","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":"2974e81cc67c0a55"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}