{"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-2604-23452","title":"From Edges to Depth: Probing the Spatial Hierarchy in Vision Transformers","arxiv_id":"2604.23452","date":"2026-04-25","proceeding":null,"authors":["Jainum Sanghavi"],"abstract":"Vision Transformers trained only on image classification routinely transfer to tasks that demand spatial understanding, yet they receive no spatial supervision during pretraining. We ask where and how robustly such structure is encoded. Probing a frozen ViT-B/16 layerwise for two complementary properties, local patch boundaries (BSDS500) and per-patch depth (NYU Depth V2), reveals a clear hierarchy: boundary structure becomes linearly decodable at layers 5-6 (AP = 0.833), while depth, which requires integrating global cues, peaks two to three layers later at layer 8 (MAE = 0.0875). Both signals collapse at the final classification layer, and random-weight controls confirm the encodings are learned rather than architectural. Causal interventions add specificity: ablating the single direction a linear depth probe reads degrades depth decoding by up to 165%, while ablating any other direction changes it by less than 1%. Targeted activation patching along that direction shows the depth signal is partially re-derived at each layer rather than passively carried in the residual stream, with mid-layer interventions persisting most strongly downstream. The result is that a classification-trained ViT develops an actively maintained spatial hierarchy that mirrors the early-to-late progression observed in the primate visual cortex.","url_abs":"https://arxiv.org/abs/2604.23452","url_pdf":"https://arxiv.org/pdf/2604.23452","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=2604.23452","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2604.23452"}},"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/JainumSanghavi/ProbingViTs","reach":null}],"summary":{"ran":2,"unverified":3},"by_repo_kind":{"found_in_text":{"samples":5,"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":5,"samples":[{"code_sha256_prefix":"e2b9f85bd4aec3b7","entry":"get_probe","repo":"JainumSanghavi/ProbingViTs","repo_kind":"found_in_text","path":"src/probes/linear_probe.py","file_url":"https://github.com/JainumSanghavi/ProbingViTs/blob/HEAD/src/probes/linear_probe.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e2b9f85bd4aec3b7"}},{"code_sha256_prefix":"365c7968af220a28","entry":"load_config","repo":"JainumSanghavi/ProbingViTs","repo_kind":"found_in_text","path":"src/utils/config.py","file_url":"https://github.com/JainumSanghavi/ProbingViTs/blob/HEAD/src/utils/config.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"365c7968af220a28"}},{"code_sha256_prefix":"9f1d0c9a9d3177bd","entry":"compute_baseline_metrics","repo":"JainumSanghavi/ProbingViTs","repo_kind":"found_in_text","path":"src/evaluation/metrics.py","file_url":"https://github.com/JainumSanghavi/ProbingViTs/blob/HEAD/src/evaluation/metrics.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":"9f1d0c9a9d3177bd"}},{"code_sha256_prefix":"6f6d4fd48c62249e","entry":"evaluate_all_probes","repo":"JainumSanghavi/ProbingViTs","repo_kind":"found_in_text","path":"src/evaluation/metrics.py","file_url":"https://github.com/JainumSanghavi/ProbingViTs/blob/HEAD/src/evaluation/metrics.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":"6f6d4fd48c62249e"}},{"code_sha256_prefix":"7966e0a59b57e9bd","entry":"evaluate_probe","repo":"JainumSanghavi/ProbingViTs","repo_kind":"found_in_text","path":"src/evaluation/metrics.py","file_url":"https://github.com/JainumSanghavi/ProbingViTs/blob/HEAD/src/evaluation/metrics.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":"7966e0a59b57e9bd"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}