{"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/semi-supervised-learning-made-simple-with-1","title":"Semi-supervised learning made simple with self-supervised clustering","arxiv_id":"2306.07483","date":"2023-06-13","proceeding":"CVPR 2023 1","authors":["Enrico Fini","Pietro Astolfi","Karteek Alahari","Xavier Alameda-Pineda","Julien Mairal","Moin Nabi","Elisa Ricci"],"abstract":"Self-supervised learning models have been shown to learn rich visual representations without requiring human annotations. However, in many real-world scenarios, labels are partially available, motivating a recent line of work on semi-supervised methods inspired by self-supervised principles. In this paper, we propose a conceptually simple yet empirically powerful approach to turn clustering-based self-supervised methods such as SwAV or DINO into semi-supervised learners. More precisely, we introduce a multi-task framework merging a supervised objective using ground-truth labels and a self-supervised objective relying on clustering assignments with a single cross-entropy loss. This approach may be interpreted as imposing the cluster centroids to be class prototypes. Despite its simplicity, we provide empirical evidence that our approach is highly effective and achieves state-of-the-art performance on CIFAR100 and ImageNet.","url_abs":"https://arxiv.org/abs/2306.07483v1","url_pdf":"https://arxiv.org/pdf/2306.07483v1.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":"semi-supervised-learning-made-simple-with-1","repo_url":"https://github.com/pietroastolfi/suave-daino","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"}],"methods":[{"method_slug":"attention","method_name":"Attention"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"lars","method_name":"LARS"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"swav","method_name":"SwAV"},{"method_slug":"vision-transformer","method_name":"Vision Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2306.07483","atlas_url":"https://app.syntology.ai/?focus=2306.07483","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2306.07483"}},"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/pietroastolfi/suave-daino","reach":null}],"summary":{"ran":1,"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"official":{"samples":5,"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":5,"samples":[{"code_sha256_prefix":"3190fbd7139d6122","entry":"AverageMeter","repo":"pietroastolfi/suave-daino","repo_kind":"official","path":"suave/main_suave.py","file_url":"https://github.com/pietroastolfi/suave-daino/blob/HEAD/suave/main_suave.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"3190fbd7139d6122"}},{"code_sha256_prefix":"14e2858ec5d67a1a","entry":"accuracy","repo":"pietroastolfi/suave-daino","repo_kind":"official","path":"suave/main_suave.py","file_url":"https://github.com/pietroastolfi/suave-daino/blob/HEAD/suave/main_suave.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"14e2858ec5d67a1a"}},{"code_sha256_prefix":"e886904d62004eb3","entry":"distributed_sinkhorn","repo":"pietroastolfi/suave-daino","repo_kind":"official","path":"suave/main_suave.py","file_url":"https://github.com/pietroastolfi/suave-daino/blob/HEAD/suave/main_suave.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e886904d62004eb3"}},{"code_sha256_prefix":"7d52560c3f93bb3a","entry":"get_module","repo":"pietroastolfi/suave-daino","repo_kind":"official","path":"suave/main_suave.py","file_url":"https://github.com/pietroastolfi/suave-daino/blob/HEAD/suave/main_suave.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"7d52560c3f93bb3a"}},{"code_sha256_prefix":"a15e23a392763e66","entry":"train","repo":"pietroastolfi/suave-daino","repo_kind":"official","path":"suave/main_suave.py","file_url":"https://github.com/pietroastolfi/suave-daino/blob/HEAD/suave/main_suave.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"a15e23a392763e66"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}