{"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/orco-towards-better-generalization-via","title":"OrCo: Towards Better Generalization via Orthogonality and Contrast for Few-Shot Class-Incremental Learning","arxiv_id":"2403.18550","date":"2024-03-27","proceeding":"CVPR 2024 1","authors":["Noor Ahmed","Anna Kukleva","Bernt Schiele"],"abstract":"Few-Shot Class-Incremental Learning (FSCIL) introduces a paradigm in which the problem space expands with limited data. FSCIL methods inherently face the challenge of catastrophic forgetting as data arrives incrementally, making models susceptible to overwriting previously acquired knowledge. Moreover, given the scarcity of labeled samples available at any given time, models may be prone to overfitting and find it challenging to strike a balance between extensive pretraining and the limited incremental data. To address these challenges, we propose the OrCo framework built on two core principles: features' orthogonality in the representation space, and contrastive learning. In particular, we improve the generalization of the embedding space by employing a combination of supervised and self-supervised contrastive losses during the pretraining phase. Additionally, we introduce OrCo loss to address challenges arising from data limitations during incremental sessions. Through feature space perturbations and orthogonality between classes, the OrCo loss maximizes margins and reserves space for the following incremental data. This, in turn, ensures the accommodation of incoming classes in the feature space without compromising previously acquired knowledge. Our experimental results showcase state-of-the-art performance across three benchmark datasets, including mini-ImageNet, CIFAR100, and CUB datasets. Code is available at https://github.com/noorahmedds/OrCo","url_abs":"https://arxiv.org/abs/2403.18550v1","url_pdf":"https://arxiv.org/pdf/2403.18550v1.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":"orco-towards-better-generalization-via","repo_url":"https://github.com/noorahmedds/orco","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":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"few-shot-class-incremental-learning","task_name":"Few-Shot 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/2403.18550","atlas_url":"https://app.syntology.ai/?focus=2403.18550","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.18550"}},"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/noorahmedds/orco","reach":null}],"summary":{"ran":5,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":8,"ran":6,"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":8,"samples":[{"code_sha256_prefix":"f5171a228972e90a","entry":"LinearWarmupCosineAnnealingLR","repo":"noorahmedds/orco","repo_kind":"official","path":"models/orco/Network.py","file_url":"https://github.com/noorahmedds/orco/blob/HEAD/models/orco/Network.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":"f5171a228972e90a"}},{"code_sha256_prefix":"d4eb4b8144de228c","entry":"PseudoTargetClassifier","repo":"noorahmedds/orco","repo_kind":"official","path":"models/orco/Network.py","file_url":"https://github.com/noorahmedds/orco/blob/HEAD/models/orco/Network.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":"d4eb4b8144de228c"}},{"code_sha256_prefix":"7e72bdef3c517288","entry":"ResNet","repo":"noorahmedds/orco","repo_kind":"official","path":"models/orco/Network.py","file_url":"https://github.com/noorahmedds/orco/blob/HEAD/models/orco/Network.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":"7e72bdef3c517288"}},{"code_sha256_prefix":"d1bc6b41aa99d2e1","entry":"ResNet12","repo":"noorahmedds/orco","repo_kind":"official","path":"models/orco/Network.py","file_url":"https://github.com/noorahmedds/orco/blob/HEAD/models/orco/Network.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":"d1bc6b41aa99d2e1"}},{"code_sha256_prefix":"597d8b8ba7223694","entry":"ResNet18","repo":"noorahmedds/orco","repo_kind":"official","path":"models/orco/Network.py","file_url":"https://github.com/noorahmedds/orco/blob/HEAD/models/orco/Network.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"597d8b8ba7223694"}},{"code_sha256_prefix":"ab68005a9f848926","entry":"SupConLoss","repo":"noorahmedds/orco","repo_kind":"official","path":"models/orco/Network.py","file_url":"https://github.com/noorahmedds/orco/blob/HEAD/models/orco/Network.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":"ab68005a9f848926"}},{"code_sha256_prefix":"81ca6b585a18337d","entry":"ORCONET","repo":"noorahmedds/orco","repo_kind":"official","path":"models/orco/Network.py","file_url":"https://github.com/noorahmedds/orco/blob/HEAD/models/orco/Network.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":"81ca6b585a18337d"}},{"code_sha256_prefix":"aaf7c58b99949c40","entry":"resnet12_nc","repo":"noorahmedds/orco","repo_kind":"official","path":"models/orco/Network.py","file_url":"https://github.com/noorahmedds/orco/blob/HEAD/models/orco/Network.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":"aaf7c58b99949c40"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}