{"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/a-characteristic-function-approach-to-deep","title":"A Characteristic Function Approach to Deep Implicit Generative Modeling","arxiv_id":"1909.07425","date":"2019-09-16","proceeding":"CVPR 2020 6","authors":["Abdul Fatir Ansari","Jonathan Scarlett","Harold Soh"],"abstract":"Implicit Generative Models (IGMs) such as GANs have emerged as effective data-driven models for generating samples, particularly images. In this paper, we formulate the problem of learning an IGM as minimizing the expected distance between characteristic functions. Specifically, we minimize the distance between characteristic functions of the real and generated data distributions under a suitably-chosen weighting distribution. This distance metric, which we term as the characteristic function distance (CFD), can be (approximately) computed with linear time-complexity in the number of samples, in contrast with the quadratic-time Maximum Mean Discrepancy (MMD). By replacing the discrepancy measure in the critic of a GAN with the CFD, we obtain a model that is simple to implement and stable to train. The proposed metric enjoys desirable theoretical properties including continuity and differentiability with respect to generator parameters, and continuity in the weak topology. We further propose a variation of the CFD in which the weighting distribution parameters are also optimized during training; this obviates the need for manual tuning, and leads to an improvement in test power relative to CFD. We demonstrate experimentally that our proposed method outperforms WGAN and MMD-GAN variants on a variety of unsupervised image generation benchmarks.","url_abs":"https://arxiv.org/abs/1909.07425v2","url_pdf":"https://arxiv.org/pdf/1909.07425v2.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":"a-characteristic-function-approach-to-deep","repo_url":"https://github.com/crslab/OCFGAN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"image-generation","task_name":"Image Generation"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"wgan","method_name":"WGAN"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1909.07425","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1909.07425"}},"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/crslab/OCFGAN","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":12},"by_repo_kind":{"official":{"samples":12,"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":"6bd64cdb12ca82b6","entry":"conv_sizes","repo":"crslab/OCFGAN","repo_kind":"official","path":"src/networks.py","file_url":"https://github.com/crslab/OCFGAN/blob/HEAD/src/networks.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":"6bd64cdb12ca82b6"}},{"code_sha256_prefix":"67536e62bea58293","entry":"download","repo":"crslab/OCFGAN","repo_kind":"official","path":"download.py","file_url":"https://github.com/crslab/OCFGAN/blob/HEAD/download.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":"67536e62bea58293"}},{"code_sha256_prefix":"5bd7bf186d32335f","entry":"gallery","repo":"crslab/OCFGAN","repo_kind":"official","path":"src/util.py","file_url":"https://github.com/crslab/OCFGAN/blob/HEAD/src/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":"5bd7bf186d32335f"}},{"code_sha256_prefix":"ad873fe6f3ce814d","entry":"gaussian_ecfd","repo":"crslab/OCFGAN","repo_kind":"official","path":"src/ecfd.py","file_url":"https://github.com/crslab/OCFGAN/blob/HEAD/src/ecfd.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":"ad873fe6f3ce814d"}},{"code_sha256_prefix":"135b3dc835ffe6ad","entry":"get_confirm_token","repo":"crslab/OCFGAN","repo_kind":"official","path":"download.py","file_url":"https://github.com/crslab/OCFGAN/blob/HEAD/download.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":"135b3dc835ffe6ad"}},{"code_sha256_prefix":"82c582e06818012f","entry":"get_dataset","repo":"crslab/OCFGAN","repo_kind":"official","path":"src/datasets.py","file_url":"https://github.com/crslab/OCFGAN/blob/HEAD/src/datasets.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":"82c582e06818012f"}},{"code_sha256_prefix":"6a54e18e9e479881","entry":"grad_norm","repo":"crslab/OCFGAN","repo_kind":"official","path":"src/networks.py","file_url":"https://github.com/crslab/OCFGAN/blob/HEAD/src/networks.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":"6a54e18e9e479881"}},{"code_sha256_prefix":"5fff86ff937930aa","entry":"is_image_file","repo":"crslab/OCFGAN","repo_kind":"official","path":"src/datasets.py","file_url":"https://github.com/crslab/OCFGAN/blob/HEAD/src/datasets.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":"5fff86ff937930aa"}},{"code_sha256_prefix":"e0abbd30d2c90acf","entry":"laplace_ecfd","repo":"crslab/OCFGAN","repo_kind":"official","path":"src/ecfd.py","file_url":"https://github.com/crslab/OCFGAN/blob/HEAD/src/ecfd.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":"e0abbd30d2c90acf"}},{"code_sha256_prefix":"6947b5517bf45bff","entry":"load_img","repo":"crslab/OCFGAN","repo_kind":"official","path":"src/datasets.py","file_url":"https://github.com/crslab/OCFGAN/blob/HEAD/src/datasets.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":"6947b5517bf45bff"}},{"code_sha256_prefix":"e02170376a355a41","entry":"sanitize_images","repo":"crslab/OCFGAN","repo_kind":"official","path":"src/util.py","file_url":"https://github.com/crslab/OCFGAN/blob/HEAD/src/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":"e02170376a355a41"}},{"code_sha256_prefix":"f2d81bce836f2454","entry":"studentT_ecfd","repo":"crslab/OCFGAN","repo_kind":"official","path":"src/ecfd.py","file_url":"https://github.com/crslab/OCFGAN/blob/HEAD/src/ecfd.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":"f2d81bce836f2454"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}