submodular-attribution-eval
Less is More: Fewer Interpretable Region via Submodular Subset Selection — Ruoyu Chen et al. (arXiv:2402.09164, 2024)
What this evaluates
Evaluates the faithfulness of image attribution methods by measuring how prediction confidence changes as important regions are removed or added. It also probes the ability to identify specific image regions that cause model misclassifications.
Datasets
- Celeb-A — total 2000; splits: val (2000)
- VGG-Face2 — total 2000; splits: val (2000)
- CUB-200-2011 — total 1000; splits: val (1000)
Metrics
Deletion AUC(primary) — range: [0, 1]- Area under the curve of the model's prediction probability for the target class as pixels/regions are sequentially removed in order of decreasing importance. Lower values indicate higher faithfulness.
Insertion AUC— range: [0, 1]- Area under the curve of the model's prediction probability for the target class as pixels/regions are sequentially added in order of increasing importance. Higher values indicate higher faithfulness.
Average highest confidence— range: [0, 1]- For a given search fraction k (e.g., 0.25), the maximum prediction confidence for the ground-truth class achieved by any subset of the top-k ranked regions. Averaged across misclassified samples.
Input / output format
Input: RGB image (optionally accompanied by a prior saliency map or uniform N×N patch grid).
Output: A ranked list of image regions/patches indicating their importance for the model's prediction.
Scoring recipe
def deletion_auc(image, model, ranked_regions, target_class):
probs = []
for k in range(len(ranked_regions)):
masked = image.copy()
masked[ranked_regions[:k]] = 0
probs.append(model(masked)[target_class])
return trapezoid_integrate(probs)
def insertion_auc(image, model, ranked_regions, target_class):
probs = []
for k in range(len(ranked_regions)):
masked = image.copy()
masked[ranked_regions[:k]] = image[ranked_regions[:k]]
probs.append(model(masked)[target_class])
return trapezoid_integrate(probs)
def highest_confidence(image, model, ranked_regions, gt_class, k_frac):
k = int(k_frac * len(ranked_regions))
return max(model(image, regions=ranked_regions[:i])[gt_class] for i in range(1, k+1))
Common pitfalls
- Deletion AUC is lower-better while Insertion AUC is higher-better; confusing the direction leads to misinterpreting faithfulness.
- The 'highest confidence' metric is averaged over multiple search ranges (25%, 50%, 75%, 100%); reporting a single number without specifying the range is misleading.
- Patch grid size (e.g., 7×7 vs 14×14) significantly impacts AUC scores; results are not directly comparable across different grid resolutions.
Evidence (verbatim from paper)
We use Deletion and Insertion AUC scores (Petsiuk et al., 2018) to evaluate the faithfulness of our method in explaining model predictions. To evaluate the ability of our method to search for causes of model prediction errors, we use the model's highest confidence in correct class predictions over different search ranges as the evaluation metric.
Citation
@misc{chen2024less,
title={Less is More: Fewer Interpretable Region via Submodular Subset Selection},
author={Ruoyu Chen et al.},
year={2024},
note={arXiv:2402.09164}
}
- arXiv: 2402.09164