What Do Visual-Head Discovery Scores Actually Find? Attention Source, Necessity, and Random-Control Pitfalls in Vision-Language Models
Organizations: German Research Center for Artificial Intelligence (DFKI) Saarbrücken, Germany · Oldenburg University Oldenburg, Germany
Abstract
Attention heads that attend to image regions relevant to a question are increasingly used to steer, ground and interpret vision-language models (VLMs) and to reduce their hallucinations. They are mostly found by ranking heads with an attention- pattern score and validated by steering or masking them. We ask how the choices inside such a discovery score shape the heads it returns, and which of the two validations identifies them. On Qwen3-VL-8B-Instruct we vary the query type, the discovery corpus and the token positions whose attention is read (the attention source) in a full 2 x 3 x 2 design, and test all 12 head-sets for steerability (CERS: Contrastive Evidence-Region Steering score) and necessity (NCS: Necessity Con- trast Score) against layer-matched random head-sets. (1) The attention source and the query type reshape the selected heads far more than the corpus: changing the source keeps a median of 49 of the top-100 heads, the query 55 and the cor- pus 84, while two halves of the same data share 96-99. (2) Necessity follows the attention source: head-sets discovered from query-span attention are more nec- essary than last-token ones (difference 0.083, p=6 x 10^-10), and the two re- ferring + query-span sets lie 17-19 standard deviations above 250 layer-matched random sets (Holm-adjusted p=0.048). The referring + query-span effect re- plicates on several recent VLMs. (3) Steerability is not specific to the discovered heads: no discovered head-set steers better than its layer-matched random sets (rank p >= 0.14), and random sets drawn from the same or from any layer span the discovered sets' scores. Necessity therefore separates the discovery settings, while steering at this strength does not. We turn these findings into a protocol for reporting visual-head discoveries.
Figures & tables
| CERS (steerability) | NCS (necessity) | ||||||
| layer-matched random | any-layer random | layer-matched random | |||||
| Setting | [95% CI] | mean [95% CI] | mean [95% CI] | [95% CI] | mean [95% CI] | ||
| cm-ord-last | .003 [ .033, .027] | .039 [ .147, .069] | .43 | .268 [.171, .364] | .009 [ .021, .003] | .002 [ .003, .000] | 1.0 |
| cm-ord-out | .033 [.002, .064] | .079 [ .170, .011] | .24 | .028 [ .140, .084] | .017 [ .010, .044] | .000 [ .002, .002] | .048 |
| cm-ord-qsp | .139 [.111, .167] | .061 [ .023, .146] | .33 | .158 [.018, .297] | .043 [.011, .075] | .004 [ .006, .001] | .048 |
| cm-ref-last | .303 [ .341, .264] | .303 [.186, .420] | 1.0 | .136 [.005, .267] | .002 [ .029, .033] | .001 [ .001, .003] | .38 |
| flat top-100: NCS when masked at | top-3 heads per layer (108) | ||||
|---|---|---|---|---|---|
| Setting | all rows | question/option rows | last row | NCS | CERS / random ( ) |
| co-ref-qsp | [.086, .165] | [.100, .181] | .000 [ .003, .003] | [.013, .078] | .229 / .103 (.38) |
| co-ord-qsp | [.002, .070] | [.015, .083] | .001 [ .005, .002] | [ .004, .066] | .207 / .091 (.29) |
| co-ref-last | .002 [ .035, .032] | .001 [ .031, .028] | .003 [ .007, .001] | [ .020, .045] | .190 / .071 (.33) |
| co-ord-last | .002 [ .008, .004] | .002 [ .003, .006] | .001 [ .004, .002] | .005 [ .028, .038] | .458 / .195 (.24) |
| comics discovery | COCO discovery | |||
|---|---|---|---|---|
| Query + source | NCS [95% CI] | NCS [95% CI] | ||
| ord-last | .004 [ .001, .009] | .010 | .001 [.000, .001] | .010 |
| ord-out | .226 [.157, .294] | .010 | .268 [.195, .340] | .010 |
| ord-qsp | .194 [.129, .259] | .010 | .222 [.154, .290] | .010 |
| ref-last | .005 [ .004, .014] | .11 | .007 [ .003, .016] | .050 |
| ref-out | .247 [.176, .317] | .010 | .181 [.117, .244] | .010 |
| NCS (necessity) | CERS (steerability) | |||||
|---|---|---|---|---|---|---|
| query span + output | last token | query span + output | ||||
| Model | random | random | random | |||
| Qwen3-VL-4B | – | – | – | – | ||
| Qwen3.5-9B | – | – | – | – | ||
| Gemma-4-E4B | – | – | – | – | ||
| Ovis1.5-Llama3-8B | – | – | – | – | ||
Appendix figures & tables24 assets
Supplementary material from the paper’s appendix.
Appendix
| CERS | NCS | |||
|---|---|---|---|---|
| Setting | A | B | A | B |
| cm-ord-last | .43 | .095 | 1.00 | 1.00 |
| cm-ord-out | .24 | .048 | .048 | .048 |
| cm-ord-qsp | .33 | .048 | .048 | .048 |
| cm-ref-last | 1.00 | 1.00 | .38 | .24 |
| cm-ref-out | .62 | .24 | .048 | .048 |
| Setting | NCS | Control mean SD | |
|---|---|---|---|
| cm-ref-qsp | |||
| co-ref-qsp |
| Setting | matched | Matched drop | mism. | Mism. drop | NCS |
|---|---|---|---|---|---|
| cm-ord-last | [-0.005,0.001] | [-0.006,0.017] | [-0.019,0.004] | ||
| cm-ord-out | [0.009,0.036] | [-0.019,0.028] | [-0.010,0.045] | ||
| cm-ord-qsp | [0.015,0.042] | [-0.042,0.018] | [0.009,0.070] | ||
| cm-ref-last | [-0.000,0.010] | [-0.030,0.031] | [-0.027,0.034] | ||
| cm-ref-out | [0.017,0.048] | [-0.025,0.030] | [-0.001,0.059] | ||
| cm-ref-qsp | [0.083,0.135] | [-0.034,0.029] | [0.074,0.153] |
| Head-set | Heads | Matched drop | Mismatched drop | NCS | NCS-v2 | Text-arm drop (text masked) |
|---|---|---|---|---|---|---|
| Discovered ( ref-qspan ) | 100 | |||||
| Attention sinks | 100 | |||||
| Text-heavy heads | 100 | |||||
| Whole layers | 96 | |||||
| Random, 200 heads | 200 | |||||
| Random, 400 heads | 400 |
| flat top-100 | top-3 per layer (108) | ||||||
|---|---|---|---|---|---|---|---|
| Setting | Masked rows | [95% CI] | random | [95% CI] | random | ||
| co-ref-qsp | all rows | .126 [.086, .165] | .000 | .048 | .046 [.013, .078] | .001 | .048 |
| image rows | .001 [ .023, .020] | .002 | .86 | .010 [ .012, .033] | .000 | .048 | |
| question/option rows | .140 [.100, .181] | .004 | .048 | .056 [.025, .088] | .001 | .048 | |
| last row | .000 [ .003, .003] | .000 | .67 | .002 [ .006, .002] | .000 | 1.0 | |
| co-ord-qsp | all rows | .036 [.002, .070] | .002 | .048 | .031 [ .004, .066] | .003 | .048 |
| cm-ref-qsp | co-ref-qsp | |||||
|---|---|---|---|---|---|---|
| [95% CI] | random | [95% CI] | random | |||
| 20 | .036 [.005, .066] | .002 .004 | .048 | .015 [ .011, .041] | .001 .004 | .048 |
| 40 | .045 [.014, .076] | .001 .003 | .048 | .026 [ .005, .056] | .000 .004 | .048 |
| 60 | .041 | .001 .005 | .048 | .029 | .000 .005 | .048 |
| 100 | .116 [.078, .155] | .002 .007 | .004 | .126 [.086, .165] | .001 .007 | .004 |
| 140 | .204 [.160, .249] | .002 .004 | .048 | .092 | .001 .006 | .048 |
| Comparison | Source | Shared / only | Shared | A-only | B-only |
|---|---|---|---|---|---|
| corpus (cm vs co), ordinal | query span | / | (0.01) | (0.61) | (0.35) |
| corpus (cm vs co), ordinal | last token | / | (0.84) | (0.84) | (0.49) |
| query type (ord vs ref), comics | query span | / | (0.015) | (0.2) | (0.14) |
| query type (ord vs ref), comics | last token | / | (0.67) | (0.97) | (0.37) |
| source (X vs out), COCO ordinal | query span | / | (0.026) | (0.19) | (0.83) |
| source (X vs out), COCO ordinal | last token | / | (0.64) | (0.42) | (0.17) |
| NCS (region contrast) | CERS (symmetric) | |||||
|---|---|---|---|---|---|---|
| Setting | [95% CI] | random | [95% CI] | random | ||
| cm-ord-last | .004 [ .001, .009] | .000 [.000, .000] | .010 | .010 [ .052, .031] | .040 [ .078, .003] | .40 |
| cm-ord-out | .226 [.157, .294] | .001 [ .001, .000] | .010 | .027 [ .014, .068] | .102 [ .138, .066] | .21 |
| cm-ord-qsp | .194 [.129, .259] | .000 [.000, .001] | .010 | .141 [.106, .176] | .067 [.030, .104] | .37 |
| cm-ref-last | .005 [ .004, .014] | .001 [.001, .002] | .11 | .272 [ .325, .220] | .271 [.218, .325] | .99 |
| cm-ref-out | .247 [.176, .317] | .001 [.000, .001] | .010 | .057 [.026, .087] | .139 [.090, .187] | .64 |
| mean image-attention mass | (statistic, CERS ) over random sets | ||||||
| Setting | discovered | random | mean | median | min | max | SD |
| cm-ord-last | 0.188 | 0.041 [0.032, 0.046] | .39 | .54 | .22 | .20 | .14 |
| cm-ord-out | 0.174 | 0.052 [0.045, 0.062] | .04 | .12 | .01 | .28 | .17 |
| cm-ord-qsp | 0.187 | 0.046 [0.040, 0.053] | .15 | .02 | .19 | .10 | .29 |
| cm-ref-last | 0.242 | 0.047 [0.040, 0.061] | .39 | .11 | .26 | .37 | .40 |
| cm-ref-out | 0.188 | 0.051 [0.043, 0.061] | .37 | .40 | .21 | .01 | .12 |
| cm-ref-qsp | co-ref-qsp | cm-ord-last | co-ord-last | |||||
|---|---|---|---|---|---|---|---|---|
| random | random | random | random | |||||
| 1 | .279 | .026 [ .071, .009] | .176 | .056 [ .021, .146] | .132 | .040 [ .064, .017] | .032 | .015 [ .013, .067] |
| 3 | .869 | .103 [ .279, .029] | .789 | .204 [ .059, .347] | .308 | .134 [ .192, .071] | .027 | .072 [ .076, .332] |
| 10 | .317 | .004 [ .241, .221] | .396 | .270 [.087, .558] | .092 | .068 [ .200, .088] | .182 | .175 [ .232, .461] |
| 100 | .266 | .001 [ .214, .218] | .273 | .226 [.081, .517] | .042 | .040 [ .155, .095] | .206 | .173 [ .224, .421] |
| .179 | .031 [ .291, .291] | .172 | .376 [.052, .841] | .018 | .032 [ .192, .098] | .176 | .161 [ .202, .463] | |
| Setting (COCO) | Qwen3-VL-8B | Qwen3-VL-4B | Qwen2-VL-7B |
|---|---|---|---|
| ordinal + last token | vs. ( ) | vs. ( ) | vs. ( ) |
| ordinal + query span | vs. ( ) | vs. ( ) | vs. ( ) |
| referring + last token | vs. ( ) | vs. ( ) | vs. ( ) |
| referring + query span | vs. ( ) | vs. ( ) | vs. ( ) |
| What changes | Pair | Shared heads | Ceiling | Fraction |
| corpus | cm-ord-last vs. co-ord-last | [ , ] | ||
| corpus | cm-ord-qsp vs. co-ord-qsp | [ , ] | ||
| corpus | cm-ref-last vs. co-ref-last | [ , ] | ||
| corpus | cm-ref-out vs. co-ref-out | [ , ] | ||
| corpus | cm-ref-qsp vs. co-ref-qsp | [ , ] | ||
| query type | cm-ord-last vs. cm-ref-last | [ , ] |
| Query + attention source | ord-last | ref-qspan | ref-out |
|---|---|---|---|
| ordinal + output tokens | |||
| referring + output tokens ( ref-out ) |
| Dataset | CERS oracle | CERS floor | NCS matched | NCS mismatched |
|---|---|---|---|---|
| MathVista | ||||
| CountBenchQA | ||||
| CVBench | ||||
| MMStar | ||||
| SpatialRGPT | ||||
| Spatial457 |
| Head-set | CERS [95% CI] | NCS [95% CI] |
|---|---|---|
| cm-ref-qsp | [ , ] | [ , ] |
| random | [ , ] | [ , ] |
| co-ref-qsp | [ , ] | [ , ] |
| random | [ , ] | [ , ] |
| co-ord-qsp | [ , ] | [ , ] |
| random | [ , ] | [ , ] |
| Setting | Qwen3-VL-4B | Qwen3.5-9B | Gemma-4-E4B | Ovis1.5-8B | InternVL3.5-14B |
|---|---|---|---|---|---|
| CERS | |||||
| cm-ref-qsp | ( ) | ( ) | ( ) | ( ) | ( ) |
| co-ref-qsp | ( ) | ( ) | ( ) | ( ) | ( ) |
| co-ord-qsp | ( ) | ( ) | ( ) | ( ) | ( ) |
| cm-ord-qsp | ( ) | ( ) | ( ) | ( ) | ( ) |
| co-ref-out | ( ) | ( ) | ( ) | ( ) | ( ) |
| Task | Family | What the model is shown and asked |
|---|---|---|
| CV-Bench_pointing | converted | Real photo; question about counting or relations; wrong answers overlaid on three copies of the same photo. |
| MMStar_pointing | converted | Same recipe, with MMStar’s multi-domain VQA items. |
| SpatialRGPT_pointing | converted | Real photo with two labeled regions and a spatial-relation question; distractor answers overlaid on copies. |
| Spatial457_pointing | converted | Four synthetic scene renders; the question refers to one scene’s objects; the correct cell is that scene. |
| CountBenchQA_pointing | converted | Real photo of counted objects; “how many X”; candidate counts as text options. |
| MathVista_pointing | converted | Four math diagrams; the correct item’s question and choices asked in text. |
| Task | ord-last | Random | Gap |
|---|---|---|---|
| spatial457_pointing | |||
| MathVista_pointing | |||
| attribute_identification | |||
| general_causal_MathVista | |||
| CountBenchQA_pointing | |||
| general_causal_CVBench |
| Model | Baseline acc. | ord-last | ref-qspan | ref-out | Random |
|---|---|---|---|---|---|
| Qwen3-VL-2B | |||||
| Qwen3-VL-4B | |||||
| Qwen2-VL-7B | |||||
| Qwen3-VL-32B (4-bit) | |||||
| InternVL3.5-8B | |||||
| InternVL3.5-14B (4-bit) |
| Result | Head-set | Evaluation data | ||
|---|---|---|---|---|
| Tables 1 , 20 (noise ceiling) | flat top-100 | discovery strips, 200 half-splits | 400 | – |
| Tables 2 , 21 ; Fig. 7 | top-20; top-100 | 200 COCO strips (discovery only) | 200 | – |
| Table 3 , Fig. 3 , Tables 9 , 11 | flat top-100 | ImageNet grid ( CERS ); ImageNet MCQ (NCS) | 400 | 20 (250) |
| Table 4 , 14 , Fig. 5 | flat top- , | ImageNet MCQ | 400 | 20 (250) |
| Table 12 | 6 head-sets | ImageNet MCQ + text-solvable arm | 400 | – |
| Tables 5 , 13 | flat top-100; | ImageNet MCQ ( CERS : grid) | 400 | 20 |
| Benchmark | Source content | Recipe |
|---|---|---|
| CountBenchQA | counting VQA | same-image overlay (near-miss count distractors) |
| CV-Bench | single-image MCQ perception | same-image overlay |
| MathVista | MCQ diagram reasoning | same-image overlay (overlaid answer-choice text) |
| MMStar | single-image MCQ perception | same-image overlay |
| Spatial457 | spatial-relation VQA | image retrieval |
| SpatialRGPT-Bench | spatial-relation VQA | image retrieval |
Attention Head Analysis
Attention head analysis studies how individual Transformer heads route information, support computations, and affect model behavior.
See all 82 papers