{"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/synco-synthetic-hard-negatives-in-contrastive","title":"SynCo: Synthetic Hard Negatives in Contrastive Learning for Better Unsupervised Visual Representations","arxiv_id":"2410.02401","date":"2024-10-03","proceeding":null,"authors":["Nikolaos Giakoumoglou","Tania Stathaki"],"abstract":"Contrastive learning has become a dominant approach in self-supervised visual representation learning. Hard negatives - samples closely resembling the anchor - are key to enhancing learned representations' discriminative power. However, efficiently leveraging hard negatives remains challenging. We introduce SynCo (Synthetic Negatives in Contrastive learning), a novel approach that improves model performance by generating synthetic hard negatives on the representation space. Building on the MoCo framework, SynCo introduces six strategies for creating diverse synthetic hard negatives on-the-fly with minimal computational overhead. SynCo achieves faster training and better representation learning, reaching 67.9% top-1 accuracy on ImageNet ILSVRC-2012 linear evaluation after 200 pretraining epochs, surpassing MoCo's 67.5% using the same ResNet-50 encoder. It also transfers more effectively to detection tasks: on PASCAL VOC, it outperforms both the supervised baseline and MoCo with 82.5% AP; on COCO, it sets new benchmarks with 40.9% AP for bounding box detection and 35.5% AP for instance segmentation. Our synthetic hard negative generation approach significantly enhances visual representations learned through self-supervised contrastive learning. Code is available at https://github.com/giakoumoglou/synco.","url_abs":"https://arxiv.org/abs/2410.02401v5","url_pdf":"https://arxiv.org/pdf/2410.02401v5.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":"synco-synthetic-hard-negatives-in-contrastive","repo_url":"https://github.com/giakoumoglou/synco","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-segmentation","task_name":"Image Segmentation"},{"task_slug":"instance-segmentation","task_name":"Instance Segmentation"},{"task_slug":"linear-evaluation","task_name":"Linear evaluation"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"self-supervised-image-classification","task_name":"Self-Supervised Image Classification"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"semi-supervised-image-classification","task_name":"Semi-Supervised Image Classification"},{"task_slug":"unsupervised-pre-training","task_name":"Unsupervised Pre-training"}],"methods":[{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"},{"method_slug":"faster-r-cnn","method_name":"Faster R-CNN"},{"method_slug":"infonce","method_name":"InfoNCE"},{"method_slug":"mask-r-cnn","method_name":"Mask R-CNN"},{"method_slug":"moco","method_name":"MoCo"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-segmentation-on-coco-val2017","task":"Image Segmentation","dataset":"COCO val2017","model":"SynCo (ResNet-50) 200ep","rank_in_archive_order":1,"of":1,"metrics":{"mask AP":"35.4"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-coco-val2017","task":"Object Detection","dataset":"COCO val2017","model":"SynCo (ResNet-50) 200ep","rank_in_archive_order":1,"of":1,"metrics":{"Bounding Box AP":"40.4"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-pascal-voc-2012-test","task":"Object Detection","dataset":"PASCAL VOC 2012 test","model":"SynCo (ResNet-50) 200ep","rank_in_archive_order":1,"of":1,"metrics":{"Bounding Box AP":"57.2"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-image-classification-on","task":"Self-Supervised Image Classification","dataset":"ImageNet","model":"SynCo (ResNet-50) 800ep","rank_in_archive_order":101,"of":144,"metrics":{"Number of Params":"24M","Top 1 Accuracy":"70.6%","Top 5 Accuracy":"89.8%"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-image-classification-on","task":"Self-Supervised Image Classification","dataset":"ImageNet","model":"SynCo (ResNet-50) 200ep","rank_in_archive_order":108,"of":144,"metrics":{"Number of Params":"24M","Top 1 Accuracy":"67.9%","Top 5 Accuracy":"88"},"uses_additional_data":false},{"leaderboard":"/sota/semi-supervised-image-classification-on-1","task":"Semi-Supervised Image Classification","dataset":"ImageNet - 1% labeled data","model":"SynCo (ResNet-50) 800ep","rank_in_archive_order":51,"of":65,"metrics":{"Number of params":"24M","Top 1 Accuracy":"50.8%","Top 5 Accuracy":"77.5%"},"uses_additional_data":false},{"leaderboard":"/sota/semi-supervised-image-classification-on-2","task":"Semi-Supervised Image Classification","dataset":"ImageNet - 10% labeled data","model":"SynCo (ResNet-50) 800ep","rank_in_archive_order":44,"of":75,"metrics":{"Number of params":"24M","Top 1 Accuracy":"66.6%","Top 5 Accuracy":"88.0%"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}