{"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/logan-latent-optimisation-for-generative-1","title":"LOGAN: Latent Optimisation for Generative Adversarial Networks","arxiv_id":"1912.00953","date":"2019-12-02","proceeding":null,"authors":["Yan Wu","Jeff Donahue","David Balduzzi","Karen Simonyan","Timothy Lillicrap"],"abstract":"Training generative adversarial networks requires balancing of delicate adversarial dynamics. Even with careful tuning, training may diverge or end up in a bad equilibrium with dropped modes. In this work, we improve CS-GAN with natural gradient-based latent optimisation and show that it improves adversarial dynamics by enhancing interactions between the discriminator and the generator. Our experiments demonstrate that latent optimisation can significantly improve GAN training, obtaining state-of-the-art performance for the ImageNet ($128 \\times 128$) dataset. Our model achieves an Inception Score (IS) of $148$ and an Fr\\'echet Inception Distance (FID) of $3.4$, an improvement of $17\\%$ and $32\\%$ in IS and FID respectively, compared with the baseline BigGAN-deep model with the same architecture and number of parameters.","url_abs":"https://arxiv.org/abs/1912.00953v2","url_pdf":"https://arxiv.org/pdf/1912.00953v2.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":"logan-latent-optimisation-for-generative-1","repo_url":"https://github.com/Hosein47/LOGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"conditional-image-generation","task_name":"Conditional Image Generation"},{"task_slug":"image-generation","task_name":"Image Generation"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"biggan-deep","method_name":"BigGAN-deep"},{"method_slug":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"cs-gan","method_name":"CS-GAN"},{"method_slug":"conditional-batch-normalization","method_name":"Conditional Batch Normalization"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dcgan","method_name":"DCGAN"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"early-stopping","method_name":"Early Stopping"},{"method_slug":"euclidean-norm-regularization","method_name":"Euclidean Norm Regularization"},{"method_slug":"feedforward-network","method_name":"Feedforward Network"},{"method_slug":"gan-hinge-loss","method_name":"GAN Hinge Loss"},{"method_slug":"logan","method_name":"LOGAN"},{"method_slug":"latent-optimisation","method_name":"Latent Optimisation"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"natural-gradient-descent","method_name":"Natural Gradient Descent"},{"method_slug":"non-local-block","method_name":"Non-Local Block"},{"method_slug":"non-local-operation","method_name":"Non-Local Operation"},{"method_slug":"off-diagonal-orthogonal-regularization","method_name":"Off-Diagonal Orthogonal Regularization"},{"method_slug":"projection-discriminator","method_name":"Projection Discriminator"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"sagan","method_name":"SAGAN"},{"method_slug":"sngan","method_name":"SNGAN"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"spectral-normalization","method_name":"Spectral Normalization"},{"method_slug":"ttur","method_name":"TTUR"},{"method_slug":"truncation-trick","method_name":"Truncation Trick"}],"datasets_introduced":[],"methods_introduced":[{"slug":"logan","name":"LOGAN","full_name":"LOGAN"}],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1912.00953","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1912.00953"}},"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/Hosein47/LOGAN","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"ran_violates":1,"unverified":6},"by_repo_kind":{"listed":{"samples":8,"ran":2,"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":"c41836f3e51fa8f1","entry":"gram_schmidt","repo":"Hosein47/LOGAN","repo_kind":"listed","path":"layers.py","file_url":"https://github.com/Hosein47/LOGAN/blob/HEAD/layers.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":"c41836f3e51fa8f1"}},{"code_sha256_prefix":"7605747352b4495c","entry":"loss_hinge_gen","repo":"Hosein47/LOGAN","repo_kind":"listed","path":"train_fns.py","file_url":"https://github.com/Hosein47/LOGAN/blob/HEAD/train_fns.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7605747352b4495c"}},{"code_sha256_prefix":"309aeb80c99e8f61","entry":"fn_lognorm","repo":"Hosein47/LOGAN","repo_kind":"listed","path":"dataset.py","file_url":"https://github.com/Hosein47/LOGAN/blob/HEAD/dataset.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":"309aeb80c99e8f61"}},{"code_sha256_prefix":"185a5b97e28b1c3e","entry":"load_dataset","repo":"Hosein47/LOGAN","repo_kind":"listed","path":"dataset.py","file_url":"https://github.com/Hosein47/LOGAN/blob/HEAD/dataset.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":"185a5b97e28b1c3e"}},{"code_sha256_prefix":"290cd37ab0098d5c","entry":"loss_hinge_dis","repo":"Hosein47/LOGAN","repo_kind":"listed","path":"train_fns.py","file_url":"https://github.com/Hosein47/LOGAN/blob/HEAD/train_fns.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":"290cd37ab0098d5c"}},{"code_sha256_prefix":"28d3a35157f2916d","entry":"power_iteration","repo":"Hosein47/LOGAN","repo_kind":"listed","path":"layers.py","file_url":"https://github.com/Hosein47/LOGAN/blob/HEAD/layers.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":"28d3a35157f2916d"}},{"code_sha256_prefix":"4015ab1f3ab9b881","entry":"proj","repo":"Hosein47/LOGAN","repo_kind":"listed","path":"layers.py","file_url":"https://github.com/Hosein47/LOGAN/blob/HEAD/layers.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":"4015ab1f3ab9b881"}},{"code_sha256_prefix":"453e0945830d7ab3","entry":"trunc_trick","repo":"Hosein47/LOGAN","repo_kind":"listed","path":"sample.py","file_url":"https://github.com/Hosein47/LOGAN/blob/HEAD/sample.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":"453e0945830d7ab3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}