{"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/dynamic-residual-classifier-for-class","title":"Dynamic Residual Classifier for Class Incremental Learning","arxiv_id":"2308.13305","date":"2023-08-25","proceeding":"ICCV 2023 1","authors":["Xiuwei Chen","Xiaobin Chang"],"abstract":"The rehearsal strategy is widely used to alleviate the catastrophic forgetting problem in class incremental learning (CIL) by preserving limited exemplars from previous tasks. With imbalanced sample numbers between old and new classes, the classifier learning can be biased. Existing CIL methods exploit the long-tailed (LT) recognition techniques, e.g., the adjusted losses and the data re-sampling methods, to handle the data imbalance issue within each increment task. In this work, the dynamic nature of data imbalance in CIL is shown and a novel Dynamic Residual Classifier (DRC) is proposed to handle this challenging scenario. Specifically, DRC is built upon a recent advance residual classifier with the branch layer merging to handle the model-growing problem. Moreover, DRC is compatible with different CIL pipelines and substantially improves them. Combining DRC with the model adaptation and fusion (MAF) pipeline, this method achieves state-of-the-art results on both the conventional CIL and the LT-CIL benchmarks. Extensive experiments are also conducted for a detailed analysis. The code is publicly available.","url_abs":"https://arxiv.org/abs/2308.13305v1","url_pdf":"https://arxiv.org/pdf/2308.13305v1.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":"dynamic-residual-classifier-for-class","repo_url":"https://github.com/chen-xw/drc-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":"incremental-learning","task_name":"Incremental Learning"},{"task_slug":"class-incremental-learning-1","task_name":"class-incremental learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.13305","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.13305"}},"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/chen-xw/drc-cil","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/G-U-N/ECCV22-FOSTER","reach":null}],"summary":{"ran":7,"ran_honours":1,"ran_draft_wrong":4,"unverified":9},"by_repo_kind":{"official":{"samples":21,"ran":12,"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":21,"samples":[{"code_sha256_prefix":"b120f2c9d259b10d","entry":"BasicBlock","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b120f2c9d259b10d"}},{"code_sha256_prefix":"51093a8658ab4353","entry":"Bottleneck","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"51093a8658ab4353"}},{"code_sha256_prefix":"16f031b34875dbc4","entry":"CifarResNet","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"16f031b34875dbc4"}},{"code_sha256_prefix":"de5434be7eacc33a","entry":"DownsampleA","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"de5434be7eacc33a"}},{"code_sha256_prefix":"6a67a9b4ec870ee4","entry":"Logit_adjustment","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6a67a9b4ec870ee4"}},{"code_sha256_prefix":"f68244225a96dc8d","entry":"ResNetBasicblock","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f68244225a96dc8d"}},{"code_sha256_prefix":"912a99c7a4b1f235","entry":"SimpleLinear","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"912a99c7a4b1f235"}},{"code_sha256_prefix":"49b067de98344fbc","entry":"_KD_loss","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"49b067de98344fbc"}},{"code_sha256_prefix":"09115aafa689d3d8","entry":"conv1x1","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"09115aafa689d3d8"}},{"code_sha256_prefix":"e0295c5753083aba","entry":"conv3x3","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e0295c5753083aba"}},{"code_sha256_prefix":"fad5da438c462a05","entry":"crossEntropy","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fad5da438c462a05"}},{"code_sha256_prefix":"f1278a0a9a202fbf","entry":"resnet32","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f1278a0a9a202fbf"}},{"code_sha256_prefix":"5dc4c08d1db9b246","entry":"BaseLearner","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5dc4c08d1db9b246"}},{"code_sha256_prefix":"c6a1daf0e4d0a2d7","entry":"BaseNet","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c6a1daf0e4d0a2d7"}},{"code_sha256_prefix":"4fa1736adaacf1ae","entry":"MAFDRC_CIFAR","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4fa1736adaacf1ae"}},{"code_sha256_prefix":"51fae9da844f1cc2","entry":"Mafdrc","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"51fae9da844f1cc2"}},{"code_sha256_prefix":"b061e8de41237b72","entry":"ResNet","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b061e8de41237b72"}},{"code_sha256_prefix":"1aaf32537920a5a3","entry":"_resnet","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1aaf32537920a5a3"}},{"code_sha256_prefix":"5b4db26e86013485","entry":"get_convnet","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5b4db26e86013485"}},{"code_sha256_prefix":"d40432696fae90bb","entry":"mkdir_if_missing","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d40432696fae90bb"}},{"code_sha256_prefix":"811051c5958cdae5","entry":"save_checkpoint","repo":"chen-xw/drc-cil","repo_kind":"official","path":"models/mafdrc.py","file_url":"https://github.com/chen-xw/drc-cil/blob/HEAD/models/mafdrc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"811051c5958cdae5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}