Concept Bottleneck Models
Les modèles à goulot d’étranglement conceptuel (CBM) prédisent d’abord des concepts nommés par des humains, puis déduisent l’étiquette uniquement à partir de ces concepts, afin que les experts puissent examiner et corriger chaque décision.
Un modèle à goulot d’étranglement conceptuel (CBM) est un réseau neuronal qui prédit d’abord un ensemble de concepts nommés par des humains à partir de son entrée, puis prédit l’étiquette finale en utilisant uniquement ces concepts. Pour une radiographie du genou, les concepts peuvent être le rétrécissement de l’interligne articulaire et les ostéophytes ; pour une photo d’oiseau, la couleur des ailes et la forme du bec. Comme chaque prédiction passe par cette couche étroite et étiquetée, une personne peut voir quels concepts ont déterminé la décision et corriger un concept erroné pour modifier le résultat. Les CBM constituent ainsi une forme d’IA explicable (XAI) intégrée à l’architecture. Pang Wei Koh, Thao Nguyen, Yew Siang Tang, Stephen Mussmann, Emma Pierson, Been Kim et Percy Liang, de Stanford et Google, ont introduit ce terme dans Concept Bottleneck Models à ICML 2020, en montrant une précision compétitive avec celle de modèles classiques entraînés de bout en bout sur deux tâches : évaluer l’arthrose du genou à partir de radiographies et identifier des espèces d’oiseaux.
Fonctionnement des modèles à goulot d’étranglement conceptuel#
Un CBM comporte deux parties : un prédicteur de concepts qui associe l’entrée, par exemple une image, à des valeurs de concepts, et un prédicteur d’étiquettes qui associe ces valeurs à la sortie. Koh et ses collègues ont comparé trois façons de les entraîner :
- Indépendamment : le prédicteur de concepts apprend à partir des annotations de concepts et le prédicteur d’étiquettes à partir des vrais concepts, chacun séparément.
- Séquentiellement : le prédicteur de concepts est entraîné en premier, puis le prédicteur d’étiquettes apprend à partir des concepts qu’il prédit.
- Conjointement : les deux parties sont entraînées ensemble sur une somme pondérée de la perte sur les concepts et de la perte sur les étiquettes.
Dans les données de l’Osteoarthritis Initiative, qui comprennent 36 369 radiographies du genou étiquetées selon le grade de sévérité de Kellgren-Lawrence, les concepts étaient 10 observations ordinales déjà évaluées par les radiologues, comme le rétrécissement de l’interligne articulaire, les ostéophytes et la sclérose osseuse. Dans le jeu de données Caltech-UCSD Birds, composé de 11 788 photos de 200 espèces, il s’agissait de 112 attributs binaires, comme la couleur des ailes et la forme du bec. Chaque exemple d’entraînement nécessite des annotations de concepts et d’étiquettes, ce qui représente le principal coût de cette approche.
Le goulot d’étranglement permet une intervention au moment du test : lorsqu’un expert constate qu’un concept prédit est erroné, il le remplace par la bonne valeur et le prédicteur d’étiquettes recalcule la sortie. Pour la tâche sur les radiographies, fournir les vraies valeurs de seulement deux concepts a fait passer l’erreur du grade de sévérité prédit de plus de 0,4 à environ 0,3 RMSE.
Cet exemple PyTorch entraîne un CBM indépendant sur des données synthétiques où six concepts binaires génèrent des entrées bruitées et où l’étiquette dépend uniquement des concepts. Il mesure ensuite la précision des étiquettes lorsqu’un expert fournit les vraies valeurs des concepts les moins certains :
import torch
from torch import nn
torch.manual_seed(0)
# Toy data: 6 binary concepts generate noisy 20-D inputs, and the label depends only on the concepts
concepts = torch.randint(0, 2, (3000, 6)).float()
inputs = concepts @ torch.randn(6, 20) + 2 * torch.randn(3000, 20)
labels = (concepts @ torch.tensor([3.0, 2, 2, 1, 1, 1]) >= 5).float()
train, test = slice(0, 2000), slice(2000, None)
# Independent training: inputs -> concepts, and concepts -> label, each against its own ground truth
concept_model, label_model = nn.Linear(20, 6), nn.Linear(6, 1)
optimizer = torch.optim.Adam([*concept_model.parameters(), *label_model.parameters()], lr=0.05)
bce = nn.functional.binary_cross_entropy_with_logits
for _ in range(500):
optimizer.zero_grad()
loss = bce(concept_model(inputs[train]), concepts[train]) + bce(label_model(concepts[train])[:, 0], labels[train])
loss.backward()
optimizer.step()
with torch.no_grad():
probs = concept_model(inputs[test]).sigmoid()
print(f"Concept accuracy: {((probs > 0.5) == concepts[test]).float().mean():.3f}")
for k in range(4):
# Test-time intervention: replace the k least certain predicted concepts with their true values
uncertain = (probs - 0.5).abs().argsort(dim=1)[:, :k]
fixed = probs.scatter(1, uncertain, concepts[test].gather(1, uncertain))
accuracy = ((label_model(fixed)[:, 0] > 0) == labels[test].bool()).float().mean()
print(f"Intervene on {k} of 6 concepts: label accuracy {accuracy:.3f}")Le prédicteur de concepts retrouve correctement 0.834 des 6 000 concepts de test, et le CBM classe correctement 0.819 des 1 000 exemples de test. Fournir les vraies valeurs du concept le moins certain, des deux concepts les moins certains, puis des trois concepts les moins certains pour chaque exemple fait passer la précision des étiquettes à 0.861, 0.915 et 0.951, sans modifier aucun des deux modèles.
Utilisations des CBM#
Les CBM conviennent aux domaines où les experts raisonnent déjà à partir de constatations nommées. En analyse d’images médicales, l’étude sur les radiographies présentée plus haut utilisait les mêmes constatations que celles consignées par les radiologues, afin qu’un clinicien puisse vérifier chacune d’elles. La surveillance de la sécurité présente la même structure : un modèle Ultralytics YOLO26 entraîné sur le jeu de données Construction-PPE détecte des classes nommées telles que helmet, no_helmet, vest et no_boots. Une règle de conformité qui lit uniquement ces détections devient un goulot d’étranglement conceptuel, dont un réviseur peut retracer la décision jusqu’à un équipement manquant précis.
Des travaux ultérieurs ont assoupli l’exigence d’annotation. Les CBM sans étiquettes génèrent une liste de concepts à l’aide d’un modèle de langage et évaluent les concepts avec CLIP, ce qui permet d’étendre l’idée à ImageNet sans étiquettes de concepts. Les CBM a posteriori convertissent quant à eux un modèle déjà entraîné en projetant ses plongements sur des directions de concepts.
Limites#
Les ensembles de concepts couvrent rarement tout ce qui détermine l’étiquette, ce qui plafonne la précision d’un CBM. Lorsque le prédicteur d’étiquettes reçoit des probabilités de concepts plutôt que des valeurs discrètes, ces probabilités peuvent fournir des informations supplémentaires sur l’étiquette au-delà de la signification de chaque concept. Cet effet, appelé fuite de concepts, rend les explications et les interventions moins fiables. Les modèles d’intégration de concepts représentent chaque concept par un vecteur appris afin de préserver une précision élevée tout en permettant les interventions. Des concepts mal définis ou corrélés produisent des explications peu fiables, et des annotations de concepts biaisées transmettent leur biais à chaque décision qui en dépend.
Les CBM et les concepts apparentés#
- Cartes de saillance : mettent en évidence les pixels qui ont influencé un modèle boîte noire déjà entraîné. Les CBM expliquent les décisions à l’aide de concepts nommés et permettent de modifier ces concepts.
- Interprétabilité mécaniste : procède à la rétro-ingénierie des caractéristiques et des circuits qu’un modèle entraîné a appris de lui-même. Les CBM définissent à l’avance les concepts intermédiaires par supervision.
- Sondage linéaire : vérifie si un concept peut être décodé à partir des activations d’un modèle entraîné sans modifier ses prédictions. Les sondes de concepts appliquées aux boîtes noires, comme TCAV de Been Kim et ses collègues, mesurent a posteriori l’influence d’un concept.
- Ingénierie des caractéristiques : calcule manuellement des caractéristiques d’entrée à partir de données brutes. Les concepts des CBM sont prédits à partir des entrées brutes par un modèle entraîné et supervisé à l’aide d’étiquettes humaines.










