{"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/on-the-effects-of-self-supervision-and","title":"On the Effects of Self-supervision and Contrastive Alignment in Deep Multi-view Clustering","arxiv_id":"2303.09877","date":"2023-03-17","proceeding":"CVPR 2023 1","authors":["Daniel J. Trosten","Sigurd Løkse","Robert Jenssen","Michael C. Kampffmeyer"],"abstract":"Self-supervised learning is a central component in recent approaches to deep multi-view clustering (MVC). However, we find large variations in the development of self-supervision-based methods for deep MVC, potentially slowing the progress of the field. To address this, we present DeepMVC, a unified framework for deep MVC that includes many recent methods as instances. We leverage our framework to make key observations about the effect of self-supervision, and in particular, drawbacks of aligning representations with contrastive learning. Further, we prove that contrastive alignment can negatively influence cluster separability, and that this effect becomes worse when the number of views increases. Motivated by our findings, we develop several new DeepMVC instances with new forms of self-supervision. We conduct extensive experiments and find that (i) in line with our theoretical findings, contrastive alignments decreases performance on datasets with many views; (ii) all methods benefit from some form of self-supervision; and (iii) our new instances outperform previous methods on several datasets. Based on our results, we suggest several promising directions for future research. To enhance the openness of the field, we provide an open-source implementation of DeepMVC, including recent models and our new instances. Our implementation includes a consistent evaluation protocol, facilitating fair and accurate evaluation of methods and components.","url_abs":"https://arxiv.org/abs/2303.09877v1","url_pdf":"https://arxiv.org/pdf/2303.09877v1.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":"on-the-effects-of-self-supervision-and","repo_url":"https://github.com/danieltrosten/deepmvc","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2303.09877","atlas_url":"https://app.syntology.ai/?focus=2303.09877","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.09877"}},"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":"deterministic:regex_extraction","url":"https://github.com/DanielTrosten/DeepMVC","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":10,"ran_violates":1,"unverified":1},"by_repo_kind":{"official":{"samples":12,"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":"0bedbd9344d129bf","entry":"cdist","repo":"DanielTrosten/DeepMVC","repo_kind":"official","path":"src/lib/kernel.py","file_url":"https://github.com/DanielTrosten/DeepMVC/blob/HEAD/src/lib/kernel.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":"0bedbd9344d129bf"}},{"code_sha256_prefix":"d37a39e10c3dab6d","entry":"cmat_from_dict","repo":"DanielTrosten/DeepMVC","repo_kind":"official","path":"src/lib/metrics.py","file_url":"https://github.com/DanielTrosten/DeepMVC/blob/HEAD/src/lib/metrics.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":"d37a39e10c3dab6d"}},{"code_sha256_prefix":"ae2a5def5271209b","entry":"cmat_to_dict","repo":"DanielTrosten/DeepMVC","repo_kind":"official","path":"src/lib/metrics.py","file_url":"https://github.com/DanielTrosten/DeepMVC/blob/HEAD/src/lib/metrics.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":"ae2a5def5271209b"}},{"code_sha256_prefix":"f592159079896a8c","entry":"ensure_iterable","repo":"DanielTrosten/DeepMVC","repo_kind":"official","path":"src/helpers.py","file_url":"https://github.com/DanielTrosten/DeepMVC/blob/HEAD/src/helpers.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":"f592159079896a8c"}},{"code_sha256_prefix":"6507fdcc7239a027","entry":"get_normalizer","repo":"DanielTrosten/DeepMVC","repo_kind":"official","path":"src/lib/normalization.py","file_url":"https://github.com/DanielTrosten/DeepMVC/blob/HEAD/src/lib/normalization.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":"6507fdcc7239a027"}},{"code_sha256_prefix":"5bb1cc362256db4d","entry":"kernel_from_distance_matrix","repo":"DanielTrosten/DeepMVC","repo_kind":"official","path":"src/lib/kernel.py","file_url":"https://github.com/DanielTrosten/DeepMVC/blob/HEAD/src/lib/kernel.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":"5bb1cc362256db4d"}},{"code_sha256_prefix":"6904d3f9489d3c4f","entry":"ordered_cmat","repo":"DanielTrosten/DeepMVC","repo_kind":"official","path":"src/lib/metrics.py","file_url":"https://github.com/DanielTrosten/DeepMVC/blob/HEAD/src/lib/metrics.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":"6904d3f9489d3c4f"}},{"code_sha256_prefix":"055b11da844a8f7f","entry":"register_loss_term","repo":"DanielTrosten/DeepMVC","repo_kind":"official","path":"src/register.py","file_url":"https://github.com/DanielTrosten/DeepMVC/blob/HEAD/src/register.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":"055b11da844a8f7f"}},{"code_sha256_prefix":"53e699a04f764af0","entry":"register_model","repo":"DanielTrosten/DeepMVC","repo_kind":"official","path":"src/register.py","file_url":"https://github.com/DanielTrosten/DeepMVC/blob/HEAD/src/register.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":"53e699a04f764af0"}},{"code_sha256_prefix":"7c508037b40522af","entry":"str2bool","repo":"DanielTrosten/DeepMVC","repo_kind":"official","path":"src/helpers.py","file_url":"https://github.com/DanielTrosten/DeepMVC/blob/HEAD/src/helpers.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":"7c508037b40522af"}},{"code_sha256_prefix":"e4d4f68bd4cc242c","entry":"vector_kernel","repo":"DanielTrosten/DeepMVC","repo_kind":"official","path":"src/lib/kernel.py","file_url":"https://github.com/DanielTrosten/DeepMVC/blob/HEAD/src/lib/kernel.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":"e4d4f68bd4cc242c"}},{"code_sha256_prefix":"8b89b0976ceefec8","entry":"npy","repo":"DanielTrosten/DeepMVC","repo_kind":"official","path":"src/helpers.py","file_url":"https://github.com/DanielTrosten/DeepMVC/blob/HEAD/src/helpers.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":"8b89b0976ceefec8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}