{"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/class-incremental-learning-with-pre-allocated","title":"Class-incremental Learning with Pre-allocated Fixed Classifiers","arxiv_id":"2010.08657","date":"2020-10-16","proceeding":null,"authors":["Federico Pernici","Matteo Bruni","Claudio Baecchi","Francesco Turchini","Alberto del Bimbo"],"abstract":"In class-incremental learning, a learning agent faces a stream of data with the goal of learning new classes while not forgetting previous ones. Neural networks are known to suffer under this setting, as they forget previously acquired knowledge. To address this problem, effective methods exploit past data stored in an episodic memory while expanding the final classifier nodes to accommodate the new classes. In this work, we substitute the expanding classifier with a novel fixed classifier in which a number of pre-allocated output nodes are subject to the classification loss right from the beginning of the learning phase. Contrarily to the standard expanding classifier, this allows: (a) the output nodes of future unseen classes to firstly see negative samples since the beginning of learning together with the positive samples that incrementally arrive; (b) to learn features that do not change their geometric configuration as novel classes are incorporated in the learning model. Experiments with public datasets show that the proposed approach is as effective as the expanding classifier while exhibiting novel intriguing properties of the internal feature representation that are otherwise not-existent. Our ablation study on pre-allocating a large number of classes further validates the approach.","url_abs":"https://arxiv.org/abs/2010.08657v3","url_pdf":"https://arxiv.org/pdf/2010.08657v3.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":"class-incremental-learning-with-pre-allocated","repo_url":"https://github.com/DigiTurk84/class-incremental-polytope","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"class-incremental-learning","task_name":"Class Incremental Learning"},{"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/2010.08657","atlas_url":"https://app.syntology.ai/?focus=2010.08657","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.08657"}},"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/DigiTurk84/class-incremental-polytope","reach":null}],"summary":{"ran_draft_wrong":2,"ran_honours":2,"unverified":2},"by_repo_kind":{"official":{"samples":5,"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":6,"samples":[{"code_sha256_prefix":"8cd77a1869ed8603","entry":"FixedResNet20_cifar","repo":"DigiTurk84/class-incremental-polytope","repo_kind":"official","path":"models/fixed_resnet.py","file_url":"https://github.com/DigiTurk84/class-incremental-polytope/blob/HEAD/models/fixed_resnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"8cd77a1869ed8603"}},{"code_sha256_prefix":"583f9780bdd00a45","entry":"conv3x3","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"583f9780bdd00a45"}},{"code_sha256_prefix":"e966248eb1030e42","entry":"dsimplex","repo":"DigiTurk84/class-incremental-polytope","repo_kind":"official","path":"agents/fixed_agent.py","file_url":"https://github.com/DigiTurk84/class-incremental-polytope/blob/HEAD/agents/fixed_agent.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"e966248eb1030e42"}},{"code_sha256_prefix":"fcda035b90faf101","entry":"polygon2D","repo":"DigiTurk84/class-incremental-polytope","repo_kind":"official","path":"agents/fixed_agent.py","file_url":"https://github.com/DigiTurk84/class-incremental-polytope/blob/HEAD/agents/fixed_agent.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"fcda035b90faf101"}},{"code_sha256_prefix":"dd15bb7acc494a06","entry":"FixedResNet56_cifar","repo":"DigiTurk84/class-incremental-polytope","repo_kind":"official","path":"models/fixed_resnet.py","file_url":"https://github.com/DigiTurk84/class-incremental-polytope/blob/HEAD/models/fixed_resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"dd15bb7acc494a06"}},{"code_sha256_prefix":"776ae01b09676c24","entry":"dcube","repo":"DigiTurk84/class-incremental-polytope","repo_kind":"official","path":"agents/fixed_agent.py","file_url":"https://github.com/DigiTurk84/class-incremental-polytope/blob/HEAD/agents/fixed_agent.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"776ae01b09676c24"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}