{"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/generative-feature-replay-for-class","title":"Generative Feature Replay For Class-Incremental Learning","arxiv_id":"2004.09199","date":"2020-04-20","proceeding":null,"authors":["Xialei Liu","Chenshen Wu","Mikel Menta","Luis Herranz","Bogdan Raducanu","Andrew D. Bagdanov","Shangling Jui","Joost Van de Weijer"],"abstract":"Humans are capable of learning new tasks without forgetting previous ones, while neural networks fail due to catastrophic forgetting between new and previously-learned tasks. We consider a class-incremental setting which means that the task-ID is unknown at inference time. The imbalance between old and new classes typically results in a bias of the network towards the newest ones. This imbalance problem can either be addressed by storing exemplars from previous tasks, or by using image replay methods. However, the latter can only be applied to toy datasets since image generation for complex datasets is a hard problem. We propose a solution to the imbalance problem based on generative feature replay which does not require any exemplars. To do this, we split the network into two parts: a feature extractor and a classifier. To prevent forgetting, we combine generative feature replay in the classifier with feature distillation in the feature extractor. Through feature generation, our method reduces the complexity of generative replay and prevents the imbalance problem. Our approach is computationally efficient and scalable to large datasets. Experiments confirm that our approach achieves state-of-the-art results on CIFAR-100 and ImageNet, while requiring only a fraction of the storage needed for exemplar-based continual learning. Code available at \\url{https://github.com/xialeiliu/GFR-IL}.","url_abs":"https://arxiv.org/abs/2004.09199v1","url_pdf":"https://arxiv.org/pdf/2004.09199v1.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":"generative-feature-replay-for-class","repo_url":"https://github.com/xialeiliu/GFR-IL","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"class-incremental-learning","task_name":"Class Incremental Learning"},{"task_slug":"continual-learning","task_name":"Continual Learning"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"incremental-learning","task_name":"Incremental Learning"},{"task_slug":"class-incremental-learning-1","task_name":"class-incremental learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2004.09199","atlas_url":"https://app.syntology.ai/?focus=2004.09199","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2004.09199"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/xialeiliu/GFR-IL","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_violates":1,"ran":2,"unverified":4},"by_repo_kind":{"official":{"samples":7,"ran":3,"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":"c556c4f841693abe","entry":"has_file_allowed_extension","repo":"xialeiliu/GFR-IL","repo_kind":"official","path":"ImageFolder.py","file_url":"https://github.com/xialeiliu/GFR-IL/blob/HEAD/ImageFolder.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c556c4f841693abe"}},{"code_sha256_prefix":"fd3e172d9a07b079","entry":"make_dataset","repo":"xialeiliu/GFR-IL","repo_kind":"official","path":"ImageFolder.py","file_url":"https://github.com/xialeiliu/GFR-IL/blob/HEAD/ImageFolder.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fd3e172d9a07b079"}},{"code_sha256_prefix":"7568abe0c22976e8","entry":"orth_reg","repo":"xialeiliu/GFR-IL","repo_kind":"official","path":"utils/orthogonal_regularizaton.py","file_url":"https://github.com/xialeiliu/GFR-IL/blob/HEAD/utils/orthogonal_regularizaton.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7568abe0c22976e8"}},{"code_sha256_prefix":"f927f023b7b44333","entry":"extract_features","repo":"xialeiliu/GFR-IL","repo_kind":"official","path":"evaluations/extract_featrure.py","file_url":"https://github.com/xialeiliu/GFR-IL/blob/HEAD/evaluations/extract_featrure.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":"f927f023b7b44333"}},{"code_sha256_prefix":"8bed79dc818c384a","entry":"extract_features_classification","repo":"xialeiliu/GFR-IL","repo_kind":"official","path":"evaluations/extract_featrure.py","file_url":"https://github.com/xialeiliu/GFR-IL/blob/HEAD/evaluations/extract_featrure.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":"8bed79dc818c384a"}},{"code_sha256_prefix":"f5510162ccebc03a","entry":"is_image_file","repo":"xialeiliu/GFR-IL","repo_kind":"official","path":"ImageFolder.py","file_url":"https://github.com/xialeiliu/GFR-IL/blob/HEAD/ImageFolder.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":"f5510162ccebc03a"}},{"code_sha256_prefix":"dc8447245f2d88f1","entry":"pairwise_distance","repo":"xialeiliu/GFR-IL","repo_kind":"official","path":"evaluations/extract_featrure.py","file_url":"https://github.com/xialeiliu/GFR-IL/blob/HEAD/evaluations/extract_featrure.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":"dc8447245f2d88f1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}