{"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/compressive-visual-representations","title":"Compressive Visual Representations","arxiv_id":"2109.12909","date":"2021-09-27","proceeding":"NeurIPS 2021 12","authors":["Kuang-Huei Lee","Anurag Arnab","Sergio Guadarrama","John Canny","Ian Fischer"],"abstract":"Learning effective visual representations that generalize well without human supervision is a fundamental problem in order to apply Machine Learning to a wide variety of tasks. Recently, two families of self-supervised methods, contrastive learning and latent bootstrapping, exemplified by SimCLR and BYOL respectively, have made significant progress. In this work, we hypothesize that adding explicit information compression to these algorithms yields better and more robust representations. We verify this by developing SimCLR and BYOL formulations compatible with the Conditional Entropy Bottleneck (CEB) objective, allowing us to both measure and control the amount of compression in the learned representation, and observe their impact on downstream tasks. Furthermore, we explore the relationship between Lipschitz continuity and compression, showing a tractable lower bound on the Lipschitz constant of the encoders we learn. As Lipschitz continuity is closely related to robustness, this provides a new explanation for why compressed models are more robust. Our experiments confirm that adding compression to SimCLR and BYOL significantly improves linear evaluation accuracies and model robustness across a wide range of domain shifts. In particular, the compressed version of BYOL achieves 76.0% Top-1 linear evaluation accuracy on ImageNet with ResNet-50, and 78.8% with ResNet-50 2x.","url_abs":"https://arxiv.org/abs/2109.12909v3","url_pdf":"https://arxiv.org/pdf/2109.12909v3.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":"compressive-visual-representations","repo_url":"https://github.com/google-research/compressive-visual-representations","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"linear-evaluation","task_name":"Linear evaluation"},{"task_slug":"self-supervised-image-classification","task_name":"Self-Supervised Image Classification"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"byol","method_name":"BYOL"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"colorjitter","method_name":"ColorJitter"},{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"feedforward-network","method_name":"Feedforward Network"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"nt-xent","method_name":"NT-Xent"},{"method_slug":"random-gaussian-blur","method_name":"Random Gaussian Blur"},{"method_slug":"random-resized-crop","method_name":"Random Resized Crop"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"simclr","method_name":"SimCLR"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-classification-on-objectnet","task":"Image Classification","dataset":"ObjectNet","model":"C-BYOL","rank_in_archive_order":81,"of":106,"metrics":{"Top-1 Accuracy":"25.5"},"uses_additional_data":true},{"leaderboard":"/sota/image-classification-on-objectnet","task":"Image Classification","dataset":"ObjectNet","model":"C-SimCLR","rank_in_archive_order":89,"of":106,"metrics":{"Top-1 Accuracy":"20.8"},"uses_additional_data":true},{"leaderboard":"/sota/self-supervised-image-classification-on","task":"Self-Supervised Image Classification","dataset":"ImageNet","model":"C-BYOL (ResNet-50 2x, 1000 epochs)","rank_in_archive_order":41,"of":144,"metrics":{"Number of Params":"94M","Top 1 Accuracy":"78.8%","Top 5 Accuracy":"94.5%"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-image-classification-on","task":"Self-Supervised Image Classification","dataset":"ImageNet","model":"C-BYOL (ResNet-50, 1000 epochs)","rank_in_archive_order":70,"of":144,"metrics":{"Number of Params":"25M","Top 1 Accuracy":"75.6%","Top 5 Accuracy":"92.7%"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2109.12909","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2109.12909"}},"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":"deterministic:regex_extraction","url":"https://github.com/google-research/compressive-visual-representations","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":12},"by_repo_kind":{"official":{"samples":12,"ran":0,"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":"2c3f186a80593c53","entry":"add_contrastive_loss","repo":"google-research/compressive-visual-representations","repo_kind":"official","path":"compressive_visual_representations/objective.py","file_url":"https://github.com/google-research/compressive-visual-representations/blob/HEAD/compressive_visual_representations/objective.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2c3f186a80593c53"}},{"code_sha256_prefix":"1029520ddfa4b329","entry":"add_supervised_loss","repo":"google-research/compressive-visual-representations","repo_kind":"official","path":"compressive_visual_representations/objective.py","file_url":"https://github.com/google-research/compressive-visual-representations/blob/HEAD/compressive_visual_representations/objective.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1029520ddfa4b329"}},{"code_sha256_prefix":"bf0a0bdd5fe4e8e0","entry":"add_weight_decay","repo":"google-research/compressive-visual-representations","repo_kind":"official","path":"compressive_visual_representations/model_util.py","file_url":"https://github.com/google-research/compressive-visual-representations/blob/HEAD/compressive_visual_representations/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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"bf0a0bdd5fe4e8e0"}},{"code_sha256_prefix":"2b7c6aa449d316cc","entry":"arg_natural_sort","repo":"google-research/compressive-visual-representations","repo_kind":"official","path":"compressive_visual_representations/model.py","file_url":"https://github.com/google-research/compressive-visual-representations/blob/HEAD/compressive_visual_representations/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2b7c6aa449d316cc"}},{"code_sha256_prefix":"7182c3d894d78468","entry":"cosine_ramping_schedule","repo":"google-research/compressive-visual-representations","repo_kind":"official","path":"compressive_visual_representations/model_util.py","file_url":"https://github.com/google-research/compressive-visual-representations/blob/HEAD/compressive_visual_representations/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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7182c3d894d78468"}},{"code_sha256_prefix":"14ec8ff095316493","entry":"get_train_steps","repo":"google-research/compressive-visual-representations","repo_kind":"official","path":"compressive_visual_representations/model_util.py","file_url":"https://github.com/google-research/compressive-visual-representations/blob/HEAD/compressive_visual_representations/model_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"14ec8ff095316493"}},{"code_sha256_prefix":"53256e57b7ff1522","entry":"natural_key","repo":"google-research/compressive-visual-representations","repo_kind":"official","path":"compressive_visual_representations/model.py","file_url":"https://github.com/google-research/compressive-visual-representations/blob/HEAD/compressive_visual_representations/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"53256e57b7ff1522"}},{"code_sha256_prefix":"293ca4cd93119d57","entry":"random_apply","repo":"google-research/compressive-visual-representations","repo_kind":"official","path":"compressive_visual_representations/data_util.py","file_url":"https://github.com/google-research/compressive-visual-representations/blob/HEAD/compressive_visual_representations/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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"293ca4cd93119d57"}},{"code_sha256_prefix":"35f2f206e2a2532c","entry":"random_brightness","repo":"google-research/compressive-visual-representations","repo_kind":"official","path":"compressive_visual_representations/data_util.py","file_url":"https://github.com/google-research/compressive-visual-representations/blob/HEAD/compressive_visual_representations/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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"35f2f206e2a2532c"}},{"code_sha256_prefix":"808316afe07e1036","entry":"resnet","repo":"google-research/compressive-visual-representations","repo_kind":"official","path":"compressive_visual_representations/resnet.py","file_url":"https://github.com/google-research/compressive-visual-representations/blob/HEAD/compressive_visual_representations/resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"808316afe07e1036"}},{"code_sha256_prefix":"661534bbe78e800f","entry":"to_grayscale","repo":"google-research/compressive-visual-representations","repo_kind":"official","path":"compressive_visual_representations/data_util.py","file_url":"https://github.com/google-research/compressive-visual-representations/blob/HEAD/compressive_visual_representations/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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"661534bbe78e800f"}},{"code_sha256_prefix":"cb79992de5bf735c","entry":"tpu_cross_replica_concat","repo":"google-research/compressive-visual-representations","repo_kind":"official","path":"compressive_visual_representations/objective.py","file_url":"https://github.com/google-research/compressive-visual-representations/blob/HEAD/compressive_visual_representations/objective.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cb79992de5bf735c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}