{"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/spurious-features-everywhere-large-scale","title":"Spurious Features Everywhere -- Large-Scale Detection of Harmful Spurious Features in ImageNet","arxiv_id":"2212.04871","date":"2022-12-09","proceeding":null,"authors":["Yannic Neuhaus","Maximilian Augustin","Valentyn Boreiko","Matthias Hein"],"abstract":"Benchmark performance of deep learning classifiers alone is not a reliable predictor for the performance of a deployed model. In particular, if the image classifier has picked up spurious features in the training data, its predictions can fail in unexpected ways. In this paper, we develop a framework that allows us to systematically identify spurious features in large datasets like ImageNet. It is based on our neural PCA components and their visualization. Previous work on spurious features often operates in toy settings or requires costly pixel-wise annotations. In contrast, we work with ImageNet and validate our results by showing that presence of the harmful spurious feature of a class alone is sufficient to trigger the prediction of that class. We introduce the novel dataset \"Spurious ImageNet\" which allows to measure the reliance of any ImageNet classifier on harmful spurious features. Moreover, we introduce SpuFix as a simple mitigation method to reduce the dependence of any ImageNet classifier on previously identified harmful spurious features without requiring additional labels or retraining of the model. We provide code and data at https://github.com/YanNeu/spurious_imagenet .","url_abs":"https://arxiv.org/abs/2212.04871v2","url_pdf":"https://arxiv.org/pdf/2212.04871v2.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":"spurious-features-everywhere-large-scale","repo_url":"https://github.com/yanneu/spurious_imagenet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"pca","method_name":"PCA"},{"method_slug":"fail","method_name":"fail"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2212.04871","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2212.04871"}},"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/yanneu/spurious_imagenet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":9},"by_repo_kind":{"official":{"samples":9,"ran":0,"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":"5ee354f617a22064","entry":"Cifar100Wrapper","repo":"yanneu/spurious_imagenet","repo_kind":"official","path":"utils/model_normalization.py","file_url":"https://github.com/yanneu/spurious_imagenet/blob/HEAD/utils/model_normalization.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":true,"mcp_get_code":{"code_sha256":"5ee354f617a22064"}},{"code_sha256_prefix":"5d6dab57416051a2","entry":"Cifar10Wrapper","repo":"yanneu/spurious_imagenet","repo_kind":"official","path":"utils/model_normalization.py","file_url":"https://github.com/yanneu/spurious_imagenet/blob/HEAD/utils/model_normalization.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":true,"mcp_get_code":{"code_sha256":"5d6dab57416051a2"}},{"code_sha256_prefix":"5e4bc4339ac07e03","entry":"IdentityWrapper","repo":"yanneu/spurious_imagenet","repo_kind":"official","path":"utils/model_normalization.py","file_url":"https://github.com/yanneu/spurious_imagenet/blob/HEAD/utils/model_normalization.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":true,"mcp_get_code":{"code_sha256":"5e4bc4339ac07e03"}},{"code_sha256_prefix":"1c77b1953d1d020f","entry":"get_devices","repo":"yanneu/spurious_imagenet","repo_kind":"official","path":"dataset/evaluate_all_models.py","file_url":"https://github.com/yanneu/spurious_imagenet/blob/HEAD/dataset/evaluate_all_models.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":true,"mcp_get_code":{"code_sha256":"1c77b1953d1d020f"}},{"code_sha256_prefix":"7d476c2ca8c4113d","entry":"get_filename","repo":"yanneu/spurious_imagenet","repo_kind":"official","path":"utils/load_trained_model.py","file_url":"https://github.com/yanneu/spurious_imagenet/blob/HEAD/utils/load_trained_model.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":true,"mcp_get_code":{"code_sha256":"7d476c2ca8c4113d"}},{"code_sha256_prefix":"6beb22623078f3ab","entry":"get_imageNet_augmentation","repo":"yanneu/spurious_imagenet","repo_kind":"official","path":"utils/datasets/augmentations/imagenet_augmentation.py","file_url":"https://github.com/yanneu/spurious_imagenet/blob/HEAD/utils/datasets/augmentations/imagenet_augmentation.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":true,"mcp_get_code":{"code_sha256":"6beb22623078f3ab"}},{"code_sha256_prefix":"42944c69bbfd2e3e","entry":"get_last_layer","repo":"yanneu/spurious_imagenet","repo_kind":"official","path":"utils/get_last_layer.py","file_url":"https://github.com/yanneu/spurious_imagenet/blob/HEAD/utils/get_last_layer.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":true,"mcp_get_code":{"code_sha256":"42944c69bbfd2e3e"}},{"code_sha256_prefix":"dc454284a7278a38","entry":"get_probabilities_targets","repo":"yanneu/spurious_imagenet","repo_kind":"official","path":"dataset/spurious_score.py","file_url":"https://github.com/yanneu/spurious_imagenet/blob/HEAD/dataset/spurious_score.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":true,"mcp_get_code":{"code_sha256":"dc454284a7278a38"}},{"code_sha256_prefix":"5c7055620a1580fd","entry":"get_spurious_datasets_crop_resize","repo":"yanneu/spurious_imagenet","repo_kind":"official","path":"dataset/spurious_dataset.py","file_url":"https://github.com/yanneu/spurious_imagenet/blob/HEAD/dataset/spurious_dataset.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":true,"mcp_get_code":{"code_sha256":"5c7055620a1580fd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}