{"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/learning-unknowns-from-unknowns-diversified","title":"Learning Unknowns from Unknowns: Diversified Negative Prototypes Generator for Few-Shot Open-Set Recognition","arxiv_id":"2408.13373","date":"2024-08-23","proceeding":null,"authors":["Zhenyu Zhang","Guangyao Chen","Yixiong Zou","Yuhua Li","Ruixuan Li"],"abstract":"Few-shot open-set recognition (FSOR) is a challenging task that requires a model to recognize known classes and identify unknown classes with limited labeled data. Existing approaches, particularly Negative-Prototype-Based methods, generate negative prototypes based solely on known class data. However, as the unknown space is infinite while the known space is limited, these methods suffer from limited representation capability. To address this limitation, we propose a novel approach, termed \\textbf{D}iversified \\textbf{N}egative \\textbf{P}rototypes \\textbf{G}enerator (DNPG), which adopts the principle of \"learning unknowns from unknowns.\" Our method leverages the unknown space information learned from base classes to generate more representative negative prototypes for novel classes. During the pre-training phase, we learn the unknown space representation of the base classes. This representation, along with inter-class relationships, is then utilized in the meta-learning process to construct negative prototypes for novel classes. To prevent prototype collapse and ensure adaptability to varying data compositions, we introduce the Swap Alignment (SA) module. Our DNPG model, by learning from the unknown space, generates negative prototypes that cover a broader unknown space, thereby achieving state-of-the-art performance on three standard FSOR datasets.","url_abs":"https://arxiv.org/abs/2408.13373v1","url_pdf":"https://arxiv.org/pdf/2408.13373v1.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":"learning-unknowns-from-unknowns-diversified","repo_url":"https://github.com/icgy96/dnpg","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"meta-learning","task_name":"Meta-Learning"},{"task_slug":"open-set-learning","task_name":"Open Set Learning"}],"methods":[{"method_slug":"base","method_name":"BASE"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2408.13373","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2408.13373"}},"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/icgy96/dnpg","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"ran":1,"unverified":4},"by_repo_kind":{"official":{"samples":6,"ran":2,"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":"fac5364e2f53c6db","entry":"conv3x3","repo":"icgy96/dnpg","repo_kind":"official","path":"architectures/ResNetFeat.py","file_url":"https://github.com/icgy96/dnpg/blob/HEAD/architectures/ResNetFeat.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"66e6fec21aaadc97","entry":"load_labels","repo":"icgy96/dnpg","repo_kind":"official","path":"dataloader/tiered_imagenet.py","file_url":"https://github.com/icgy96/dnpg/blob/HEAD/dataloader/tiered_imagenet.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":"66e6fec21aaadc97"}},{"code_sha256_prefix":"913d82af53065418","entry":"accuracy","repo":"icgy96/dnpg","repo_kind":"official","path":"util.py","file_url":"https://github.com/icgy96/dnpg/blob/HEAD/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"913d82af53065418"}},{"code_sha256_prefix":"b27e965dd18ac464","entry":"conv3x3mtl","repo":"icgy96/dnpg","repo_kind":"official","path":"architectures/ResNetFeat.py","file_url":"https://github.com/icgy96/dnpg/blob/HEAD/architectures/ResNetFeat.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":"b27e965dd18ac464"}},{"code_sha256_prefix":"0e9e2ff70b4dfd3e","entry":"create_feature_extractor","repo":"icgy96/dnpg","repo_kind":"official","path":"architectures/ResNetFeat.py","file_url":"https://github.com/icgy96/dnpg/blob/HEAD/architectures/ResNetFeat.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":"0e9e2ff70b4dfd3e"}},{"code_sha256_prefix":"d9dea59c3ff300c5","entry":"fakeunit_compare","repo":"icgy96/dnpg","repo_kind":"official","path":"architectures/GNetworkPre.py","file_url":"https://github.com/icgy96/dnpg/blob/HEAD/architectures/GNetworkPre.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":"d9dea59c3ff300c5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}