Estimating Performance for Safe Deployment of Machine Learning Models
Organizations: College of Biomedical Engineering, Fudan University, Shanghai, China · Oxford Centre for Integrative Neuroimaging, University of Oxford, Oxford, UK · Department of Engineering Scienc, University of Oxford, Oxford, UK · Wellcome/EPSRC Centre for Interventional and Surgical Sciences (WEISS), University College London, London, UK ·
Abstract
The main challenge in applying deep neural networks to real-world scenarios lies in distributional discrepancies between training and test datasets, often caused by variations in data acquisition conditions. Assessing the performance of pre-trained models without labels is crucial for safety, but this is complicated by deep models' overly optimistic probabilistic outputs, often exacerbated by class imbalances, leading to unreliable predictions. To address these issues, we introduce MOVAL, a novel MOdel eVALuation tool that estimates performance using unlabeled test data. MOVAL incorporates class-wise confidence calibration to adjust model outputs, allowing for the estimation of metrics beyond accuracy and mitigating the detrimental effects of class imbalance on confidence calibration. Additionally, we propose an ensemble approach that combines multiple calibrated confidence scores for a more robust solution. We validate MOVAL on natural and medical image datasets with various acquisition shifts, covering tasks from classification to segmentation. It achieves state-of-the-art results across evaluation metrics such as accuracy, F1-Score, AUC, and more. Furthermore, we demonstrate that MOVAL provides accurate performance estimations at the class, instance, and pixel levels, ensuring the transparent and safe deployment of machine learning models. We provide MOVAL as a deployment tool for monitoring and estimating performance under a range of domain shifts.
Figures & tables
Appendix figures & tables30 assets
Supplementary material from the paper’s appendix.
Appendix
| Dataset and Training Strategy | Confidence Score | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | |||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | |||||
| CIFAR10 | Synthetic-95 | Vanilla Training | Vanilla | 32.6 6.2 | 29.4 5.2 | 30.5 6.1 | 36.3 6.5 | — | — | — | — | 2.8 2.1 |
| TS | 6.5 5.0 | 13.5 6.7 | 5.5 5.0 | 4.9 4.0 | 7.1 5.4 | 12.4 7.6 | 5.9 4.9 | 4.0 3.7 | ||||
| DoC | 11.7 6.2 | 8.5 5.3 | 10.9 6.1 | 12.6 6.5 | 10.9 6.5 | 8.5 5.9 | 10.3 6.1 | 11.6 6.7 | ||||
| ATC | 4.1 3.7 | 6.2 3.7 | 4.2 3.7 | 4.1 3.7 | 3.5 3.5 | 3.2 1.8 | 3.3 3.2 | 3.4 3.4 | ||||
| Dataset | Confidence Score | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | ||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | ||||
| Cardiac-2D | Synthetic-65 | Vanilla | 17.8 7.7 | 52.5 9.0 | 16.3 7.2 | 17.5 7.5 | — | — | — | — | 4.3 5.0 |
| TS | 14.8 7.1 | 19.8 8.4 | 13.3 6.7 | 13.7 6.7 | 5.1 5.0 | 6.3 7.0 | 4.7 4.2 | 4.5 3.9 | |||
| DoC | 17.4 7.7 | 17.0 8.0 | 15.9 7.2 | 17.1 7.5 | 5.6 6.0 | 5.9 6.1 | 5.2 5.5 | 5.5 5.9 | |||
| ATC | 6.5 4.5 | 19.8 8.4 | 6.4 4.4 | 6.5 4.5 | 3.6 4.2 | 4.5 7.7 | 3.6 4.3 | 3.6 4.2 | |||
| Accuracy | F1-Score | Sensitivity | Precision | AUC | Advanced Training | Reduced Data | Total | |
|---|---|---|---|---|---|---|---|---|
| Classification | 197 | 197 | 197 | 197 | 197 | 380 | 2375 | 3740 |
| 2D Segmentation | 69 | 69 | 69 | 69 | 69 | 0 | 276 | 621 |
| 3D Segmentation | 183 | 183 | 183 | 183 | 183 | 216 | 1080 | 2211 |
| Total | 449 | 449 | 449 | 449 | 449 | 596 | 3731 | 6572 |
| nv (%) | mel (%) | bcc (%) | df (%) | bkl (%) | vasc (%) | akiec (%) | Total | |
|---|---|---|---|---|---|---|---|---|
| HAM | 6705 (67) | 1113 (11) | 514 (5) | 115 (1) | 1099 (11) | 142 (1) | 327 (3) | 10015 |
| BCN | 4206 (34) | 2857 (23) | 2809 (23) | 124 (1) | 1138 (9) | 111 (1) | 1168 (9) | 12413 |
| VIE | 4331 (99) | 34 (1) | 0 | 0 | 0 | 0 | 0 | 4365 |
| MSK | 2202 (62) | 826 (23) | 30 (1) | 5 ( 1) | 470 (13) | 0 | 7 ( 1) | 3540 |
| UDA | 408 (67) | 193 (31) | 3 ( 1) | 2 ( 1) | 7 (1) | 0 | 0 | 613 |
| OTH | 4523 (55) | 1669 (20) | 513 (6) | 124 (2) | 889 (11) | 95 (1) | 388 (5) | 8201 |
| Evaluation Metric and Dataset | Confidence Score | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | |||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | |||||
| Sensitivity | CIFAR10 | Synthetic-95 | Vanilla | 32.3 5.2 | 31.4 3.2 | 30.6 5.1 | 35.9 5.7 | — | — | — | — | 9.5 3.6 |
| TS | 20.8 3.7 | 24.6 5.5 | 21.3 3.7 | 21.6 3.5 | 12.2 5.5 | 15.4 6.9 | 11.8 5.1 | 10.9 4.4 | ||||
| DoC | 21.9 4.2 | 22.9 4.6 | 21.7 4.2 | 22.6 4.5 | 13.8 6.1 | 13.1 5.8 | 13.3 5.8 | 14.5 6.3 | ||||
| ATC | 18.9 3.0 | 25.0 3.9 | 19.1 3.1 | 18.9 3.0 | 9.5 3.8 | 10.8 4.2 | 9.4 3.7 | 9.4 3.7 | ||||
| Evaluation Metric and Dataset | Confidence Score | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | |||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | |||||
| F1-Score | CIFAR10 | Synthetic-95 | Vanilla | 40.2 7.4 | 16.0 2.9 | 38.9 7.3 | 42.4 7.7 | — | — | — | — | 8.5 3.1 |
| TS | 22.3 6.0 | 28.7 8.1 | 21.6 6.0 | 19.4 5.9 | 11.8 5.5 | 15.1 6.8 | 11.3 5.0 | 10.2 4.1 | ||||
| DoC | 26.4 7.1 | 24.9 6.8 | 25.9 6.9 | 27.3 7.5 | 14.0 6.4 | 13.1 5.8 | 13.5 6.2 | 14.9 6.9 | ||||
| ATC | 17.1 4.4 | 17.2 6.1 | 17.3 4.5 | 17.1 4.4 | 8.5 3.1 | 11.6 4.8 | 8.7 3.2 | 8.5 3.1 | ||||
| Dataset and Training Strategy | Confidence Score | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | |||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | |||||
| CIFAR10 | Synthetic-95 | Vanilla Training | Vanilla | 57.0 10.4 | 8.6 5.3 | 54.5 10.4 | 61.1 10.5 | — | — | — | — | — |
| TS | 28.8 9.6 | 39.4 9.5 | 27.2 9.9 | 24.2 11.1 | 27.4 4.4 | 35.9 6.1 | 24.3 3.7 | 18.9 3.4 | ||||
| DoC | 36.1 10.4 | 32.4 8.5 | 35.0 10.4 | 37.4 10.5 | 34.1 5.5 | 28.9 4.5 | 32.9 5.3 | 35.2 5.6 | ||||
| ATC | 23.1 11.3 | 20.2 10.1 | 22.9 11.4 | 23.2 11.3 | 15.7 4.1 | 11.2 5.2 | 14.7 4.2 | 15.2 4.1 | ||||
| Evaluation Metric and Dataset | Confidence Score | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | |||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | |||||
| Sensitivity | Cardiac-2D | Synthetic-65 | Vanilla | 15.1 6.5 | 62.3 9.2 | 12.4 5.9 | 14.5 6.3 | — | — | — | — | 3.3 2.5 |
| TS | 9.8 5.8 | 18.8 7.8 | 7.4 5.3 | 8.1 5.3 | 4.4 3.7 | 6.0 6.3 | 4.2 3.2 | 4.1 3.1 | ||||
| DoC | 14.4 6.5 | 13.5 7.0 | 11.8 5.9 | 13.8 6.3 | 5.1 5.1 | 5.5 5.1 | 4.6 4.5 | 4.9 4.9 | ||||
| ATC | 3.2 2.4 | 18.8 7.8 | 3.3 2.5 | 3.2 2.4 | 3.1 2.5 | 4.5 5.9 | 3.1 2.5 | 3.1 2.5 | ||||
| Evaluation Metric and Dataset | Confidence Score | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | |||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | |||||
| Precision | Cardiac-2D | Synthetic-65 | Vanilla | 9.5 1.5 | 55.0 3.7 | 8.2 0.9 | 9.3 1.3 | — | — | — | — | 8.4 0.8 |
| TS | 10.8 1.5 | 17.7 7.7 | 11.0 2.0 | 11.0 1.9 | 10.1 0.6 | 52.1 3.6 | 10.1 1.9 | 9.3 1.9 | ||||
| DoC | 10.8 1.6 | 10.3 1.4 | 11.0 1.3 | 10.9 1.5 | 9.2 0.6 | 52.1 3.6 | 9.2 1.0 | 9.0 0.7 | ||||
| ATC | — | — | — | — | — | — | — | — | ||||
| Evaluation Metric and Dataset | Confidence Score | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | |||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | |||||
| Accuracy | Cardiac-2D | Synthetic-65 | Vanilla | 0.8 0.3 | 80.9 0.2 | 0.7 0.3 | 0.8 0.3 | — | — | — | — | 0.3 0.5 |
| TS | 0.2 0.4 | 1.2 0.5 | 0.3 0.6 | 0.3 0.6 | 0.2 0.4 | 0.7 0.5 | 0.3 0.6 | 0.3 0.6 | ||||
| DoC | 0.2 0.3 | 0.1 0.2 | 0.3 0.5 | 0.3 0.5 | 0.2 0.3 | 0.2 0.2 | 0.3 0.5 | 0.3 0.5 | ||||
| ATC | 0.4 0.7 | 1.0 0.3 | 0.4 0.8 | 0.4 0.7 | 0.4 0.8 | 0.6 0.6 | 0.4 0.8 | 0.4 0.8 | ||||
| Evaluation Metric and Dataset | Confidence Score | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | |||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | |||||
| AUC | Cardiac-2D | Synthetic-65 | Vanilla | 2.9 0.6 | 45.6 0.8 | 3.0 0.7 | 2.7 0.6 | — | — | — | — | 2.3 0.4 |
| TS | 4.3 1.0 | 3.1 0.8 | 4.3 1.1 | 4.1 1.0 | 2.5 0.5 | 33.1 0.6 | 2.4 0.4 | 2.3 0.4 | ||||
| DoC | 3.4 0.6 | 5.0 1.3 | 3.5 0.7 | 3.2 0.6 | 2.5 0.5 | 19.2 0.3 | 2.4 0.4 | 2.3 0.4 | ||||
| ATC | — | — | — | — | — | — | — | — | ||||
| Dataset and Training Strategy | Confidence Score | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | |||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | |||||
| CIFAR10 | Synthetic-95 | Balanced Training I | Vanilla | 25.2 8.2 | 21.8 8.5 | 49.8 10.3 | 13.0 2.7 | — | — | — | — | 11.5 6.4 |
| TS | 27.9 8.0 | 32.9 11.0 | 27.3 7.8 | 27.7 8.2 | 15.7 7.7 | 23.5 11.9 | 14.3 6.9 | 14.4 7.4 | ||||
| DoC | 31.5 10.2 | 32.8 11.0 | 31.9 10.3 | 29.6 9.1 | 19.9 9.9 | 23.5 11.9 | 20.4 10.2 | 16.0 7.8 | ||||
| ATC | 22.0 5.6 | 36.5 10.3 | 28.3 8.8 | 26.7 8.1 | 9.4 6.2 | 29.0 14.3 | 13.3 7.1 | 12.0 6.6 | ||||
| Dataset and Training Strategy | Confidence Score | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | |||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | |||||
| CIFAR10 | Synthetic-95 | Balanced Training I | Vanilla | 37.3 9.3 | 8.3 7.2 | 52.4 9.4 | 20.2 8.9 | — | — | — | — | 12.4 11.7 |
| TS | 12.4 7.7 | 22.5 10.9 | 11.2 7.7 | 10.5 9.4 | 13.6 10.3 | 20.2 13.6 | 12.7 10.3 | 11.1 10.7 | ||||
| DoC | 18.4 9.3 | 22.4 10.9 | 19.0 9.4 | 14.0 9.3 | 18.2 11.9 | 20.2 13.6 | 18.8 12.2 | 14.3 11.0 | ||||
| ATC | 4.5 6.0 | 26.4 12.9 | 8.1 9.8 | 8.0 8.7 | 6.4 8.8 | 23.1 17.1 | 8.3 9.8 | 8.2 9.5 | ||||
| Dataset and Training Strategy | Confidence Score | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | |||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | |||||
| CIFAR10 | Synthetic-95 | Balanced Training I | Vanilla | 37.3 9.3 | 8.3 7.2 | 52.4 9.4 | 20.2 8.9 | — | — | — | — | 11.5 6.9 |
| TS | 12.4 7.7 | 22.5 10.9 | 11.2 7.7 | 10.5 9.4 | 12.2 7.4 | 20.7 9.8 | 11.1 7.5 | 10.6 9.3 | ||||
| DoC | 18.4 9.3 | 22.4 10.9 | 19.0 9.4 | 14.0 9.3 | 17.6 8.7 | 20.7 9.8 | 18.2 8.9 | 13.8 9.1 | ||||
| ATC | 4.5 6.0 | 26.4 12.9 | 8.1 9.8 | 8.0 8.7 | 4.7 6.0 | 24.2 11.2 | 8.3 10.2 | 8.1 9.1 | ||||
| Dataset and Training Strategy | Confidence Score | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Estimation Algorithm | Class-Agnostic | Class-Specific | MOVAL Ensemble | |||||||||
| MCP | Energy | Entropy | Doctor | MCP | Energy | Entropy | Doctor | |||||
| Brain Lesion-3D | Synthetic-42 | Balanced Training I | Vanilla | 24.8 9.7 | 70.2 10.0 | 21.6 7.5 | 23.3 8.5 | — | — | — | — | 2.6 4.2 |
| TS | 22.5 8.9 | 25.9 10.5 | 19.6 6.8 | 20.2 7.1 | 5.8 9.0 | 6.6 10.4 | 2.8 4.7 | 2.9 4.8 | ||||
| DoC | 24.8 9.7 | 25.9 10.5 | 21.5 7.5 | 23.2 8.5 | 5.8 9.2 | 6.5 10.2 | 4.0 6.8 | 4.8 7.9 | ||||
| ATC | 17.1 5.2 | 25.9 10.5 | 17.1 5.2 | 17.1 5.2 | 2.7 4.0 | 2.7 4.0 | 2.7 4.0 | 2.7 4.0 | ||||
| Estimating Metric | Group-Wise Calibration | Samples Used for Estimating | |||||
|---|---|---|---|---|---|---|---|
| 3000 (100 ) | 1500 (50 ) | 600 (20 ) | 300 (10 ) | 150 (5 ) | 90 (3 ) | ||
| Accuracy | No | 2.8 2.1 | 2.8 2.3 | 2.9 2.3 | 3.4 2.1 | 3.9 3.0 | 4.6 3.6 |
| Sensitivity | No | 9.5 3.6 | 9.7 3.5 | 11.0 3.6 | 12.2 4.0 | 16.4 4.4 | 25.2 8.1 |
| Precision | No | 31.6 7.0 | 32.0 7.2 | 31.7 6.8 | 32.0 7.0 | 31.9 6.8 | 32.8 7.2 |
| F1-Score | No | 8.5 3.1 | 8.7 3.0 | 10.5 3.8 | 11.4 4.2 | 15.4 4.4 | 20.4 6.2 |
| AUC | No | 3.0 1.1 | 3.0 1.1 | 3.3 1.4 | 3.6 1.6 | 3.8 1.8 | 4.0 2.0 |
| Dataset | Samples Used for Estimating | |||||
| 19 (100 ) | 12 (63 ) | 6 (32 ) | 3 (16 ) | 2 (11 ) | 1 (5 ) | |
| Synthetic-65 | 4.3 5.0 | 4.6 4.4 | 4.7 4.6 | 5.4 4.2 | 6.2 3.3 | 8.3 2.4 |
| Natural-4 | 2.6 0.4 | 2.6 0.3 | 3.3 0.3 | 3.6 0.3 | 4.2 0.2 | 6.5 0.4 |
| Average | 3.5 | 3.6 | 4.0 | 4.5 | 5.2 | 7.4 |
| Dataset | Training Strategy | Samples Used for Estimating | ||||
|---|---|---|---|---|---|---|
| 9 (100 ) | 6 (66 ) | 3 (33 ) | 2 (22 ) | 1 (11 ) | ||
| Synthetic-42 | Vanilla | 0.5 0.6 | 2.9 0.3 | 4.0 0.4 | 5.8 0.1 | 13.5 0.3 |
| Balanced Training I | 0.5 0.5 | 3.4 0.1 | 3.8 0.1 | 6.5 0.2 | 14.3 0.4 | |
| Balanced Training II | 0.2 0.3 | 1.5 0.1 | 3.5 0.4 | 5.4 0.2 | 8.4 0.2 | |
| Robust Training I | 0.9 0.7 | 4.4 0.3 | 4.3 0.3 | 8.8 0.4 | 21.0 0.8 | |
| Robust Training II | 0.6 0.6 | 3.8 0.4 | 3.6 0.2 | 6.8 0.1 | 15.0 0.2 | |
| Estimating Metric | Classification | ||
|---|---|---|---|
| Choice 1 | Choice 2 | Choice 3 | |
| Accuracy | MCP CS TS-ATC | ENT CS TS-ATC | ENE CS ATC |
| Sensitivity | DOC CS TS-ATC | ENT CS ATC | MCP CS ATC |
| Precision | DOC CS TS | MCP CS DoC | DOC CS DoC |
| F1-Score | DOC CS ATC | ENT CS ATC | MCP CS ATC |
| AUC | ENT CS TS | DOC CS TS | DOC CS DoC |
Distribution Shift
Distribution shift studies how changes between training and deployment data affect model reliability, and how to detect, measure, and address them.
See all 179 papers