ViCoR: Estimating Visual Necessity via Counterfactual Residuals for Multimodal Medical Data Selection
Organizations: Tsinghua University · The University of Hong Kong · China Agricultural University
Abstract
Medical vision-language models often exhibit hidden stratification, where high overall performance masks failures on subtle visual findings and overlapping clinical conditions. We trace this failure mode to modality imbalance during fine-tuning, where strong linguistic priors can suppress visually grounded learning and induce plausible but weakly grounded rationales. Existing data selection methods usually score image-text pairs as holistic units, without separating visually necessary samples from shortcut-solvable ones. To address this problem, we propose ViCoR, a counterfactual-residual-based data selection method for Med-VLM fine-tuning. ViCoR estimates visual necessity through image-dependent optimization residuals, calibrates the resulting scores with medical supervision compatibility, and constructs a diversity-aware fine-tuning subset. Across two backbones, four external generalization benchmarks, and one multi-disease robustness benchmark, ViCoR-selected 20% subsets achieve the strongest average performance compared with full-data fine-tuning and selection baselines. Gradient-level analysis and perturbation audits further show that ViCoR enriches image-dependent training signals and strengthens image-level and evidence-region dependence. The code will be available at https://github.com/htgan-ai/ViCoR.
Figures & tables
| Method | GEMeX-ThinkVG | S-Chain | CXR-CounterFact-Single | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| OMVQA | GMAI | MBLK | DRVD | Avg. | OMVQA | GMAI | MBLK | DRVD | Avg. | OMVQA | GMAI | MBLK | DRVD | Avg. | |
| Qwen3-VL-4B | |||||||||||||||
| Full (100%) | 82.47 | 45.54 | 64.30 | 56.75 | 62.27 | 73.66 | 52.35 | 63.37 | 60.73 | 62.53 | 77.59 | 50.02 | 60.11 | 58.81 | 61.63 |
| Random | 83.89 | 49.98 | 52.61 | 60.01 | 61.62 | 64.37 | 46.37 | 40.45 | 50.39 | 50.40 | 77.67 | 50.47 | 60.07 | 60.06 | 62.07 |
| GraNd [ 43 ] | 84.93 | 40.12 | 62.59 | 60.30 | 61.99 | 73.28 | 42.82 | 63.29 | 59.62 | 59.75 | 77.08 | 44.79 | 58.38 | 62.42 | 60.67 |
| LESS [ 20 ] | 84.46 | 42.58 | 61.57 | 59.05 | 61.92 | 74.33 | 43.31 | 63.76 | 60.33 | 60.43 | 78.29 | 44.79 | 61.03 | 62.07 | 61.55 |
| Subset | |||||
|---|---|---|---|---|---|
| Full (100%) | 3.716 | 3.840 | 0.746 | 1.307 | 3.472 |
| Random | 3.701 | 3.826 | 0.746 | 1.305 | 3.456 |
| GraNd | 4.739 | 4.622 | 0.724 | 1.338 | 4.352 |
| LESS | 4.696 | 4.574 | 0.724 | 1.333 | 4.285 |
| Adapt- | 3.255 | 3.444 | 0.756 | 1.304 | 3.078 |
| Self-Filter | 3.911 | 4.056 | 0.743 | 1.310 | 3.683 |
| Configuration | Single-disease | Multi-disease | ||||
|---|---|---|---|---|---|---|
| OMVQA | GMAI | MBLK | DRVD | Acc. | Macro-F1 | |
| w/o Residual | 82.18 | 42.94 | 56.59 | 58.45 | 43.26 | 43.12 |
| w/o Shortcut | 81.86 | 41.10 | 57.76 | 59.46 | 44.31 | 44.12 |
| w/o Direction | 82.18 | 41.10 | 58.69 | 59.86 | 45.13 | 44.91 |
| w/o Threshold | 80.82 | 50.40 | 58.22 | 59.50 | 45.71 | 45.60 |
| w/o Calibration | 80.68 | 50.26 | 56.98 | 59.95 | 42.90 | 42.72 |
Appendix figures & tables10 assets
Supplementary material from the paper’s appendix.
Appendix
| Perturbation | Spearman | Top 20% overlap | Final overlap |
|---|---|---|---|
| Calibration Weights | |||
| all calibration weights | 0.9951 | 94.68% | 94.80% |
| all calibration weights | 0.9971 | 95.88% | 96.05% |
| vocabulary weight | 0.9873 | 90.34% | 90.90% |
| answer-concision weight | 0.9989 | 97.98% | 98.05% |
| label-count weight | 0.9996 | 99.87% | 99.84% |
| Shortcut control | Spearman | Top 20% overlap |
|---|---|---|
| Blank image | 0.9675 | 88.31% |
| Shuffled image | 0.9681 | 88.20% |
| Wrong image | 0.9686 | 88.54% |
| Configuration | Single-disease | Multi-disease | ||||
|---|---|---|---|---|---|---|
| OMVQA | GMAI | MBLK | DRVD | Accuracy | Macro-F1 | |
| w/ Loss Gap | 83.22 | 40.98 | 59.17 | 60.86 | 41.02 | 40.57 |
| w/ Joint Gradient | 82.17 | 43.19 | 59.70 | 58.76 | 41.67 | 41.63 |
| w/ Residual Norm | 82.35 | 41.96 | 60.25 | 59.01 | 44.92 | 44.82 |
| Calib.+Div. only | 82.02 | 41.28 | 58.48 | 58.66 | 40.82 | 41.27 |
| Full ViCoR | 85.16 | 51.56 | 63.68 | 61.49 | 46.84 | 46.65 |
| Score | Top 20% Mean | AUC | Precision@20% | z-Score |
|---|---|---|---|---|
| Decision-token loss | 0.603 | 0.566 | 38.61 | 0.258 |
| Joint gradient norm | 0.655 | 0.582 | 39.47 | 0.230 |
| GraNd score | 0.612 | 0.576 | 38.18 | 0.234 |
| Residual norm | 0.689 | 0.604 | 40.24 | 0.303 |
| ViCoR | 0.693 | 0.609 | 41.94 | 0.312 |
| Subset | Vocab. Match | Answer Conc. | Label Ctrl. | Answer Len. | Reason Len. | Label Ent. | Rare Cov. | Top Conc. |
|---|---|---|---|---|---|---|---|---|
| Full pool | 0.4220 | 0.5019 | 0.4846 | 4.6191 | 112.1705 | 2.0530 | 1.0000 | 0.3569 |
| Random | 0.4254 | 0.5016 | 0.4922 | 4.6037 | 112.1304 | 2.0544 | 1.0000 | 0.3476 |
| GraNd | 0.5334 | 0.6289 | 0.5746 | 3.9505 | 108.0859 | 1.6018 | 0.7500 | 0.5869 |
| LESS | 0.5453 | 0.6355 | 0.5841 | 3.9221 | 108.3751 | 1.6146 | 0.7500 | 0.5781 |
| Adapt- | 0.4192 | 0.3869 | 0.5212 | 5.1817 | 117.0334 | 2.1770 | 1.0000 | 0.2592 |
| Self-Filter | 0.3617 | 0.5496 | 0.3957 | 4.4513 | 109.5884 | 2.0281 | 0.7500 | 0.3896 |
| Subset | Area Ratio | Small Rate | Periph. Dist. | Periph. Rate | Hard Rate | Avg. Boxes |
|---|---|---|---|---|---|---|
| Full pool | 0.2475 | 0.2501 | 0.1800 | 0.2500 | 0.3885 | 1.0585 |
| Random | 0.2464 | 0.2427 | 0.1705 | 0.2482 | 0.3810 | 1.0574 |
| GraNd | 0.2574 | 0.2276 | 0.1631 | 0.2052 | 0.3454 | 1.0269 |
| LESS | 0.2556 | 0.2428 | 0.1661 | 0.2116 | 0.3602 | 1.0254 |
| Adapt- | 0.2384 | 0.2569 | 0.1897 | 0.2793 | 0.4131 | 1.0501 |
| Self-Filter | 0.2386 | 0.2553 | 0.1862 | 0.2666 | 0.4084 | 1.0353 |
| Backbone | Method | GEMeX-ThinkVG | S-Chain | CXR-CounterFact-Single |
|---|---|---|---|---|
| Qwen3-VL-4B | Full | 62.27 [61.13, 63.34] | 62.53 [61.39, 63.62] | 61.63 [60.56, 62.74] |
| Random | 61.62 [60.41, 62.75] | 50.40 [49.27, 51.50] | 62.07 [60.94, 63.25] | |
| GraNd | 61.99 [60.86, 63.12] | 59.75 [58.67, 60.77] | 60.67 [59.52, 61.82] | |
| LESS | 61.92 [60.80, 62.98] | 60.43 [59.28, 61.47] | 61.55 [60.48, 62.63] | |
| Adapt- | 62.96 [61.76, 64.06] | 62.54 [61.44, 63.62] | 61.99 [60.85, 63.10] | |
| Self-Filter | 64.42 [63.31, 65.50] | 61.43 [60.36, 62.49] | 62.29 [61.10, 63.42] |
| Backbone | Method | Accuracy [95% CI] | Macro-F1 [95% CI] |
|---|---|---|---|
| Qwen3-VL-4B | Full | 44.65 [42.05, 47.46] | 44.36 [41.77, 47.08] |
| Random | 40.95 [38.36, 43.69] | 40.69 [38.01, 43.43] | |
| GraNd | 43.11 [40.52, 45.71] | 42.88 [40.19, 45.46] | |
| LESS | 40.30 [37.78, 42.97] | 39.89 [37.39, 42.60] | |
| Adapt- | 42.61 [39.94, 45.06] | 42.20 [39.40, 44.67] | |
| Self-Filter | 43.05 [40.45, 45.72] | 42.82 [40.10, 45.43] |
| Backbone | Training Source | ViCoR minus Full | ViCoR minus Best 20% Baseline |
|---|---|---|---|
| Qwen3-VL-4B | GEMeX | [ , ] | [ , ] |
| Qwen3-VL-4B | S-Chain | [ , ] | [ , ] |
| Qwen3-VL-4B | CXR Single | [ , ] | [ , ] |
| InternVL3.5-4B | GEMeX | [ , ] | [ , ] |
| InternVL3.5-4B | S-Chain | [ , ] | [ , ] |
| InternVL3.5-4B | CXR Single | [ , ] | [ , ] |
Medical VLMs
Medical vision-language models connect clinical images with text for diagnosis, reporting, question answering, and image grounding.
See all 458 papers