{"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/invariant-feature-learning-for-generalized","title":"Invariant Feature Learning for Generalized Long-Tailed Classification","arxiv_id":"2207.09504","date":"2022-07-19","proceeding":null,"authors":["Kaihua Tang","Mingyuan Tao","Jiaxin Qi","Zhenguang Liu","Hanwang Zhang"],"abstract":"Existing long-tailed classification (LT) methods only focus on tackling the class-wise imbalance that head classes have more samples than tail classes, but overlook the attribute-wise imbalance. In fact, even if the class is balanced, samples within each class may still be long-tailed due to the varying attributes. Note that the latter is fundamentally more ubiquitous and challenging than the former because attributes are not just implicit for most datasets, but also combinatorially complex, thus prohibitively expensive to be balanced. Therefore, we introduce a novel research problem: Generalized Long-Tailed classification (GLT), to jointly consider both kinds of imbalances. By \"generalized\", we mean that a GLT method should naturally solve the traditional LT, but not vice versa. Not surprisingly, we find that most class-wise LT methods degenerate in our proposed two benchmarks: ImageNet-GLT and MSCOCO-GLT. We argue that it is because they over-emphasize the adjustment of class distribution while neglecting to learn attribute-invariant features. To this end, we propose an Invariant Feature Learning (IFL) method as the first strong baseline for GLT. IFL first discovers environments with divergent intra-class distributions from the imperfect predictions and then learns invariant features across them. Promisingly, as an improved feature backbone, IFL boosts all the LT line-up: one/two-stage re-balance, augmentation, and ensemble. Codes and benchmarks are available on Github: https://github.com/KaihuaTang/Generalized-Long-Tailed-Benchmarks.pytorch","url_abs":"https://arxiv.org/abs/2207.09504v2","url_pdf":"https://arxiv.org/pdf/2207.09504v2.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":"invariant-feature-learning-for-generalized","repo_url":"https://github.com/kaihuatang/generalized-long-tailed-benchmarks.pytorch","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"attribute","task_name":"Attribute"},{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"long-tail-learning","task_name":"Long-tail Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/long-tail-learning-on-imagenet-glt","task":"Long-tail Learning","dataset":"ImageNet-GLT","model":"RIDE + IFL","rank_in_archive_order":1,"of":6,"metrics":{"Accuracy":"45.64"},"uses_additional_data":false},{"leaderboard":"/sota/long-tail-learning-on-imagenet-glt","task":"Long-tail Learning","dataset":"ImageNet-GLT","model":"RandAug + IFL","rank_in_archive_order":2,"of":6,"metrics":{"Accuracy":"44.90"},"uses_additional_data":false},{"leaderboard":"/sota/long-tail-learning-on-imagenet-glt","task":"Long-tail Learning","dataset":"ImageNet-GLT","model":"Logit-Adj + IFL","rank_in_archive_order":3,"of":6,"metrics":{"Accuracy":"40.52"},"uses_additional_data":false},{"leaderboard":"/sota/long-tail-learning-on-imagenet-glt","task":"Long-tail Learning","dataset":"ImageNet-GLT","model":"BLSoftmax + IFL","rank_in_archive_order":4,"of":6,"metrics":{"Accuracy":"40.08"},"uses_additional_data":false},{"leaderboard":"/sota/long-tail-learning-on-imagenet-glt","task":"Long-tail Learning","dataset":"ImageNet-GLT","model":"LDAM","rank_in_archive_order":5,"of":6,"metrics":{"Accuracy":"38.54"},"uses_additional_data":false},{"leaderboard":"/sota/long-tail-learning-on-imagenet-glt","task":"Long-tail Learning","dataset":"ImageNet-GLT","model":"cRT","rank_in_archive_order":6,"of":6,"metrics":{"Accuracy":"37.57"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2207.09504","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.09504"}},"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/kaihuatang/generalized-long-tailed-benchmarks.pytorch","reach":null}],"summary":{"ran":2},"by_repo_kind":{"official":{"samples":2,"ran":2,"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":2,"samples":[{"code_sha256_prefix":"e8cb21f73281d09e","entry":"ClassifierRIDE","repo":"kaihuatang/generalized-long-tailed-benchmarks.pytorch","repo_kind":"official","path":"models/ClassifierRIDE.py","file_url":"https://github.com/kaihuatang/generalized-long-tailed-benchmarks.pytorch/blob/HEAD/models/ClassifierRIDE.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e8cb21f73281d09e"}},{"code_sha256_prefix":"4def491970ecdbd0","entry":"NormedLinear","repo":"kaihuatang/generalized-long-tailed-benchmarks.pytorch","repo_kind":"official","path":"models/ClassifierRIDE.py","file_url":"https://github.com/kaihuatang/generalized-long-tailed-benchmarks.pytorch/blob/HEAD/models/ClassifierRIDE.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"4def491970ecdbd0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}