Why interpretability feels reassuring, and why it shouldn’t
You ship a model that clears offline metrics, then open an attribution plot or a heatmap and feel immediate relief: it “looked at the right things.” That reaction is understandable. Explanations turn a high-dimensional system into a story your team can discuss, defend to stakeholders, and translate into action items. They also create a sharp illusion of control, because the output is legible even when the model isn’t.
The problem is that many interpretability methods are optimized for human plausibility, not truth about the model’s internal reasons. Small input changes, different baselines, or a retrained checkpoint can shift attributions without changing accuracy. You can end up approving a system because the explanation matches your mental model, while the model succeeds for brittle shortcuts that won’t survive real traffic, distribution shift, or adversarial use.
Interpretability is still valuable, but it has costs and constraints: it takes time to run correctly, easy defaults hide sensitivity, and results often depend on choices your team won’t document unless forced. Treat explanations as evidence to investigate, not a safety stamp. If an explanation would change a launch decision, it should trigger deeper tests that can fail loudly under the same conditions production will create.
What question are you actually asking the explanation to answer?
A familiar moment: someone asks, “Why did the model do that?” and three different people mean three different things. Legal might mean “which inputs influenced the decision,” a PM might mean “what would we change to get a different outcome,” and an ML engineer might mean “what mechanism inside the network is driving this behavior.” Most interpretability tools only answer one of these questions well, and they often answer a nearby question that sounds similar.
Before you trust an explanation, make it earn a job. Are you debugging a bad prediction, checking for prohibited signals, validating that performance transfers to new segments, or deciding what to monitor in production? The same saliency map can be useless for one and helpful for another.
Write down the decision you’ll make if the explanation changes. If you can’t name the action, you’re likely collecting persuasive artifacts instead of operational evidence.
When feature attributions look precise but aren’t stable

You run SHAP or Integrated Gradients, and the bar chart looks satisfyingly exact: “age +0.12,” “device_type −0.07,” “keyword +0.04.” The trap is treating those numbers like measurements rather than estimates conditioned on choices you made. Change the background dataset, the baseline, the tokenization, or even the order of correlated features, and the “top driver” can swap while the prediction barely moves. In vision or text, tiny perturbations that don’t affect meaning can still swing saliency maps.
Instability is common when features are redundant or entangled. If two inputs carry the same signal, the model can split credit arbitrarily; attribution methods then allocate importance based on their own rules, not on a unique ground truth. Retraining with a different seed can shift which proxy the model leans on, especially when several shortcuts yield similar loss.
Operationally, treat attributions as hypotheses. Check sensitivity across baselines and checkpoints, look for agreement across methods, and validate with interventions (masking, ablation, counterfactual edits) that test whether the model’s behavior actually changes.
Faithfulness vs plausibility: explanations that sound right
Handing a saliency map or heatmap to a domain expert often produces an encouraging response. The highlighted words look relevant, the emphasized image regions resemble what a human would examine, and the top-ranked features appear consistent with policy or subject-matter knowledge. That reaction has value, particularly when explanations need to be communicated across teams. Yet agreement with human intuition is not the same thing as evidence that the explanation reflects how the model actually reached its decision.
This distinction becomes important whenever models rely on shortcuts or hidden proxies. A model may appear to focus on meaningful factors while quietly depending on correlated signals such as zip codes as stand-ins for income, formatting artifacts that leak labels, or background textures that correlate with object categories. In those cases, the explanation tells a convincing story, but not necessarily a faithful one. Plausibility answers whether an explanation sounds reasonable to people; faithfulness asks whether the explanation captures the factors that genuinely influence the model's output.
One practical way to separate the two is to test whether the explanation predicts behavior under intervention. If a highlighted phrase is truly influential, removing it or rewriting it should shift the prediction in the expected direction. If a heatmap suggests that a particular region drives an image classification, masking that region should have a larger effect than masking an unrelated area. These checks require additional effort, and applying them systematically can become expensive. Even so, they provide something far more valuable than a persuasive narrative: evidence that the explanation corresponds to the model's actual decision-making process.
Counterfactuals and concepts: great for insight, fragile in practice
You ask for a counterfactual—“what would need to change for this application to be approved?”—and it feels immediately actionable. Done well, it can surface the model’s thin margins: a one-point income bump flips the outcome, a single token edit changes a toxicity score, or a small lighting shift breaks a vision classifier. Concept-based tools offer a similar promise: instead of raw pixels or tokens, you test whether “formality,” “medical urgency,” or “brand mention” appears to drive decisions.
The fragility is in what counts as a “valid” change. Many counterfactual generators optimize for the closest input in feature space, not the closest real-world edit. You can get impossible suggestions (change age, swap race-correlated proxies, add a word that breaks grammar) or edits that would never occur in your product flow. Concept sets are also easy to launder with leakage: a “professional tone” concept may quietly encode demographics or channel-specific templates.
Treat counterfactuals and concepts as prompts for targeted tests: constrain edits to what users can actually do, check feasibility with domain rules, and verify that the same “reason” holds across segments and retrains before you turn it into a policy or a guardrail.
The deployment gap: what interpretability misses in the real world

