Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Concept Bottleneck Models

Модели с концептуальным узким местом (CBM) сначала предсказывают понятия, названные человеком, а затем определяют метку только на их основе, чтобы эксперты могли проверять и корректировать каждое решение.

Модель с узким местом из концептов (CBM) — это нейронная сеть, которая сначала предсказывает по входным данным набор концептов с понятными человеку названиями, а затем определяет итоговую метку, используя только эти концепты. Для рентгеновского снимка колена концептами могут быть сужение суставной щели и костные шпоры; для фотографии птицы — цвет крыла и форма клюва. Поскольку каждое предсказание проходит через этот узкий размеченный слой, человек может увидеть, какие концепты повлияли на решение, и исправить ошибочный концепт, чтобы изменить результат. Поэтому CBM — это встроенная в архитектуру форма объяснимого искусственного интеллекта (XAI). Пан Вэй Ко, Тао Нгуен, Юй Сян Тан, Стивен Муссманн, Эмма Пирсон, Бин Ким и Перси Лян из Стэнфорда и Google ввели этот термин в работе Concept Bottleneck Models на ICML 2020 и показали, что точность модели сопоставима со стандартными сквозными моделями на двух задачах: оценке остеоартрита коленного сустава по рентгеновским снимкам и определении видов птиц.

Как работают модели с концептуальным узким местом#

CBM состоит из двух частей: предиктора концептов, который преобразует входные данные, например изображение, в значения концептов, и предиктора меток, который преобразует значения концептов в выходные данные. Ко и его коллеги сравнили три способа обучения этих частей:

  • Независимое: Предиктор концептов обучается на разметке концептов, а предиктор меток — на истинных концептах; части обучаются независимо.
  • Последовательное: Сначала обучается предиктор концептов, затем предиктор меток учится на предсказанных концептах.
  • Совместное: Обе части обучаются одновременно на взвешенной сумме ошибки по концептам и ошибки по меткам.

В данных Osteoarthritis Initiative были 36 369 рентгеновских снимков коленей с метками степени тяжести по шкале Келлгрена—Лоуренса; концептами служили 10 порядковых признаков, которые уже оценивают радиологи, например сужение суставной щели, костные шпоры и склероз кости. В наборе данных Caltech-UCSD Birds, включавшем 11 788 фотографий 200 видов, использовались 112 бинарных признаков, например цвет крыла и форма клюва. Для каждого обучающего примера нужны и концепты, и аннотации метки — это основная стоимость такого подхода.

Узкое место позволяет вмешиваться на этапе тестирования: если эксперт видит, что предсказанный концепт неверен, он заменяет его правильным значением, а предиктор меток пересчитывает выходные данные. В задаче с рентгеновскими снимками передача истинных значений всего двух концептов снизила ошибку предсказанной степени тяжести с более чем 0,4 примерно до 0,3 RMSE.

В этом примере на PyTorch обучается независимая CBM на искусственных данных: шесть бинарных концептов порождают зашумлённые входные данные, а метка зависит только от концептов. Затем измеряется точность предсказания меток, когда эксперт передаёт истинные значения наименее уверенно предсказанных концептов:

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

Предиктор концептов правильно определяет 0.834 из 6 000 тестовых концептов, а CBM верно предсказывает метки для 0.819 из 1 000 тестовых примеров. Передача истинных значений одного, двух и трёх наименее уверенно предсказанных концептов для каждого примера повышает точность предсказания меток до 0.861, 0.915 и 0.951 соответственно, не меняя ни одну из моделей.

Где применяются CBM#

CBM подходят для областей, в которых эксперты уже рассуждают через признаки с конкретными названиями. В анализе медицинских изображений в описанном выше исследовании рентгеновских снимков использовались те же признаки, которые фиксируют радиологи, поэтому врач может проверить каждый из них. Такой же подход применим к контролю безопасности: модель Ultralytics YOLO26, обученная на наборе данных Construction-PPE, обнаруживает классы с конкретными названиями, например helmet, no_helmet, vest и no_boots. Правило соблюдения требований, которое учитывает только эти обнаружения, становится узким местом из концептов, и проверяющий может связать решение с конкретным отсутствующим предметом.

В последующих работах требование к разметке ослабили. CBM без разметки формируют список концептов с помощью языковой модели и оценивают концепты с помощью CLIP, масштабируя эту идею до ImageNet без меток концептов; постфактум CBM преобразуют уже обученную модель, проецируя её эмбеддинги на направления концептов.

Ограничения#

Наборы концептов редко охватывают всё, что определяет метку, поэтому точность CBM ограничена. Когда предиктор меток получает вероятности концептов вместо жёстких значений, эти вероятности могут содержать дополнительную информацию о метке, выходящую за рамки значения каждого концепта. Этот эффект, называемый утечкой концептов, снижает надёжность объяснений и вмешательств. Модели с эмбеддингами концептов представляют каждый концепт вектором, который обучается, чтобы сохранять высокую точность и при этом поддерживать вмешательства. Неточно определённые или коррелирующие концепты приводят к ненадёжным объяснениям, а смещённая разметка концептов переносит смещение в каждое зависящее от неё решение.

  • Карты значимости: Выделяют пиксели, повлиявшие на работу уже обученной модели-чёрного ящика. CBM объясняют решения через концепты с конкретными названиями и позволяют редактировать эти концепты.
  • Механистическая интерпретируемость: Обратным анализом выявляет признаки и схемы, которые обученная модель усвоила самостоятельно. В CBM промежуточные концепты заранее задаются с помощью обучения с учителем.
  • Линейное зондирование: Проверяет, можно ли декодировать концепт из активаций обученной модели, не меняя её предсказания. Зонды концептов для чёрных ящиков, например TCAV Бин Ким и её коллег, измеряют влияние концепта постфактум.
  • Конструирование признаков: Вручную вычисляет признаки входных данных по необработанным данным. В CBM обученная модель предсказывает концепты по необработанным входным данным и обучается на человеческой разметке.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения