{"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/demystifying-self-supervised-learning-an","title":"Self-supervised Learning from a Multi-view Perspective","arxiv_id":"2006.05576","date":"2020-06-10","proceeding":"ICLR 2021 1","authors":["Yao-Hung Hubert Tsai","Yue Wu","Ruslan Salakhutdinov","Louis-Philippe Morency"],"abstract":"As a subset of unsupervised representation learning, self-supervised representation learning adopts self-defined signals as supervision and uses the learned representation for downstream tasks, such as object detection and image captioning. Many proposed approaches for self-supervised learning follow naturally a multi-view perspective, where the input (e.g., original images) and the self-supervised signals (e.g., augmented images) can be seen as two redundant views of the data. Building from this multi-view perspective, this paper provides an information-theoretical framework to better understand the properties that encourage successful self-supervised learning. Specifically, we demonstrate that self-supervised learned representations can extract task-relevant information and discard task-irrelevant information. Our theoretical framework paves the way to a larger space of self-supervised learning objective design. In particular, we propose a composite objective that bridges the gap between prior contrastive and predictive learning objectives, and introduce an additional objective term to discard task-irrelevant information. To verify our analysis, we conduct controlled experiments to evaluate the impact of the composite objectives. We also explore our framework's empirical generalization beyond the multi-view perspective, where the cross-view redundancy may not be clearly observed.","url_abs":"https://arxiv.org/abs/2006.05576v4","url_pdf":"https://arxiv.org/pdf/2006.05576v4.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":"demystifying-self-supervised-learning-an","repo_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"image-captioning","task_name":"Image Captioning"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2006.05576","atlas_url":"https://app.syntology.ai/?focus=2006.05576","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.05576"}},"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/yaohungt/Demystifying_Self_Supervised_Learning","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":14},"by_repo_kind":{"official":{"samples":15,"ran":1,"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":"7aac0de5d1568953","entry":"tpu_cross_replica_concat","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"CIFAR10/objective.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/CIFAR10/objective.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":"7aac0de5d1568953"}},{"code_sha256_prefix":"0a7d9a94b7082769","entry":"AE_loss","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"Omniglot/compute_MI_CondEntro.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/Omniglot/compute_MI_CondEntro.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":"0a7d9a94b7082769"}},{"code_sha256_prefix":"2e338c4bb3d62d7e","entry":"add_inv_pred_loss","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"CIFAR10/objective.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/CIFAR10/objective.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":"2e338c4bb3d62d7e"}},{"code_sha256_prefix":"8af989f02c354e14","entry":"add_supervised_loss","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"CIFAR10/objective.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/CIFAR10/objective.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":"8af989f02c354e14"}},{"code_sha256_prefix":"324c58e9994efed0","entry":"color_jitter","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"CIFAR10/data_util.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/CIFAR10/data_util.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":"324c58e9994efed0"}},{"code_sha256_prefix":"7ce61f1a25809b6d","entry":"dropblock","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"CIFAR10/resnet.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/CIFAR10/resnet.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":"7ce61f1a25809b6d"}},{"code_sha256_prefix":"3223825e26df85e7","entry":"fixed_padding","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"CIFAR10/resnet.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/CIFAR10/resnet.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":"3223825e26df85e7"}},{"code_sha256_prefix":"14ec8ff095316493","entry":"get_train_steps","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"CIFAR10/model_util.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/CIFAR10/model_util.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":"14ec8ff095316493"}},{"code_sha256_prefix":"1eed2bc576d1a00a","entry":"init_models","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"Omniglot/compute_MI_CondEntro.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/Omniglot/compute_MI_CondEntro.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":"1eed2bc576d1a00a"}},{"code_sha256_prefix":"fb45bd9f63767265","entry":"learning_rate_schedule","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"CIFAR10/model_util.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/CIFAR10/model_util.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":"fb45bd9f63767265"}},{"code_sha256_prefix":"b509a54eb5ec250b","entry":"mlp","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"Omniglot/compute_MI_CondEntro.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/Omniglot/compute_MI_CondEntro.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":"b509a54eb5ec250b"}},{"code_sha256_prefix":"0c26c80b6286f5ec","entry":"pad_to_batch","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"CIFAR10/data.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/CIFAR10/data.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":"0c26c80b6286f5ec"}},{"code_sha256_prefix":"d04f187058cb2a9c","entry":"random_apply","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"CIFAR10/data_util.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/CIFAR10/data_util.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":"d04f187058cb2a9c"}},{"code_sha256_prefix":"49c827442d2fb761","entry":"to_grayscale","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"CIFAR10/data_util.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/CIFAR10/data_util.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":"49c827442d2fb761"}},{"code_sha256_prefix":"667eaf3785a1c4a9","entry":"train_val","repo":"yaohungt/Demystifying_Self_Supervised_Learning","repo_kind":"official","path":"Omniglot/linear.py","file_url":"https://github.com/yaohungt/Demystifying_Self_Supervised_Learning/blob/HEAD/Omniglot/linear.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":"667eaf3785a1c4a9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}