{"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/asymmetric-loss-for-multi-label","title":"Asymmetric Loss For Multi-Label Classification","arxiv_id":"2009.14119","date":"2020-09-29","proceeding":"ICCV 2021 10","authors":["Emanuel Ben-Baruch","Tal Ridnik","Nadav Zamir","Asaf Noy","Itamar Friedman","Matan Protter","Lihi Zelnik-Manor"],"abstract":"In a typical multi-label setting, a picture contains on average few positive labels, and many negative ones. This positive-negative imbalance dominates the optimization process, and can lead to under-emphasizing gradients from positive labels during training, resulting in poor accuracy. In this paper, we introduce a novel asymmetric loss (\"ASL\"), which operates differently on positive and negative samples. The loss enables to dynamically down-weights and hard-thresholds easy negative samples, while also discarding possibly mislabeled samples. We demonstrate how ASL can balance the probabilities of different samples, and how this balancing is translated to better mAP scores. With ASL, we reach state-of-the-art results on multiple popular multi-label datasets: MS-COCO, Pascal-VOC, NUS-WIDE and Open Images. We also demonstrate ASL applicability for other tasks, such as single-label classification and object detection. ASL is effective, easy to implement, and does not increase the training time or complexity. Implementation is available at: https://github.com/Alibaba-MIIL/ASL.","url_abs":"https://arxiv.org/abs/2009.14119v4","url_pdf":"https://arxiv.org/pdf/2009.14119v4.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":"asymmetric-loss-for-multi-label","repo_url":"https://github.com/Alibaba-MIIL/ASL","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"asymmetric-loss-for-multi-label","repo_url":"https://github.com/Alibaba-MIIL/TResNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"asymmetric-loss-for-multi-label","repo_url":"https://github.com/SlongLiu/ASL_reproduce","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"asymmetric-loss-for-multi-label","repo_url":"https://github.com/kalelpark/ral","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"asymmetric-loss-for-multi-label","repo_url":"https://github.com/mrT23/TResNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"multi-label-classification-2","task_name":"MUlTI-LABEL-ClASSIFICATION"},{"task_slug":"multi-label-classification","task_name":"Multi-Label Classification"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/multi-label-classification-on-ms-coco","task":"Multi-Label Classification","dataset":"MS-COCO","model":"TResNet-XL (resolution 640)","rank_in_archive_order":15,"of":34,"metrics":{"mAP":"88.4"},"uses_additional_data":false},{"leaderboard":"/sota/multi-label-classification-on-ms-coco","task":"Multi-Label Classification","dataset":"MS-COCO","model":"TResNet-L (resolution 448)","rank_in_archive_order":20,"of":34,"metrics":{"mAP":"86.6"},"uses_additional_data":false},{"leaderboard":"/sota/multi-label-classification-on-nus-wide","task":"Multi-Label Classification","dataset":"NUS-WIDE","model":"TResNet-L (resolution 448)","rank_in_archive_order":4,"of":9,"metrics":{"MAP":"65.2"},"uses_additional_data":false},{"leaderboard":"/sota/multi-label-classification-on-openimages-v6","task":"Multi-Label Classification","dataset":"OpenImages-v6","model":"TResNet-L","rank_in_archive_order":4,"of":4,"metrics":{"mAP":"86.3"},"uses_additional_data":false},{"leaderboard":"/sota/multi-label-classification-on-pascal-voc-2007","task":"Multi-Label Classification","dataset":"PASCAL VOC 2007","model":"TResNet-L (resolution 448, pretrain from MS-COCO)","rank_in_archive_order":8,"of":17,"metrics":{"mAP":"95.8"},"uses_additional_data":false},{"leaderboard":"/sota/multi-label-classification-on-pascal-voc-2007","task":"Multi-Label Classification","dataset":"PASCAL VOC 2007","model":"TResNet-L (resolution 448, pretrain from ImageNet)","rank_in_archive_order":12,"of":17,"metrics":{"mAP":"94.6"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2009.14119","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2009.14119"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mrT23/TResNet","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kalelpark/ral","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Alibaba-MIIL/ASL","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Alibaba-MIIL/TResNet","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/SlongLiu/ASL_reproduce","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"ran_draft_wrong":2,"ran":1,"unverified":8},"by_repo_kind":{"listed":{"samples":12,"ran":4,"repositories":2}},"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":7,"samples":[{"code_sha256_prefix":"f52b226226096fdd","entry":"average_precision","repo":"SlongLiu/ASL_reproduce","repo_kind":"listed","path":"src/helper_functions/helper_functions.py","file_url":"https://github.com/SlongLiu/ASL_reproduce/blob/HEAD/src/helper_functions/helper_functions.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":false,"mcp_get_code":{"code_sha256":"f52b226226096fdd"}},{"code_sha256_prefix":"ad1cabd96edaffc7","entry":"conv2d","repo":"SlongLiu/ASL_reproduce","repo_kind":"listed","path":"src/models/tresnet/tresnet.py","file_url":"https://github.com/SlongLiu/ASL_reproduce/blob/HEAD/src/models/tresnet/tresnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":false,"mcp_get_code":{"code_sha256":"ad1cabd96edaffc7"}},{"code_sha256_prefix":"583f9780bdd00a45","entry":"conv3x3","repo":"mrT23/TResNet","repo_kind":"listed","path":"src/models/tresnet_v2/tresnet_v2.py","file_url":"https://github.com/mrT23/TResNet/blob/HEAD/src/models/tresnet_v2/tresnet_v2.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"583f9780bdd00a45"}},{"code_sha256_prefix":"044fe3f67aac5e39","entry":"parse_args","repo":"SlongLiu/ASL_reproduce","repo_kind":"listed","path":"src/helper_functions/helper_functions.py","file_url":"https://github.com/SlongLiu/ASL_reproduce/blob/HEAD/src/helper_functions/helper_functions.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":false,"mcp_get_code":{"code_sha256":"044fe3f67aac5e39"}},{"code_sha256_prefix":"4d3faaaa1c706b0b","entry":"accuracy","repo":"mrT23/TResNet","repo_kind":"listed","path":"src/helper_functions/helper_functions.py","file_url":"https://github.com/mrT23/TResNet/blob/HEAD/src/helper_functions/helper_functions.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":"4d3faaaa1c706b0b"}},{"code_sha256_prefix":"92502509d71ac473","entry":"conv3x3_depth","repo":"mrT23/TResNet","repo_kind":"listed","path":"src/models/tresnet_v2/tresnet_v2.py","file_url":"https://github.com/mrT23/TResNet/blob/HEAD/src/models/tresnet_v2/tresnet_v2.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":"92502509d71ac473"}},{"code_sha256_prefix":"df7d18ef933d037a","entry":"create_dataloader","repo":"mrT23/TResNet","repo_kind":"listed","path":"src/helper_functions/helper_functions.py","file_url":"https://github.com/mrT23/TResNet/blob/HEAD/src/helper_functions/helper_functions.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":"df7d18ef933d037a"}},{"code_sha256_prefix":"f046cb82f2f2f60a","entry":"create_model","repo":"SlongLiu/ASL_reproduce","repo_kind":"listed","path":"src/models/utils/factory.py","file_url":"https://github.com/SlongLiu/ASL_reproduce/blob/HEAD/src/models/utils/factory.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":false,"mcp_get_code":{"code_sha256":"f046cb82f2f2f60a"}},{"code_sha256_prefix":"0759c5625039d127","entry":"mAP","repo":"SlongLiu/ASL_reproduce","repo_kind":"listed","path":"src/helper_functions/helper_functions.py","file_url":"https://github.com/SlongLiu/ASL_reproduce/blob/HEAD/src/helper_functions/helper_functions.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":false,"mcp_get_code":{"code_sha256":"0759c5625039d127"}},{"code_sha256_prefix":"55faa58ee2b0d1b7","entry":"setup_logger","repo":"SlongLiu/ASL_reproduce","repo_kind":"listed","path":"src/helper_functions/logger.py","file_url":"https://github.com/SlongLiu/ASL_reproduce/blob/HEAD/src/helper_functions/logger.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":false,"mcp_get_code":{"code_sha256":"55faa58ee2b0d1b7"}},{"code_sha256_prefix":"50a335a67cb29af0","entry":"str_to_list","repo":"SlongLiu/ASL_reproduce","repo_kind":"listed","path":"src/helper_functions/nuswide_asl.py","file_url":"https://github.com/SlongLiu/ASL_reproduce/blob/HEAD/src/helper_functions/nuswide_asl.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":false,"mcp_get_code":{"code_sha256":"50a335a67cb29af0"}},{"code_sha256_prefix":"db31998e52bea4c8","entry":"validate","repo":"mrT23/TResNet","repo_kind":"listed","path":"src/helper_functions/helper_functions.py","file_url":"https://github.com/mrT23/TResNet/blob/HEAD/src/helper_functions/helper_functions.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":"db31998e52bea4c8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}