{"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-multi-modal-models-are-good-class","title":"Generative Multi-modal Models are Good Class-Incremental Learners","arxiv_id":"2403.18383","date":"2024-03-27","proceeding":null,"authors":["Xusheng Cao","Haori Lu","Linlan Huang","Xialei Liu","Ming-Ming Cheng"],"abstract":"In class-incremental learning (CIL) scenarios, the phenomenon of catastrophic forgetting caused by the classifier's bias towards the current task has long posed a significant challenge. It is mainly caused by the characteristic of discriminative models. With the growing popularity of the generative multi-modal models, we would explore replacing discriminative models with generative ones for CIL. However, transitioning from discriminative to generative models requires addressing two key challenges. The primary challenge lies in transferring the generated textual information into the classification of distinct categories. Additionally, it requires formulating the task of CIL within a generative framework. To this end, we propose a novel generative multi-modal model (GMM) framework for class-incremental learning. Our approach directly generates labels for images using an adapted generative model. After obtaining the detailed text, we use a text encoder to extract text features and employ feature matching to determine the most similar label as the classification prediction. In the conventional CIL settings, we achieve significantly better results in long-sequence task scenarios. Under the Few-shot CIL setting, we have improved by at least 14\\% accuracy over all the current state-of-the-art methods with significantly less forgetting. Our code is available at \\url{https://github.com/DoubleClass/GMM}.","url_abs":"https://arxiv.org/abs/2403.18383v1","url_pdf":"https://arxiv.org/pdf/2403.18383v1.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-multi-modal-models-are-good-class","repo_url":"https://github.com/doubleclass/gmm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"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=2403.18383","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.18383"}},"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/doubleclass/gmm","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/DoubleClass/GMM","reach":{"status":"ok"}}],"summary":{"ran_violates":1,"ran":5,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":9,"ran":7,"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":9,"samples":[{"code_sha256_prefix":"4cb732f513d69dfd","entry":"disabled_train","repo":"DoubleClass/GMM","repo_kind":"official","path":"minigpt4/models/blip2.py","file_url":"https://github.com/DoubleClass/GMM/blob/HEAD/minigpt4/models/blip2.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4cb732f513d69dfd"}},{"code_sha256_prefix":"1e44d7843ade1f71","entry":"get_class_order","repo":"DoubleClass/GMM","repo_kind":"official","path":"clip_base/utils.py","file_url":"https://github.com/DoubleClass/GMM/blob/HEAD/clip_base/utils.py","link_basis":"harvester_set","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":"1e44d7843ade1f71"}},{"code_sha256_prefix":"76df56e117e99f9e","entry":"get_dataset_class_names","repo":"DoubleClass/GMM","repo_kind":"official","path":"clip_base/utils.py","file_url":"https://github.com/DoubleClass/GMM/blob/HEAD/clip_base/utils.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":"76df56e117e99f9e"}},{"code_sha256_prefix":"4ea5ee649d6d813f","entry":"get_ordered_class_name","repo":"DoubleClass/GMM","repo_kind":"official","path":"clip_base/utils.py","file_url":"https://github.com/DoubleClass/GMM/blob/HEAD/clip_base/utils.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":"4ea5ee649d6d813f"}},{"code_sha256_prefix":"f0dc3407c706e0ac","entry":"make_zero_conv","repo":"DoubleClass/GMM","repo_kind":"official","path":"clip_base/my_clip.py","file_url":"https://github.com/DoubleClass/GMM/blob/HEAD/clip_base/my_clip.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":"f0dc3407c706e0ac"}},{"code_sha256_prefix":"cb33571427334815","entry":"tile","repo":"DoubleClass/GMM","repo_kind":"official","path":"minigpt4/models/base_model.py","file_url":"https://github.com/DoubleClass/GMM/blob/HEAD/minigpt4/models/base_model.py","link_basis":"harvester_set","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":"cb33571427334815"}},{"code_sha256_prefix":"129b804760b3115f","entry":"zero_module","repo":"DoubleClass/GMM","repo_kind":"official","path":"clip_base/my_clip.py","file_url":"https://github.com/DoubleClass/GMM/blob/HEAD/clip_base/my_clip.py","link_basis":"harvester_set","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":"129b804760b3115f"}},{"code_sha256_prefix":"0ec9fc2025c16f65","entry":"all_gather_with_grad","repo":"DoubleClass/GMM","repo_kind":"official","path":"minigpt4/models/base_model.py","file_url":"https://github.com/DoubleClass/GMM/blob/HEAD/minigpt4/models/base_model.py","link_basis":"harvester_set","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":"0ec9fc2025c16f65"}},{"code_sha256_prefix":"49ff3519834529f3","entry":"conv_nd","repo":"DoubleClass/GMM","repo_kind":"official","path":"clip_base/my_clip.py","file_url":"https://github.com/DoubleClass/GMM/blob/HEAD/clip_base/my_clip.py","link_basis":"plan_row","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":"49ff3519834529f3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}