Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Concept Bottleneck Models

Los modelos con cuello de botella de conceptos (CBM) predicen primero conceptos con nombres comprensibles para las personas y, a partir de ellos, la etiqueta; así, los expertos pueden inspeccionar y corregir cada decisión.

Un modelo de cuello de botella de conceptos (CBM) es una red neuronal que primero predice, a partir de la entrada, un conjunto de conceptos etiquetados por personas y, después, predice la etiqueta final utilizando solo esos conceptos. Para una radiografía de rodilla, los conceptos podrían ser el estrechamiento del espacio articular y los osteofitos; para una foto de un ave, el color de las alas y la forma del pico. Como todas las predicciones pasan por esta capa estrecha y etiquetada, una persona puede ver qué conceptos determinaron la decisión y corregir un concepto erróneo para cambiar el resultado, lo que convierte los CBM en una forma de IA explicable (XAI) integrada en la arquitectura. Pang Wei Koh, Thao Nguyen, Yew Siang Tang, Stephen Mussmann, Emma Pierson, Been Kim y Percy Liang, de Stanford y Google, introdujeron el término en Modelos de cuello de botella de conceptos en ICML 2020 y demostraron una precisión comparable a la de los modelos estándar de extremo a extremo en dos tareas: determinar el grado de artrosis de rodilla a partir de radiografías e identificar especies de aves.

Cómo funcionan los modelos de cuello de botella de conceptos#

Un CBM tiene dos partes: un predictor de conceptos que asigna valores de conceptos a la entrada, como una imagen, y un predictor de etiquetas que asigna esos valores de conceptos a la salida. Koh et al. compararon tres formas de entrenarlos:

  • Independiente: El predictor de conceptos aprende a partir de anotaciones de conceptos y el predictor de etiquetas, a partir de los conceptos verdaderos; cada uno se entrena por separado.
  • Secuencial: Primero se entrena el predictor de conceptos y, después, el predictor de etiquetas aprende a partir de los conceptos predichos.
  • Conjunto: Ambas partes se entrenan a la vez con una suma ponderada de la pérdida de conceptos y la pérdida de etiquetas.

En los datos de la Osteoarthritis Initiative, 36 369 radiografías de rodilla etiquetadas con el grado de gravedad de Kellgren-Lawrence, los conceptos eran 10 hallazgos ordinales que los radiólogos ya evalúan, como el estrechamiento del espacio articular, los osteofitos y la esclerosis ósea. En el conjunto de datos Caltech-UCSD Birds, compuesto por 11 788 fotos de 200 especies, eran 112 atributos binarios, como el color de las alas y la forma del pico. Cada ejemplo de entrenamiento necesita anotaciones tanto de conceptos como de etiquetas, lo que supone el principal coste de este enfoque.

El cuello de botella permite intervenir en tiempo de prueba: cuando un experto detecta que un concepto predicho es incorrecto, lo sustituye por el valor correcto y el predictor de etiquetas vuelve a calcular la salida. En la tarea de radiografías, proporcionar los valores verdaderos de solo dos conceptos redujo el error del grado de gravedad predicho de más de 0,4 a aproximadamente 0,3 de RMSE.

Este ejemplo de PyTorch entrena un CBM independiente con datos de juguete, donde seis conceptos binarios generan entradas ruidosas y la etiqueta depende únicamente de los conceptos; después, mide la precisión de las etiquetas cuando un experto proporciona los valores verdaderos de los conceptos menos seguros:

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}")

El predictor de conceptos acierta 0.834 de los 6000 conceptos de prueba, y el CBM clasifica correctamente 0.819 de los 1000 ejemplos de prueba. Proporcionar los valores verdaderos de los conceptos menos seguros —uno, dos y tres por ejemplo— aumenta la precisión de las etiquetas a 0.861, 0.915 y 0.951, sin modificar ninguno de los dos modelos.

Usos de los CBM#

Los CBM son adecuados para ámbitos en los que los expertos ya razonan a partir de hallazgos con nombres definidos. En el análisis de imágenes médicas, el estudio de radiografías anterior utilizó los mismos hallazgos que registran los radiólogos, por lo que un profesional clínico puede comprobar cada uno. La supervisión de seguridad tiene la misma estructura: un modelo Ultralytics YOLO26 entrenado con el conjunto de datos Construction-PPE detecta clases con nombres definidos, como helmet, no_helmet, vest y no_boots, y una regla de cumplimiento que consulta únicamente esas detecciones se convierte en un cuello de botella de conceptos, cuya decisión puede rastrear un revisor hasta un elemento concreto que falta.

Trabajos posteriores redujeron el requisito de anotación. Los CBM sin etiquetas generan una lista de conceptos con un modelo de lenguaje y los puntúan con CLIP, ampliando la idea a ImageNet sin etiquetas de conceptos; los CBM a posteriori convierten un modelo ya entrenado proyectando sus incrustaciones sobre direcciones de conceptos.

Limitaciones#

Los conjuntos de conceptos rara vez capturan todo lo que determina la etiqueta, lo que limita la precisión de un CBM. Cuando el predictor de etiquetas recibe probabilidades de conceptos en lugar de valores discretos, esas probabilidades pueden aportar información adicional sobre la etiqueta más allá del significado de cada concepto; este efecto se denomina filtración de conceptos y hace que las explicaciones y las intervenciones sean menos fiables. Los modelos de incrustación de conceptos representan cada concepto como un vector aprendido para mantener una precisión elevada y seguir permitiendo intervenciones. Los conceptos mal definidos o correlacionados producen explicaciones poco fiables, y las anotaciones de conceptos sesgadas trasladan el sesgo a todas las decisiones que dependen de ellas.

  • Mapas de saliencia: Resaltan los píxeles que han influido en un modelo de caja negra ya entrenado. Los CBM explican las decisiones mediante conceptos con nombres definidos y permiten modificarlos.
  • Interpretabilidad mecanicista: Analiza a la inversa las características y los circuitos que un modelo entrenado ha aprendido por sí solo. Los CBM fijan de antemano los conceptos intermedios mediante supervisión.
  • Sondas lineales: Comprueban si se puede decodificar un concepto a partir de las activaciones de un modelo entrenado sin cambiar su forma de predecir. Las sondas de conceptos en modelos de caja negra, como TCAV, de Been Kim y sus colegas, miden a posteriori la influencia de un concepto.
  • Ingeniería de características: Calcula manualmente características de entrada a partir de datos sin procesar. En un CBM, un modelo entrenado predice los conceptos a partir de las entradas sin procesar y los supervisa con etiquetas humanas.

Explore solutions

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático