{"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/fix-a-step-effective-semi-supervised-learning","title":"Fix-A-Step: Semi-supervised Learning from Uncurated Unlabeled Data","arxiv_id":"2208.11870","date":"2022-08-25","proceeding":null,"authors":["Zhe Huang","Mary-Joy Sidhom","Benjamin S. Wessler","Michael C. Hughes"],"abstract":"Semi-supervised learning (SSL) promises improved accuracy compared to training classifiers on small labeled datasets by also training on many unlabeled images. In real applications like medical imaging, unlabeled data will be collected for expediency and thus uncurated: possibly different from the labeled set in classes or features. Unfortunately, modern deep SSL often makes accuracy worse when given uncurated unlabeled data. Recent complex remedies try to detect out-of-distribution unlabeled images and then discard or downweight them. Instead, we introduce Fix-A-Step, a simpler procedure that views all uncurated unlabeled images as potentially helpful. Our first insight is that even uncurated images can yield useful augmentations of labeled data. Second, we modify gradient descent updates to prevent optimizing a multi-task SSL loss from hurting labeled-set accuracy. Fix-A-Step can repair many common deep SSL methods, improving accuracy on CIFAR benchmarks across all tested methods and levels of artificial class mismatch. On a new medical SSL benchmark called Heart2Heart, Fix-A-Step can learn from 353,500 truly uncurated ultrasound images to deliver gains that generalize across hospitals.","url_abs":"https://arxiv.org/abs/2208.11870v3","url_pdf":"https://arxiv.org/pdf/2208.11870v3.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":"fix-a-step-effective-semi-supervised-learning","repo_url":"https://github.com/tufts-ml/fix-a-step","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"repair","method_name":"Repair"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2208.11870","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2208.11870"}},"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/tufts-ml/fix-a-step","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":4,"unverified":2},"by_repo_kind":{"official":{"samples":6,"ran":4,"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":"c6e7c3451c85404f","entry":"AutoContrast","repo":"tufts-ml/fix-a-step","repo_kind":"official","path":"src_CIFAR10/randaugment.py","file_url":"https://github.com/tufts-ml/fix-a-step/blob/HEAD/src_CIFAR10/randaugment.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":"c6e7c3451c85404f"}},{"code_sha256_prefix":"0d1a8d6ce2015fc7","entry":"Brightness","repo":"tufts-ml/fix-a-step","repo_kind":"official","path":"src_CIFAR10/randaugment.py","file_url":"https://github.com/tufts-ml/fix-a-step/blob/HEAD/src_CIFAR10/randaugment.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":"0d1a8d6ce2015fc7"}},{"code_sha256_prefix":"32cb3f5760fa593e","entry":"Color","repo":"tufts-ml/fix-a-step","repo_kind":"official","path":"src_CIFAR10/randaugment.py","file_url":"https://github.com/tufts-ml/fix-a-step/blob/HEAD/src_CIFAR10/randaugment.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":"32cb3f5760fa593e"}},{"code_sha256_prefix":"0a7c46eb67c0c21b","entry":"mish","repo":"tufts-ml/fix-a-step","repo_kind":"official","path":"src_CIFAR10/models/wideresnet.py","file_url":"https://github.com/tufts-ml/fix-a-step/blob/HEAD/src_CIFAR10/models/wideresnet.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":"0a7c46eb67c0c21b"}},{"code_sha256_prefix":"73e41df974d19846","entry":"build_wideresnet","repo":"tufts-ml/fix-a-step","repo_kind":"official","path":"src_CIFAR10/models/wideresnet.py","file_url":"https://github.com/tufts-ml/fix-a-step/blob/HEAD/src_CIFAR10/models/wideresnet.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":"73e41df974d19846"}},{"code_sha256_prefix":"d7547b7095cf4b5b","entry":"resize_and_pad","repo":"tufts-ml/fix-a-step","repo_kind":"official","path":"Heart2Heart_Transfering/camus_createnpy_from_ImageList_train.py","file_url":"https://github.com/tufts-ml/fix-a-step/blob/HEAD/Heart2Heart_Transfering/camus_createnpy_from_ImageList_train.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":"d7547b7095cf4b5b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}