{"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/essentials-for-class-incremental-learning-1","title":"Essentials for Class Incremental Learning","arxiv_id":"2102.09517","date":"2021-02-18","proceeding":null,"authors":["Sudhanshu Mittal","Silvio Galesso","Thomas Brox"],"abstract":"Contemporary neural networks are limited in their ability to learn from evolving streams of training data. When trained sequentially on new or evolving tasks, their accuracy drops sharply, making them unsuitable for many real-world applications. In this work, we shed light on the causes of this well-known yet unsolved phenomenon - often referred to as catastrophic forgetting - in a class-incremental setup. We show that a combination of simple components and a loss that balances intra-task and inter-task learning can already resolve forgetting to the same extent as more complex measures proposed in literature. Moreover, we identify poor quality of the learned representation as another reason for catastrophic forgetting in class-IL. We show that performance is correlated with secondary class information (dark knowledge) learned by the model and it can be improved by an appropriate regularizer. With these lessons learned, class-incremental learning results on CIFAR-100 and ImageNet improve over the state-of-the-art by a large margin, while keeping the approach simple.","url_abs":"https://arxiv.org/abs/2102.09517v1","url_pdf":"https://arxiv.org/pdf/2102.09517v1.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":"essentials-for-class-incremental-learning-1","repo_url":"https://github.com/sud0301/essentials_for_CIL","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"class-incremental-learning","task_name":"Class Incremental Learning"},{"task_slug":"continual-learning","task_name":"Continual 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":[{"leaderboard":"/sota/incremental-learning-on-cifar-100-50-classes-2","task":"Incremental Learning","dataset":"CIFAR-100 - 50 classes + 10 steps of 5 classes","model":"CCIL-SD","rank_in_archive_order":8,"of":13,"metrics":{"Average Incremental Accuracy":"65.86"},"uses_additional_data":false},{"leaderboard":"/sota/incremental-learning-on-cifar-100-50-classes-3","task":"Incremental Learning","dataset":"CIFAR-100 - 50 classes + 5 steps of 10 classes","model":"CCIL-SD","rank_in_archive_order":8,"of":15,"metrics":{"Average Incremental Accuracy":"67.17"},"uses_additional_data":false},{"leaderboard":"/sota/incremental-learning-on-imagenet-500-classes-1","task":"Incremental Learning","dataset":"ImageNet - 500 classes + 5 steps of 100 classes","model":"CCIL-SD","rank_in_archive_order":2,"of":4,"metrics":{"Average Incremental Accuracy":"68.04"},"uses_additional_data":false},{"leaderboard":"/sota/incremental-learning-on-imagenet-100-50-2","task":"Incremental Learning","dataset":"ImageNet-100 - 50 classes + 10 steps of 5 classes","model":"CCIL-SD","rank_in_archive_order":4,"of":5,"metrics":{"Average Incremental Accuracy":"76.77"},"uses_additional_data":false},{"leaderboard":"/sota/incremental-learning-on-imagenet-100-50-3","task":"Incremental Learning","dataset":"ImageNet-100 - 50 classes + 5 steps of 10 classes","model":"CCIL-SD","rank_in_archive_order":3,"of":5,"metrics":{"Average Incremental Accuracy":"79.44"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2102.09517","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2102.09517"}},"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/sud0301/essentials_for_CIL","reach":null}],"summary":{"ran_violates":1},"by_repo_kind":{"official":{"samples":1,"ran":1,"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":"f52ea76d9f136ff3","entry":"combine_dataset_with_exemplars","repo":"sud0301/essentials_for_CIL","repo_kind":"official","path":"main_imagenet.py","file_url":"https://github.com/sud0301/essentials_for_CIL/blob/HEAD/main_imagenet.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f52ea76d9f136ff3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}