{"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-to-learn-by-self-critique","title":"Learning to learn via Self-Critique","arxiv_id":"1905.10295","date":"2019-05-24","proceeding":null,"authors":["Antreas Antoniou","Amos Storkey"],"abstract":"In few-shot learning, a machine learning system learns from a small set of labelled examples relating to a specific task, such that it can generalize to new examples of the same task. Given the limited availability of labelled examples in such tasks, we wish to make use of all the information we can. Usually a model learns task-specific information from a small training-set (support-set) to predict on an unlabelled validation set (target-set). The target-set contains additional task-specific information which is not utilized by existing few-shot learning methods. Making use of the target-set examples via transductive learning requires approaches beyond the current methods; at inference time, the target-set contains only unlabelled input data-points, and so discriminative learning cannot be used. In this paper, we propose a framework called Self-Critique and Adapt or SCA, which learns to learn a label-free loss function, parameterized as a neural network. A base-model learns on a support-set using existing methods (e.g. stochastic gradient descent combined with the cross-entropy loss), and then is updated for the incoming target-task using the learnt loss function. This label-free loss function is itself optimized such that the learnt model achieves higher generalization performance. Experiments demonstrate that SCA offers substantially reduced error-rates compared to baselines which only adapt on the support-set, and results in state of the art benchmark performance on Mini-ImageNet and Caltech-UCSD Birds 200.","url_abs":"https://arxiv.org/abs/1905.10295v6","url_pdf":"https://arxiv.org/pdf/1905.10295v6.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-to-learn-by-self-critique","repo_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"few-shot-image-classification","task_name":"Few-Shot Image Classification"},{"task_slug":"few-shot-learning","task_name":"Few-Shot Learning"},{"task_slug":"transductive-learning","task_name":"Transductive Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/few-shot-image-classification-on-cub-200-5-1","task":"Few-Shot Image Classification","dataset":"CUB 200 5-way 1-shot","model":"Self-Critique and Adapt + High-End MAML++","rank_in_archive_order":28,"of":36,"metrics":{"Accuracy":"70.46"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-image-classification-on-cub-200-5-1","task":"Few-Shot Image Classification","dataset":"CUB 200 5-way 1-shot","model":"High-End MAML++","rank_in_archive_order":31,"of":36,"metrics":{"Accuracy":"67.48"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-image-classification-on-cub-200-5","task":"Few-Shot Image Classification","dataset":"CUB 200 5-way 5-shot","model":"Self-Critique and Adapt + High-End MAML++","rank_in_archive_order":25,"of":32,"metrics":{"Accuracy":"85.63"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-image-classification-on-cub-200-5","task":"Few-Shot Image Classification","dataset":"CUB 200 5-way 5-shot","model":"High-End MAML++","rank_in_archive_order":26,"of":32,"metrics":{"Accuracy":"83.8"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-image-classification-on-mini-2","task":"Few-Shot Image Classification","dataset":"Mini-Imagenet 5-way (1-shot)","model":"Self-Critique and Adapt + High-End MAML++","rank_in_archive_order":66,"of":105,"metrics":{"Accuracy":"62.86"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-image-classification-on-mini-3","task":"Few-Shot Image Classification","dataset":"Mini-Imagenet 5-way (5-shot)","model":"Self-Critique and Adapt + High-End MAML++","rank_in_archive_order":64,"of":95,"metrics":{"Accuracy":"77.64"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1905.10295","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1905.10295"}},"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/AntreasAntoniou/Learning_to_Learn_via_Self-Critique","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"unverified":11},"by_repo_kind":{"listed":{"samples":13,"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":"94cd47c72a983ad8","entry":"extract_top_level_dict","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"meta_neural_network_architectures.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/meta_neural_network_architectures.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":"94cd47c72a983ad8"}},{"code_sha256_prefix":"5c44538154dad8a7","entry":"set_torch_seed","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"few_shot_learning_system.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/few_shot_learning_system.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5c44538154dad8a7"}},{"code_sha256_prefix":"db6c1276b31a8182","entry":"augment_image","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"data.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/data.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":"db6c1276b31a8182"}},{"code_sha256_prefix":"632e39376f13aefe","entry":"extract_args_from_json","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"utils/parser_utils.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/utils/parser_utils.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":"632e39376f13aefe"}},{"code_sha256_prefix":"58bd46124faedbc9","entry":"extract_params_and_check_for_missing_keys","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"meta_neural_network_architectures.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/meta_neural_network_architectures.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":"58bd46124faedbc9"}},{"code_sha256_prefix":"d25adfe464700ae6","entry":"fill_template","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"script_generation_tools/generate_scripts.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/script_generation_tools/generate_scripts.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":"d25adfe464700ae6"}},{"code_sha256_prefix":"e842ea037f1a6ac1","entry":"fill_template","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"script_generation_tools/generate_configs.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/script_generation_tools/generate_configs.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":"e842ea037f1a6ac1"}},{"code_sha256_prefix":"1ffc7f12a771c7d6","entry":"load_from_json","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"utils/storage.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/utils/storage.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":"1ffc7f12a771c7d6"}},{"code_sha256_prefix":"b85351bca4ccbe20","entry":"load_statistics","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"utils/storage.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/utils/storage.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":"b85351bca4ccbe20"}},{"code_sha256_prefix":"27fabd65989ead1f","entry":"load_template","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"script_generation_tools/generate_configs.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/script_generation_tools/generate_configs.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":"27fabd65989ead1f"}},{"code_sha256_prefix":"4a41646d1d2da5a6","entry":"load_template","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"script_generation_tools/generate_scripts.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/script_generation_tools/generate_scripts.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":"4a41646d1d2da5a6"}},{"code_sha256_prefix":"822e342d8175533c","entry":"save_statistics","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"utils/storage.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/utils/storage.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":"822e342d8175533c"}},{"code_sha256_prefix":"347066bf5f12736b","entry":"string_generator","repo":"AntreasAntoniou/Learning_to_Learn_via_Self-Critique","repo_kind":"listed","path":"script_generation_tools/generate_configs.py","file_url":"https://github.com/AntreasAntoniou/Learning_to_Learn_via_Self-Critique/blob/HEAD/script_generation_tools/generate_configs.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":"347066bf5f12736b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}