{"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/arxiv-2510-22127","title":"Mint: A Simple Test-Time Adaptation of Vision-Language Models against Common Corruptions","arxiv_id":"2510.22127","date":"2025-10-25","proceeding":"NeurIPS","authors":["Wenxuan Bao","Ruxi Deng","Jingrui He"],"abstract":"Pretrained vision-language models such as CLIP achieve strong zero-shot generalization but remain vulnerable to distribution shifts caused by input corruptions. In this work, we investigate how corruptions affect CLIP's image embeddings and uncover a consistent phenomenon we term as embedding variance collapse, where both intra-class and inter-class variances shrink as corruption severity increases. We find that this collapse is closely tied to performance degradation, with inter-class variance strongly correlated with classification accuracy. To explain this phenomenon, we analyze how corruptions alter the structure of the embedding space. Our theoretical results suggest that the visual encoder tends to encode corruption-related signals, which dilute class-discriminative features and compress the representation geometry. We further show that maximizing inter-class variance, even when estimated from pseudo-labels, can provably enhance embedding quality. Based on this insight, we propose Mint, a simple test-time adaptation method that maximizes pseudo-label-based inter-class variance on the fly using a mean accumulator and a gradient accumulator. Mint operates effectively with small batch sizes and consistently improves performance across multiple corruption benchmarks and CLIP architectures. Our code is available at https://github.com/baowenxuan/Mint .","url_abs":"https://arxiv.org/abs/2510.22127","url_pdf":"https://arxiv.org/pdf/2510.22127","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2510.22127","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2510.22127"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/baowenxuan/Mint","reach":{"status":"ok"}}],"summary":{"ran_honours":1,"unverified":5},"by_repo_kind":{"found_in_text":{"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":6,"samples":[{"code_sha256_prefix":"f321f54723433661","entry":"pil_loader","repo":"baowenxuan/Mint","repo_kind":"found_in_text","path":"src/datasets/utils.py","file_url":"https://github.com/baowenxuan/Mint/blob/HEAD/src/datasets/utils.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f321f54723433661"}},{"code_sha256_prefix":"404fb2b2daa1ae78","entry":"accimage_loader","repo":"baowenxuan/Mint","repo_kind":"found_in_text","path":"src/datasets/utils.py","file_url":"https://github.com/baowenxuan/Mint/blob/HEAD/src/datasets/utils.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"404fb2b2daa1ae78"}},{"code_sha256_prefix":"f0706a15b36dcf6a","entry":"configure_model","repo":"baowenxuan/Mint","repo_kind":"found_in_text","path":"src/methods/utils.py","file_url":"https://github.com/baowenxuan/Mint/blob/HEAD/src/methods/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f0706a15b36dcf6a"}},{"code_sha256_prefix":"2328465aaf9ef7fe","entry":"get_vision_dataset_class","repo":"baowenxuan/Mint","repo_kind":"found_in_text","path":"src/datasets/vision.py","file_url":"https://github.com/baowenxuan/Mint/blob/HEAD/src/datasets/vision.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2328465aaf9ef7fe"}},{"code_sha256_prefix":"c62c4350be9aa59f","entry":"make_custom_dataset","repo":"baowenxuan/Mint","repo_kind":"found_in_text","path":"src/datasets/utils.py","file_url":"https://github.com/baowenxuan/Mint/blob/HEAD/src/datasets/utils.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c62c4350be9aa59f"}},{"code_sha256_prefix":"92f525cf6230e44e","entry":"read_classnames","repo":"baowenxuan/Mint","repo_kind":"found_in_text","path":"src/datasets/vision.py","file_url":"https://github.com/baowenxuan/Mint/blob/HEAD/src/datasets/vision.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"92f525cf6230e44e"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CV","source":"arxiv_api"},"syntology_extracted_results":null}