{"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/constructing-balance-from-imbalance-for-long","title":"Constructing Balance from Imbalance for Long-tailed Image Recognition","arxiv_id":"2208.02567","date":"2022-08-04","proceeding":null,"authors":["Yue Xu","Yong-Lu Li","Jiefeng Li","Cewu Lu"],"abstract":"Long-tailed image recognition presents massive challenges to deep learning systems since the imbalance between majority (head) classes and minority (tail) classes severely skews the data-driven deep neural networks. Previous methods tackle with data imbalance from the viewpoints of data distribution, feature space, and model design, etc. In this work, instead of directly learning a recognition model, we suggest confronting the bottleneck of head-to-tail bias before classifier learning, from the previously omitted perspective of balancing label space. To alleviate the head-to-tail bias, we propose a concise paradigm by progressively adjusting label space and dividing the head classes and tail classes, dynamically constructing balance from imbalance to facilitate the classification. With flexible data filtering and label space mapping, we can easily embed our approach to most classification models, especially the decoupled training methods. Besides, we find the separability of head-tail classes varies among different features with different inductive biases. Hence, our proposed model also provides a feature evaluation method and paves the way for long-tailed feature learning. Extensive experiments show that our method can boost the performance of state-of-the-arts of different types on widely-used benchmarks. Code is available at https://github.com/silicx/DLSA.","url_abs":"https://arxiv.org/abs/2208.02567v2","url_pdf":"https://arxiv.org/pdf/2208.02567v2.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":"constructing-balance-from-imbalance-for-long","repo_url":"https://github.com/silicx/dlsa","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2208.02567","atlas_url":"https://app.syntology.ai/?focus=2208.02567","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2208.02567"}},"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/silicx/dlsa","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/silicx/DLSA","reach":null}],"summary":{"ran":3,"ran_draft_wrong":2,"unverified":3},"by_repo_kind":{"official":{"samples":8,"ran":5,"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":"e4887aebe0516750","entry":"BalancedSoftmaxLoss","repo":"silicx/DLSA","repo_kind":"official","path":"solvers/cluster_aided_classifier.py","file_url":"https://github.com/silicx/DLSA/blob/HEAD/solvers/cluster_aided_classifier.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e4887aebe0516750"}},{"code_sha256_prefix":"4fb85c99d3053a81","entry":"BalancedSoftmaxLoss_v2","repo":"silicx/DLSA","repo_kind":"official","path":"solvers/cluster_aided_classifier.py","file_url":"https://github.com/silicx/DLSA/blob/HEAD/solvers/cluster_aided_classifier.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4fb85c99d3053a81"}},{"code_sha256_prefix":"dc2e4e06b6763296","entry":"CrossEntropyLossWrapper","repo":"silicx/DLSA","repo_kind":"official","path":"solvers/cluster_aided_classifier.py","file_url":"https://github.com/silicx/DLSA/blob/HEAD/solvers/cluster_aided_classifier.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"dc2e4e06b6763296"}},{"code_sha256_prefix":"b4b28f623377a685","entry":"eval_cluster_aided_classifier","repo":"silicx/DLSA","repo_kind":"official","path":"solvers/cluster_aided_classifier.py","file_url":"https://github.com/silicx/DLSA/blob/HEAD/solvers/cluster_aided_classifier.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b4b28f623377a685"}},{"code_sha256_prefix":"757b8fc1441702d9","entry":"get_classification_loss","repo":"silicx/DLSA","repo_kind":"official","path":"solvers/cluster_aided_classifier.py","file_url":"https://github.com/silicx/DLSA/blob/HEAD/solvers/cluster_aided_classifier.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"757b8fc1441702d9"}},{"code_sha256_prefix":"58558daeef4e2285","entry":"adjust_learning_rate","repo":"silicx/DLSA","repo_kind":"official","path":"solvers/cluster_aided_classifier.py","file_url":"https://github.com/silicx/DLSA/blob/HEAD/solvers/cluster_aided_classifier.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":"58558daeef4e2285"}},{"code_sha256_prefix":"2d1bf3bf736db923","entry":"shot_acc","repo":"silicx/DLSA","repo_kind":"official","path":"solvers/cluster_aided_classifier.py","file_url":"https://github.com/silicx/DLSA/blob/HEAD/solvers/cluster_aided_classifier.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":"2d1bf3bf736db923"}},{"code_sha256_prefix":"fe028e773391bd55","entry":"train_cluster_aided_classifier","repo":"silicx/DLSA","repo_kind":"official","path":"solvers/cluster_aided_classifier.py","file_url":"https://github.com/silicx/DLSA/blob/HEAD/solvers/cluster_aided_classifier.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":"fe028e773391bd55"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}