{"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/openmatch-open-set-consistency-regularization","title":"OpenMatch: Open-set Consistency Regularization for Semi-supervised Learning with Outliers","arxiv_id":"2105.14148","date":"2021-05-28","proceeding":null,"authors":["Kuniaki Saito","Donghyun Kim","Kate Saenko"],"abstract":"Semi-supervised learning (SSL) is an effective means to leverage unlabeled data to improve a model's performance. Typical SSL methods like FixMatch assume that labeled and unlabeled data share the same label space. However, in practice, unlabeled data can contain categories unseen in the labeled set, i.e., outliers, which can significantly harm the performance of SSL algorithms. To address this problem, we propose a novel Open-set Semi-Supervised Learning (OSSL) approach called OpenMatch. Learning representations of inliers while rejecting outliers is essential for the success of OSSL. To this end, OpenMatch unifies FixMatch with novelty detection based on one-vs-all (OVA) classifiers. The OVA-classifier outputs the confidence score of a sample being an inlier, providing a threshold to detect outliers. Another key contribution is an open-set soft-consistency regularization loss, which enhances the smoothness of the OVA-classifier with respect to input transformations and greatly improves outlier detection. OpenMatch achieves state-of-the-art performance on three datasets, and even outperforms a fully supervised model in detecting outliers unseen in unlabeled data on CIFAR10.","url_abs":"https://arxiv.org/abs/2105.14148v2","url_pdf":"https://arxiv.org/pdf/2105.14148v2.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":"openmatch-open-set-consistency-regularization","repo_url":"https://github.com/VisionLearningGroup/OP_Match","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"novelty-detection","task_name":"Novelty Detection"},{"task_slug":"outlier-detection","task_name":"Outlier Detection"}],"methods":[{"method_slug":"fixmatch","method_name":"FixMatch"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2105.14148","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.14148"}},"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/VisionLearningGroup/OP_Match","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":6,"ran_fixture":1,"ran_draft_wrong":3,"ran_violates":1,"unverified":8},"by_repo_kind":{"official":{"samples":19,"ran":11,"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":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"dataset/randaugment.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/dataset/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":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"dataset/randaugment.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/dataset/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":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"dataset/randaugment.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/dataset/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":"18badd533b52adb3","entry":"accuracy","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"utils/misc.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/utils/misc.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"18badd533b52adb3"}},{"code_sha256_prefix":"d9def42110729a85","entry":"conv1x1","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"models/resnet_imagenet.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/models/resnet_imagenet.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":"d9def42110729a85"}},{"code_sha256_prefix":"160bb14bd76201b4","entry":"conv3x3","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"models/resnet_imagenet.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/models/resnet_imagenet.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":"160bb14bd76201b4"}},{"code_sha256_prefix":"52d10a10fb72fb9f","entry":"find_classes","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"dataset/mydataset.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/dataset/mydataset.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":"52d10a10fb72fb9f"}},{"code_sha256_prefix":"99c1dcab51b21ada","entry":"get_cosine_schedule_with_warmup","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"utils/default.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/utils/default.py","link_basis":"plan_row","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":"99c1dcab51b21ada"}},{"code_sha256_prefix":"8c82d522e7c85b05","entry":"get_mean_and_std","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"utils/misc.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/utils/misc.py","link_basis":"plan_row","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":"8c82d522e7c85b05"}},{"code_sha256_prefix":"ab4109634b75ef8b","entry":"is_image_file","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"dataset/mydataset.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/dataset/mydataset.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ab4109634b75ef8b"}},{"code_sha256_prefix":"0a7c46eb67c0c21b","entry":"mish","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"models/wideresnet.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/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":"2f2703a2786819fc","entry":"ResNet18","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"models/wideresnet.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/models/wideresnet.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":"2f2703a2786819fc"}},{"code_sha256_prefix":"579d96c1a68b193f","entry":"accuracy_open","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"utils/misc.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/utils/misc.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":"579d96c1a68b193f"}},{"code_sha256_prefix":"67dd91fd9dc32549","entry":"build_wideresnet","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"models/wideresnet.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/models/wideresnet.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":"67dd91fd9dc32549"}},{"code_sha256_prefix":"efc595c37bad5555","entry":"create_model","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"utils/default.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/utils/default.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":"efc595c37bad5555"}},{"code_sha256_prefix":"dbc68d205f8ea888","entry":"get_cifar","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"dataset/cifar.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/dataset/cifar.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":"dbc68d205f8ea888"}},{"code_sha256_prefix":"c134d9fe99c07f80","entry":"get_imagenet","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"dataset/cifar.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/dataset/cifar.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":"c134d9fe99c07f80"}},{"code_sha256_prefix":"d90e54cc28eb9dba","entry":"make_dataset","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"dataset/mydataset.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/dataset/mydataset.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":"d90e54cc28eb9dba"}},{"code_sha256_prefix":"9c8a61106569a6ad","entry":"x_u_split","repo":"VisionLearningGroup/OP_Match","repo_kind":"official","path":"dataset/cifar.py","file_url":"https://github.com/VisionLearningGroup/OP_Match/blob/HEAD/dataset/cifar.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":"9c8a61106569a6ad"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}