{"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/marginmatch-improving-semi-supervised-1","title":"MarginMatch: Improving Semi-Supervised Learning with Pseudo-Margins","arxiv_id":"2308.09037","date":"2023-08-17","proceeding":"CVPR 2023 1","authors":["Tiberiu Sosea","Cornelia Caragea"],"abstract":"We introduce MarginMatch, a new SSL approach combining consistency regularization and pseudo-labeling, with its main novelty arising from the use of unlabeled data training dynamics to measure pseudo-label quality. Instead of using only the model's confidence on an unlabeled example at an arbitrary iteration to decide if the example should be masked or not, MarginMatch also analyzes the behavior of the model on the pseudo-labeled examples as the training progresses, to ensure low quality predictions are masked out. MarginMatch brings substantial improvements on four vision benchmarks in low data regimes and on two large-scale datasets, emphasizing the importance of enforcing high-quality pseudo-labels. Notably, we obtain an improvement in error rate over the state-of-the-art of 3.25% on CIFAR-100 with only 25 labels per class and of 3.78% on STL-10 using as few as 4 labels per class. We make our code available at https://github.com/tsosea2/MarginMatch.","url_abs":"https://arxiv.org/abs/2308.09037v1","url_pdf":"https://arxiv.org/pdf/2308.09037v1.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":"marginmatch-improving-semi-supervised-1","repo_url":"https://github.com/tsosea2/marginmatch","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"pseudo-label","task_name":"Pseudo Label"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.09037","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.09037"}},"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/tsosea2/MarginMatch","reach":null}],"summary":{"ran":3,"ran_fixture":1,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"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":"71af214f56a51e51","entry":"AUMCalculator","repo":"tsosea2/MarginMatch","repo_kind":"official","path":"models/marginmatch/marginmatch.py","file_url":"https://github.com/tsosea2/MarginMatch/blob/HEAD/models/marginmatch/marginmatch.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":"71af214f56a51e51"}},{"code_sha256_prefix":"a715f082b07cddad","entry":"DistributedProxySampler","repo":"tsosea2/MarginMatch","repo_kind":"official","path":"models/marginmatch/marginmatch.py","file_url":"https://github.com/tsosea2/MarginMatch/blob/HEAD/models/marginmatch/marginmatch.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":"a715f082b07cddad"}},{"code_sha256_prefix":"d3050212d4076500","entry":"consistency_loss","repo":"tsosea2/MarginMatch","repo_kind":"official","path":"models/marginmatch/marginmatch.py","file_url":"https://github.com/tsosea2/MarginMatch/blob/HEAD/models/marginmatch/marginmatch.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":"d3050212d4076500"}},{"code_sha256_prefix":"4d1e29ceead9441e","entry":"get_data_loader","repo":"tsosea2/MarginMatch","repo_kind":"official","path":"models/marginmatch/marginmatch.py","file_url":"https://github.com/tsosea2/MarginMatch/blob/HEAD/models/marginmatch/marginmatch.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":"4d1e29ceead9441e"}},{"code_sha256_prefix":"6a7921f1a96a77f1","entry":"get_sampler_by_name","repo":"tsosea2/MarginMatch","repo_kind":"official","path":"models/marginmatch/marginmatch.py","file_url":"https://github.com/tsosea2/MarginMatch/blob/HEAD/models/marginmatch/marginmatch.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6a7921f1a96a77f1"}},{"code_sha256_prefix":"699381f39fd78579","entry":"MarginMatch","repo":"tsosea2/MarginMatch","repo_kind":"official","path":"models/marginmatch/marginmatch.py","file_url":"https://github.com/tsosea2/MarginMatch/blob/HEAD/models/marginmatch/marginmatch.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":"699381f39fd78579"}},{"code_sha256_prefix":"3e9725d71807eec6","entry":"replace_threshold_examples","repo":"tsosea2/MarginMatch","repo_kind":"official","path":"models/marginmatch/marginmatch.py","file_url":"https://github.com/tsosea2/MarginMatch/blob/HEAD/models/marginmatch/marginmatch.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":"3e9725d71807eec6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}