← Explainer Library

Interactive Explainer

Concept Bottleneck Models

Predict human-named concepts first; read off the label from those concepts. Toggle a concept on or off at inference and watch the label change — the closest DL gets to causal interpretability.

Prelude

The interpretability promise

Saliency tells you "the model used these pixels"; concept bottleneck (Koh et al., 2020) tells you "the model used these named features — here are their values, and if you change them by hand, here's how the prediction changes". The bottleneck is a known set of interpretable concepts; the head is a small classifier on top of them.

During training, you supervise both stages: the bottleneck must predict the right concept values from the image, and the head must predict the right label from the concept vector. At inference, you can replace any predicted concept with a human-set value (an intervention) and see the label respond.

Step 1

Watch a CBM predict and accept interventions

Synthetic 4-class problem. Each shape has 4 concepts: is-dark, is-large, has-stripes, is-warm. Class is determined by a fixed boolean recipe over those concepts. Toggle a concept off (or on) and watch the predicted class flip.

true class predicted class
image
predicted concepts (drag to override)
Each bar is the model's predicted concept value (0..1). Click a bar to override (forces the concept to 0 or 1). Refresh "New image" to clear.
Step 2

Three training recipes

Let $g_\theta$ map image → concept vector and $f_\phi$ map concept vector → label. With per-concept loss $\mathcal{L}_c$ and label loss $\mathcal{L}_y$, the three standard recipes are:

Step 2½

Why interventions matter

A CBM lets you do something no neural net usually allows: run a counterfactual. "If striped were 0 instead of 1, would the prediction change?" — and the answer is computed by a single forward pass through $f$ on the edited concept vector.

Step 3

The leakage trap, with a live demonstration

If the concept layer has more channels than the ground-truth concept count, the model can use the spare channels to encode arbitrary features. Then "intervening" on a named concept doesn't actually change the prediction — the spare channel still encodes the answer. Several recent papers (Margeloiu et al., 2021; Mahinpei et al., 2021) document this.

Below: same 4 named concepts, but the model has $K$ extra "spare" channels that get trained jointly on the label loss (joint recipe with high $\lambda_y$). As $K$ rises, the accuracy under intervention drops — the spare channels have stolen the predictive signal.

Intervention faithfulness vs spare channels
"Clean accuracy" = label correctly predicted on held-out data. "Intervention accuracy" = on inputs where flipping one concept should change the class, does the CBM's prediction flip too? If yes, the bottleneck is faithful. When spare channels exist, the gap widens.
The fix. Use the concept layer dimension equal to the number of named concepts. Use sequential training. Verify with intervention experiments — if forcing a concept to its opposite doesn't change predictions on the right subset of inputs, your bottleneck has leaked.
Step 3½

2023–2026 follow-ups

Step 4

Where CBMs are the right tool

Final takeaway. Concept bottlenecks trade a small amount of accuracy for a large amount of accountability. For any model whose predictions feed a policy decision, this trade is usually a bargain — provided you guard against leakage and verify interventions actually steer the prediction.
Step 5

Reading list