{"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/feature-quantization-improves-gan-training","title":"Feature Quantization Improves GAN Training","arxiv_id":"2004.02088","date":"2020-04-05","proceeding":"ICML 2020 1","authors":["Yang Zhao","Chunyuan Li","Ping Yu","Jianfeng Gao","Changyou Chen"],"abstract":"The instability in GAN training has been a long-standing problem despite remarkable research efforts. We identify that instability issues stem from difficulties of performing feature matching with mini-batch statistics, due to a fragile balance between the fixed target distribution and the progressively generated distribution. In this work, we propose Feature Quantization (FQ) for the discriminator, to embed both true and fake data samples into a shared discrete space. The quantized values of FQ are constructed as an evolving dictionary, which is consistent with feature statistics of the recent distribution history. Hence, FQ implicitly enables robust feature matching in a compact space. Our method can be easily plugged into existing GAN models, with little computational overhead in training. We apply FQ to 3 representative GAN models on 9 benchmarks: BigGAN for image generation, StyleGAN for face synthesis, and U-GAT-IT for unsupervised image-to-image translation. Extensive experimental results show that the proposed FQ-GAN can improve the FID scores of baseline methods by a large margin on a variety of tasks, achieving new state-of-the-art performance.","url_abs":"https://arxiv.org/abs/2004.02088v2","url_pdf":"https://arxiv.org/pdf/2004.02088v2.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":"feature-quantization-improves-gan-training","repo_url":"https://github.com/YangNaruto/FQ-GAN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"feature-quantization-improves-gan-training","repo_url":"https://github.com/yangyucheng000/MSpaper/tree/main/U-GAT-IT","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"conditional-image-generation","task_name":"Conditional Image Generation"},{"task_slug":"face-generation","task_name":"Face Generation"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"image-to-image-translation","task_name":"Image-to-Image Translation"},{"task_slug":"quantization","task_name":"Quantization"},{"task_slug":"translation","task_name":"Translation"},{"task_slug":"unsupervised-image-to-image-translation","task_name":"Unsupervised Image-To-Image Translation"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"adaptive-instance-normalization","method_name":"Adaptive Instance Normalization"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"biggan","method_name":"BigGAN"},{"method_slug":"conditional-batch-normalization","method_name":"Conditional Batch Normalization"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"early-stopping","method_name":"Early Stopping"},{"method_slug":"feedforward-network","method_name":"Feedforward Network"},{"method_slug":"feature-matching","method_name":"GAN Feature Matching"},{"method_slug":"gan-hinge-loss","method_name":"GAN Hinge Loss"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"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":"r1-regularization","method_name":"R1 Regularization"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"sagan","method_name":"SAGAN"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"spectral-normalization","method_name":"Spectral Normalization"},{"method_slug":"stylegan","method_name":"StyleGAN"},{"method_slug":"ttur","method_name":"TTUR"},{"method_slug":"truncation-trick","method_name":"Truncation Trick"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/conditional-image-generation-on-cifar-10","task":"Conditional Image Generation","dataset":"CIFAR-10","model":"FQ-GAN","rank_in_archive_order":6,"of":25,"metrics":{"FID":"5.34","Inception score":"8.50"},"uses_additional_data":false},{"leaderboard":"/sota/conditional-image-generation-on-cifar-100","task":"Conditional Image Generation","dataset":"CIFAR-100","model":"FQ-GAN","rank_in_archive_order":2,"of":7,"metrics":{"FID":"7.15","Inception Score":"9.74"},"uses_additional_data":false},{"leaderboard":"/sota/conditional-image-generation-on-imagenet","task":"Conditional Image Generation","dataset":"ImageNet 128x128","model":"FQ-GAN","rank_in_archive_order":17,"of":22,"metrics":{"FID":"13.77","Inception score":"54.36"},"uses_additional_data":false},{"leaderboard":"/sota/conditional-image-generation-on-imagenet-1","task":"Conditional Image Generation","dataset":"ImageNet 64x64","model":"FQ-GAN","rank_in_archive_order":3,"of":4,"metrics":{"FID":"9.67","Inception score":"25.96"},"uses_additional_data":false},{"leaderboard":"/sota/image-generation-on-ffhq-1024-x-1024","task":"Image Generation","dataset":"FFHQ 1024 x 1024","model":"FQ-GAN","rank_in_archive_order":9,"of":20,"metrics":{"FID":"3.19"},"uses_additional_data":false},{"leaderboard":"/sota/image-to-image-translation-on-anime-to-selfie","task":"Image-to-Image Translation","dataset":"anime-to-selfie","model":"FQ-GAN","rank_in_archive_order":1,"of":2,"metrics":{"Kernel Inception Distance":"10.23"},"uses_additional_data":false},{"leaderboard":"/sota/image-to-image-translation-on-selfie-to-anime","task":"Image-to-Image Translation","dataset":"selfie-to-anime","model":"FQ-GAN","rank_in_archive_order":1,"of":2,"metrics":{"Kernel Inception Distance":"11.40"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2004.02088","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2004.02088"}},"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/YangNaruto/FQ-GAN","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/taki0112/UGATIT","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yangyucheng000/MSpaper/tree/main/U-GAT-IT","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":1,"unverified":3},"by_repo_kind":{"official":{"samples":1,"ran":1,"repositories":1},"found_in_text":{"samples":3,"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":1,"samples":[{"code_sha256_prefix":"0be995ce42c516e0","entry":"Quantize","repo":"YangNaruto/FQ-GAN","repo_kind":"official","path":"FQ-BigGAN/vq_layer.py","file_url":"https://github.com/YangNaruto/FQ-GAN/blob/HEAD/FQ-BigGAN/vq_layer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"none","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0be995ce42c516e0"}},{"code_sha256_prefix":"76abd03df3e34279","entry":"augmentation","repo":"taki0112/UGATIT","repo_kind":"found_in_text","path":"utils.py","file_url":"https://github.com/taki0112/UGATIT/blob/HEAD/utils.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":"76abd03df3e34279"}},{"code_sha256_prefix":"dcce1222c3697159","entry":"load_test_data","repo":"taki0112/UGATIT","repo_kind":"found_in_text","path":"utils.py","file_url":"https://github.com/taki0112/UGATIT/blob/HEAD/utils.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":"dcce1222c3697159"}},{"code_sha256_prefix":"dfa35c437d3cf0d5","entry":"save_images","repo":"taki0112/UGATIT","repo_kind":"found_in_text","path":"utils.py","file_url":"https://github.com/taki0112/UGATIT/blob/HEAD/utils.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":"dfa35c437d3cf0d5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}