{"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/fs-ban-born-again-networks-for-domain","title":"FS-BAN: Born-Again Networks for Domain Generalization Few-Shot Classification","arxiv_id":"2208.10930","date":"2022-08-23","proceeding":null,"authors":["Yunqing Zhao","Ngai-Man Cheung"],"abstract":"Conventional Few-shot classification (FSC) aims to recognize samples from novel classes given limited labeled data. Recently, domain generalization FSC (DG-FSC) has been proposed with the goal to recognize novel class samples from unseen domains. DG-FSC poses considerable challenges to many models due to the domain shift between base classes (used in training) and novel classes (encountered in evaluation). In this work, we make two novel contributions to tackle DG-FSC. Our first contribution is to propose Born-Again Network (BAN) episodic training and comprehensively investigate its effectiveness for DG-FSC. As a specific form of knowledge distillation, BAN has been shown to achieve improved generalization in conventional supervised classification with a closed-set setup. This improved generalization motivates us to study BAN for DG-FSC, and we show that BAN is promising to address the domain shift encountered in DG-FSC. Building on the encouraging findings, our second (major) contribution is to propose Few-Shot BAN (FS-BAN), a novel BAN approach for DG-FSC. Our proposed FS-BAN includes novel multi-task learning objectives: Mutual Regularization, Mismatched Teacher, and Meta-Control Temperature, each of these is specifically designed to overcome central and unique challenges in DG-FSC, namely overfitting and domain discrepancy. We analyze different design choices of these techniques. We conduct comprehensive quantitative and qualitative analysis and evaluation over six datasets and three baseline models. The results suggest that our proposed FS-BAN consistently improves the generalization performance of baseline models and achieves state-of-the-art accuracy for DG-FSC. Project Page: https://yunqing-me.github.io/Born-Again-FS/.","url_abs":"https://arxiv.org/abs/2208.10930v4","url_pdf":"https://arxiv.org/pdf/2208.10930v4.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":"fs-ban-born-again-networks-for-domain","repo_url":"https://github.com/yunqing-me/Born-Again-FS","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"domain-generalization","task_name":"Domain Generalization"},{"task_slug":"knowledge-distillation","task_name":"Knowledge Distillation"},{"task_slug":"multi-task-learning","task_name":"Multi-Task Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2208.10930","atlas_url":"https://app.syntology.ai/?focus=2208.10930","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2208.10930"}},"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/yunqing-me/Born-Again-FS","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"ran_draft_wrong":1,"unverified":5},"by_repo_kind":{"official":{"samples":14,"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":"c43e6e5f82ef6a4c","entry":"DBindex","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/utils.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/utils.py","link_basis":"harvester_set","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":"c43e6e5f82ef6a4c"}},{"code_sha256_prefix":"400a8db2fb9b1633","entry":"get_assigned_file","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/options.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/options.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"400a8db2fb9b1633"}},{"code_sha256_prefix":"7b02b06c5ac04f3d","entry":"get_resume_file","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/options.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/options.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7b02b06c5ac04f3d"}},{"code_sha256_prefix":"f1324589fc273593","entry":"one_hot","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/utils.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/utils.py","link_basis":"harvester_set","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":"f1324589fc273593"}},{"code_sha256_prefix":"938085d32a386023","entry":"softplus","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/methods/backbone.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/methods/backbone.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"938085d32a386023"}},{"code_sha256_prefix":"de09514deda6f881","entry":"sparsity","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/utils.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/utils.py","link_basis":"harvester_set","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":"de09514deda6f881"}},{"code_sha256_prefix":"70dfd49412a04d63","entry":"train","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/pretrain.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/pretrain.py","link_basis":"harvester_set","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":"70dfd49412a04d63"}},{"code_sha256_prefix":"13a767c65a8c43dc","entry":"train","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/train_baseline.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/train_baseline.py","link_basis":"harvester_set","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":"13a767c65a8c43dc"}},{"code_sha256_prefix":"3f5fdeef3bc69b20","entry":"train","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/train_baseline_distill_gen_1_single.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/train_baseline_distill_gen_1_single.py","link_basis":"harvester_set","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":"3f5fdeef3bc69b20"}},{"code_sha256_prefix":"abced9a48013eeb0","entry":"ResNet10","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/methods/backbone.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/methods/backbone.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":"abced9a48013eeb0"}},{"code_sha256_prefix":"6a349f825361445e","entry":"ResNet18","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/methods/backbone.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/methods/backbone.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":"6a349f825361445e"}},{"code_sha256_prefix":"1b080a20f55cfd73","entry":"parse_args","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/options.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/options.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":"1b080a20f55cfd73"}},{"code_sha256_prefix":"5e9c3538626f0f95","entry":"train","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/train_backbone_multi_head.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/train_backbone_multi_head.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":"5e9c3538626f0f95"}},{"code_sha256_prefix":"6122e3f1a549c175","entry":"train","repo":"yunqing-me/Born-Again-FS","repo_kind":"official","path":"baseline_model/train_baseline_distill_gen_1_multi.py","file_url":"https://github.com/yunqing-me/Born-Again-FS/blob/HEAD/baseline_model/train_baseline_distill_gen_1_multi.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":"6122e3f1a549c175"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}