A model that looks “well-behaved” under interpretability in a notebook can still fail once it meets product reality: missing fields, partial user journeys, new device types, latency-driven truncation, or upstream services that occasionally return defaults. Explanations usually condition on a clean input snapshot. They rarely capture how your data pipeline, caching, ranking stage, or fallback logic changes what the model actually sees, which can create systematic errors you won’t notice in offline slices.
Deployment also changes incentives. Users learn what gets them approved, creators adapt to moderation rules, and attackers probe for cheap bypasses. An attribution plot won’t show you how the model behaves under repeated attempts, multi-turn interactions, or coordinated manipulation. It also won’t surface operational risks like drift in embeddings, silent schema changes, or monitoring that aggregates away rare but severe failures.
The practical constraint is time: doing intervention tests, red-teaming, and shadow launches costs engineering and iteration cycles. Interpretability can help you choose what to stress, but it can’t replace system-level testing under the same feedback loops production will create.
A practical “trust checklist” before you act on explanations
You’re staring at an explanation and trying to decide whether it justifies a launch, a rollback, or a mitigation. Before you act, check a few basics: can you reproduce the explanation across reruns, seeds, and nearby checkpoints, and does it stay directionally similar when you change reasonable method settings (baseline, background set, perturbation size)? If it flips, treat it as a weak signal and prioritize behavioral tests.
Make the explanation predict an intervention. Remove, mask, paraphrase, or swap the “important” inputs and confirm the output moves as claimed, not just on a single example but across the segments you care about and the failure cases you’ve seen. If you can’t intervene directly, use constrained counterfactuals that match your product’s real edit space and business rules.
Finally, connect the explanation to operations: translate “relies on X” into a test, a guardrail, or a monitor, and price the ongoing cost. If you can’t specify what to log, what threshold to alert on, and what action follows, the explanation isn’t yet deployable evidence.
Using interpretability well: humility, triangulation, and next steps
A common failure pattern is treating an explanation as the model’s “reason,” instead of one perspective on behavior. Use interpretability with humility: assume it can be wrong, and make it compete with other evidence. Triangulate across methods (attributions, interventions, counterfactuals), across time (retrain checkpoints), and across context (segments, pipeline variants, and prompt or UI changes). When multiple lenses agree, you can justify targeted mitigations; when they diverge, you’ve learned where uncertainty lives.
Turn findings into concrete moves: add a stress test for the suspected shortcut, introduce input validation or feature gating, adjust training data or objective, and instrument monitoring for the specific failure signature. Budget for ongoing cost: some checks require slow perturbation tests, extra labeling, or shadow traffic. Treat interpretability as a way to choose what to measure and guard, not a substitute for doing so.