{"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/a-unified-dro-view-of-multi-class-loss","title":"Label Distributionally Robust Losses for Multi-class Classification: Consistency, Robustness and Adaptivity","arxiv_id":"2112.14869","date":"2021-12-30","proceeding":null,"authors":["Dixian Zhu","Yiming Ying","Tianbao Yang"],"abstract":"We study a family of loss functions named label-distributionally robust (LDR) losses for multi-class classification that are formulated from distributionally robust optimization (DRO) perspective, where the uncertainty in the given label information are modeled and captured by taking the worse case of distributional weights. The benefits of this perspective are several fold: (i) it provides a unified framework to explain the classical cross-entropy (CE) loss and SVM loss and their variants, (ii) it includes a special family corresponding to the temperature-scaled CE loss, which is widely adopted but poorly understood; (iii) it allows us to achieve adaptivity to the uncertainty degree of label information at an instance level. Our contributions include: (1) we study both consistency and robustness by establishing top-$k$ ($\\forall k\\geq 1$) consistency of LDR losses for multi-class classification, and a negative result that a top-$1$ consistent and symmetric robust loss cannot achieve top-$k$ consistency simultaneously for all $k\\geq 2$; (2) we propose a new adaptive LDR loss that automatically adapts the individualized temperature parameter to the noise degree of class label of each instance; (3) we demonstrate stable and competitive performance for the proposed adaptive LDR loss on 7 benchmark datasets under 6 noisy label and 1 clean settings against 13 loss functions, and on one real-world noisy dataset. The code is open-sourced at \\url{https://github.com/Optimization-AI/ICML2023_LDR}.","url_abs":"https://arxiv.org/abs/2112.14869v4","url_pdf":"https://arxiv.org/pdf/2112.14869v4.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":"a-unified-dro-view-of-multi-class-loss","repo_url":"https://github.com/optimization-ai/icml2023_ldr","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"classification-consistency","task_name":"Classification Consistency"},{"task_slug":"multi-class-classification","task_name":"Multi-class Classification"}],"methods":[{"method_slug":"svm","method_name":"SVM"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2112.14869","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2112.14869"}},"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/optimization-ai/icml2023_ldr","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_honours":1,"unverified":5},"by_repo_kind":{"official":{"samples":6,"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":"f508a1f840aee873","entry":"custom_kl_div","repo":"optimization-ai/icml2023_ldr","repo_kind":"official","path":"loss.py","file_url":"https://github.com/optimization-ai/icml2023_ldr/blob/HEAD/loss.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f508a1f840aee873"}},{"code_sha256_prefix":"d4843b073e8ebe6d","entry":"classDep_news20","repo":"optimization-ai/icml2023_ldr","repo_kind":"official","path":"utils.py","file_url":"https://github.com/optimization-ai/icml2023_ldr/blob/HEAD/utils.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":"d4843b073e8ebe6d"}},{"code_sha256_prefix":"e29fb5df929d6ce3","entry":"classDep_noise","repo":"optimization-ai/icml2023_ldr","repo_kind":"official","path":"utils.py","file_url":"https://github.com/optimization-ai/icml2023_ldr/blob/HEAD/utils.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":"e29fb5df929d6ce3"}},{"code_sha256_prefix":"f60e13e1abbcc5e9","entry":"get_diff_logits","repo":"optimization-ai/icml2023_ldr","repo_kind":"official","path":"loss.py","file_url":"https://github.com/optimization-ai/icml2023_ldr/blob/HEAD/loss.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":"f60e13e1abbcc5e9"}},{"code_sha256_prefix":"6aa330218689bf8a","entry":"load_data","repo":"optimization-ai/icml2023_ldr","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/optimization-ai/icml2023_ldr/blob/HEAD/datasets.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":"6aa330218689bf8a"}},{"code_sha256_prefix":"7aecc9d549752f9c","entry":"uniform_noise","repo":"optimization-ai/icml2023_ldr","repo_kind":"official","path":"utils.py","file_url":"https://github.com/optimization-ai/icml2023_ldr/blob/HEAD/utils.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":"7aecc9d549752f9c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}