{"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/happy-a-debiased-learning-framework-for","title":"Happy: A Debiased Learning Framework for Continual Generalized Category Discovery","arxiv_id":"2410.06535","date":"2024-10-09","proceeding":null,"authors":["Shijie Ma","Fei Zhu","Zhun Zhong","Wenzhuo LIU","Xu-Yao Zhang","Cheng-Lin Liu"],"abstract":"Constantly discovering novel concepts is crucial in evolving environments. This paper explores the underexplored task of Continual Generalized Category Discovery (C-GCD), which aims to incrementally discover new classes from unlabeled data while maintaining the ability to recognize previously learned classes. Although several settings are proposed to study the C-GCD task, they have limitations that do not reflect real-world scenarios. We thus study a more practical C-GCD setting, which includes more new classes to be discovered over a longer period, without storing samples of past classes. In C-GCD, the model is initially trained on labeled data of known classes, followed by multiple incremental stages where the model is fed with unlabeled data containing both old and new classes. The core challenge involves two conflicting objectives: discover new classes and prevent forgetting old ones. We delve into the conflicts and identify that models are susceptible to prediction bias and hardness bias. To address these issues, we introduce a debiased learning framework, namely Happy, characterized by Hardness-aware prototype sampling and soft entropy regularization. For the prediction bias, we first introduce clustering-guided initialization to provide robust features. In addition, we propose soft entropy regularization to assign appropriate probabilities to new classes, which can significantly enhance the clustering performance of new classes. For the harness bias, we present the hardness-aware prototype sampling, which can effectively reduce the forgetting issue for previously seen classes, especially for difficult classes. Experimental results demonstrate our method proficiently manages the conflicts of C-GCD and achieves remarkable performance across various datasets, e.g., 7.5% overall gains on ImageNet-100. Our code is publicly available at https://github.com/mashijie1028/Happy-CGCD.","url_abs":"https://arxiv.org/abs/2410.06535v2","url_pdf":"https://arxiv.org/pdf/2410.06535v2.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":"happy-a-debiased-learning-framework-for","repo_url":"https://github.com/mashijie1028/happy-cgcd","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"novel-concepts","task_name":"Novel Concepts"}],"methods":[{"method_slug":"entropy-regularization","method_name":"Entropy Regularization"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.06535","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.06535"}},"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":"deterministic:regex_extraction","url":"https://github.com/mashijie1028/Happy-CGCD","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mashijie1028/happy-cgcd","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":3,"ran_fixture":3,"ran_draft_wrong":3,"unverified":7},"by_repo_kind":{"official":{"samples":16,"ran":9,"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":"86764d18d325bc37","entry":"DistillLoss","repo":"mashijie1028/happy-cgcd","repo_kind":"official","path":"train_happy.py","file_url":"https://github.com/mashijie1028/happy-cgcd/blob/HEAD/train_happy.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":"86764d18d325bc37"}},{"code_sha256_prefix":"632bc6894a3dd5ef","entry":"compute_prior_old_new_ratio","repo":"mashijie1028/Happy-CGCD","repo_kind":"official","path":"models/utils_simgcd_pro.py","file_url":"https://github.com/mashijie1028/Happy-CGCD/blob/HEAD/models/utils_simgcd_pro.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":"632bc6894a3dd5ef"}},{"code_sha256_prefix":"55120f2026b56aa2","entry":"drop_path","repo":"mashijie1028/Happy-CGCD","repo_kind":"official","path":"models/lora_vision_transformer.py","file_url":"https://github.com/mashijie1028/Happy-CGCD/blob/HEAD/models/lora_vision_transformer.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"55120f2026b56aa2"}},{"code_sha256_prefix":"ec22c16f1e0653f7","entry":"get_params_groups","repo":"mashijie1028/Happy-CGCD","repo_kind":"official","path":"models/utils_simgcd.py","file_url":"https://github.com/mashijie1028/Happy-CGCD/blob/HEAD/models/utils_simgcd.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ec22c16f1e0653f7"}},{"code_sha256_prefix":"b3c2e94d4887d26b","entry":"info_nce_logits","repo":"mashijie1028/Happy-CGCD","repo_kind":"official","path":"models/utils_gcd.py","file_url":"https://github.com/mashijie1028/Happy-CGCD/blob/HEAD/models/utils_gcd.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b3c2e94d4887d26b"}},{"code_sha256_prefix":"7afc6259fa7d9425","entry":"log_accs_from_preds","repo":"mashijie1028/happy-cgcd","repo_kind":"official","path":"train_happy.py","file_url":"https://github.com/mashijie1028/happy-cgcd/blob/HEAD/train_happy.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7afc6259fa7d9425"}},{"code_sha256_prefix":"285f08752cf15565","entry":"split_cluster_acc_v2","repo":"mashijie1028/happy-cgcd","repo_kind":"official","path":"train_happy.py","file_url":"https://github.com/mashijie1028/happy-cgcd/blob/HEAD/train_happy.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"285f08752cf15565"}},{"code_sha256_prefix":"57149724fe52a3ab","entry":"test_online","repo":"mashijie1028/happy-cgcd","repo_kind":"official","path":"train_happy.py","file_url":"https://github.com/mashijie1028/happy-cgcd/blob/HEAD/train_happy.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"57149724fe52a3ab"}},{"code_sha256_prefix":"6322d561ced017bc","entry":"vit_small","repo":"mashijie1028/Happy-CGCD","repo_kind":"official","path":"models/svft_vision_transformer.py","file_url":"https://github.com/mashijie1028/Happy-CGCD/blob/HEAD/models/svft_vision_transformer.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":"6322d561ced017bc"}},{"code_sha256_prefix":"5d78dc81d83bd6e5","entry":"get_kmeans_centroid_for_new_head","repo":"mashijie1028/Happy-CGCD","repo_kind":"official","path":"models/utils_simgcd_pro.py","file_url":"https://github.com/mashijie1028/Happy-CGCD/blob/HEAD/models/utils_simgcd_pro.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":"5d78dc81d83bd6e5"}},{"code_sha256_prefix":"52ca89bb0d0c98aa","entry":"train_online","repo":"mashijie1028/happy-cgcd","repo_kind":"official","path":"train_happy.py","file_url":"https://github.com/mashijie1028/happy-cgcd/blob/HEAD/train_happy.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":"52ca89bb0d0c98aa"}},{"code_sha256_prefix":"995a10f898196998","entry":"vit_small","repo":"mashijie1028/Happy-CGCD","repo_kind":"official","path":"models/vision_transformer.py","file_url":"https://github.com/mashijie1028/Happy-CGCD/blob/HEAD/models/vision_transformer.py","link_basis":"harvester_set","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":"995a10f898196998"}},{"code_sha256_prefix":"d08fbcde9f7f23af","entry":"vit_small","repo":"mashijie1028/Happy-CGCD","repo_kind":"official","path":"models/lora_vision_transformer.py","file_url":"https://github.com/mashijie1028/Happy-CGCD/blob/HEAD/models/lora_vision_transformer.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":"d08fbcde9f7f23af"}},{"code_sha256_prefix":"996780ba4be89ba3","entry":"vit_tiny","repo":"mashijie1028/Happy-CGCD","repo_kind":"official","path":"models/vision_transformer.py","file_url":"https://github.com/mashijie1028/Happy-CGCD/blob/HEAD/models/vision_transformer.py","link_basis":"harvester_set","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":"996780ba4be89ba3"}},{"code_sha256_prefix":"abc2090fa89a2d35","entry":"vit_tiny","repo":"mashijie1028/Happy-CGCD","repo_kind":"official","path":"models/lora_vision_transformer.py","file_url":"https://github.com/mashijie1028/Happy-CGCD/blob/HEAD/models/lora_vision_transformer.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":"abc2090fa89a2d35"}},{"code_sha256_prefix":"92e76c9d03c24769","entry":"vit_tiny","repo":"mashijie1028/Happy-CGCD","repo_kind":"official","path":"models/svft_vision_transformer.py","file_url":"https://github.com/mashijie1028/Happy-CGCD/blob/HEAD/models/svft_vision_transformer.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":"92e76c9d03c24769"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}