Concept Bottleneck Models
Kavram darboğazı modelleri (CBM'ler), önce insanlarca adlandırılmış kavramları, ardından yalnızca bu kavramlara dayanarak etiketi tahmin eder; böylece uzmanlar her kararı inceleyip düzeltebilir.
Kavram darboğazlı model (CBM), önce girdisinden insanlarca adlandırılmış bir kavram kümesini tahmin eden, ardından yalnızca bu kavramları kullanarak nihai etiketi tahmin eden bir sinir ağıdır. Diz röntgeninde kavramlar eklem aralığında daralma ve kemik çıkıntıları; kuş fotoğrafında ise kanat rengi ve gaga şekli olabilir. Her tahmin bu dar, etiketli katmandan geçtiği için kişi kararı hangi kavramların etkilediğini görebilir ve sonucu değiştirmek için yanlış bir kavramı düzeltebilir; bu da CBM'leri mimariye yerleşik bir açıklanabilir yapay zekâ (XAI) biçimi hâline getirir. Stanford ve Google'dan Pang Wei Koh, Thao Nguyen, Yew Siang Tang, Stephen Mussmann, Emma Pierson, Been Kim ve Percy Liang, terimi 2020 ICML'de Concept Bottleneck Models makalesiyle ortaya attı ve diz röntgenlerinden osteoartrit derecelendirme ile kuş türlerini belirleme görevlerinde standart uçtan uca modellerle rekabet edebilecek doğruluk gösterdi.
Kavram Darboğazı Modelleri Nasıl Çalışır#
Bir CBM iki bölümden oluşur: görüntü gibi girdiyi kavram değerlerine eşleyen bir kavram tahminleyicisi ve bu kavram değerlerini çıktıya eşleyen bir etiket tahminleyicisi. Koh ve çalışma arkadaşları, bu bölümleri eğitmenin üç yolunu karşılaştırdı:
- Bağımsız: Kavram tahminleyicisi kavram açıklamalarından, etiket tahminleyicisi ise gerçek kavramlardan birbirinden bağımsız biçimde öğrenir.
- Ardışık: Önce kavram tahminleyicisi eğitilir, ardından etiket tahminleyicisi onun tahmin ettiği kavramlardan öğrenir.
- Birlikte: Her iki bölüm de kavram kaybı ile etiket kaybının ağırlıklı toplamı üzerinden birlikte eğitilir.
Kellgren-Lawrence şiddet derecesiyle etiketlenmiş 36.369 diz röntgeninden oluşan Osteoarthritis Initiative verilerinde kavramlar, eklem aralığında daralma, kemik çıkıntıları ve kemik sklerozu gibi radyologların zaten değerlendirdiği 10 sıralı bulguydu. 200 türün 11.788 fotoğrafından oluşan Caltech-UCSD Birds veri kümesinde ise kanat rengi ve gaga şekli gibi 112 ikili nitelikti. Her eğitim örneği hem kavram hem de etiket açıklamaları gerektirir; yaklaşımın temel maliyeti budur.
Darboğaz, test zamanında müdahaleye olanak tanır: bir uzman tahmin edilen bir kavramın yanlış olduğunu gördüğünde, onu doğru değerle değiştirir ve etiket tahminleyicisi çıktıyı yeniden hesaplar. Röntgen görevinde yalnızca iki kavramın gerçek değerlerini sağlamak, tahmin edilen şiddet derecesinin hatasını 0,4'ün üzerinden yaklaşık 0,3 RMSE'ye düşürdü.
Bu PyTorch örneği, altı ikili kavramın gürültülü girdiler ürettiği ve etiketin yalnızca kavramlara bağlı olduğu oyuncak veriler üzerinde bağımsız bir CBM eğitir; ardından uzman, en az emin olduğu kavramların gerçek değerlerini sağladıkça etiket doğruluğunu ölçer:
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}")Kavram tahminleyicisi, 6.000 test kavramının 0.834 kadarını doğru tahmin eder ve CBM, 1.000 test örneğinin 0.819 kadarını doğru etiketler. Her örnekte en az emin olunan bir, iki ve üç kavramın gerçek değerlerini sağlamak, iki modelde de değişiklik yapmadan etiket doğruluğunu sırasıyla 0.861, 0.915 ve 0.951 değerlerine çıkarır.
CBM'ler Nerelerde Kullanılır?#
CBM'ler, uzmanların zaten adlandırılmış bulgular üzerinden akıl yürüttüğü alanlara uygundur. Yukarıdaki röntgen çalışmasında tıbbi görüntü analizi, radyologların kaydettiği bulguların aynısını kullandığından klinisyen her birini kontrol edebilir. Güvenlik izlemesi de aynı yapıya sahiptir: Construction-PPE veri kümesi üzerinde eğitilmiş bir Ultralytics YOLO26 modeli, helmet, no_helmet, vest ve no_boots gibi adlandırılmış sınıfları algılar; yalnızca bu algılamaları okuyan bir uyumluluk kuralı, bir inceleyicinin kararını eksik olan belirli bir öğeye kadar izleyebildiği kavram darboğazına dönüşür.
Daha sonraki çalışmalar açıklama gereksinimini gevşetti. Etiketsiz CBM'ler, bir dil modeliyle kavram listesi oluşturur ve kavramları CLIP ile puanlayarak fikri kavram etiketleri olmadan ImageNet ölçeğine taşır; sonradan uygulanan CBM'ler ise zaten eğitilmiş bir modelin gömmelerini kavram yönlerine yansıtarak modeli dönüştürür.
Sınırlamalar#
Kavram kümeleri etiketi belirleyen her şeyi nadiren kapsar; bu da CBM'nin doğruluğunu sınırlar. Etiket tahminleyicisi kesin değerler yerine kavram olasılıklarını aldığında, bu olasılıklar her kavramın anlamının ötesinde, etiket hakkında ek bilgi taşıyabilir. Kavram sızıntısı adı verilen bu etki, açıklamaları ve müdahaleleri daha az güvenilir kılar. Kavram Gömme Modelleri, müdahaleyi desteklerken doğruluğu yüksek tutmak için her kavramı öğrenilmiş bir vektörle temsil eder. İyi tanımlanmamış veya korelasyonlu kavramlar güvenilmez açıklamalar üretir; yanlı kavram açıklamalarıysa bunlara bağlı her karara yanlılık taşır.
CBM'ler ve İlişkili Kavramlar#
- Belirginlik haritaları: Önceden eğitilmiş kara kutu modelini etkileyen pikselleri vurgular. CBM'ler kararları adlandırılmış kavramlarla açıklar ve bu kavramların düzenlenmesine olanak tanır.
- Mekanik yorumlanabilirlik: Eğitilmiş bir modelin kendi başına öğrendiği özellikleri ve devreleri tersine mühendislikle ortaya çıkarır. CBM'ler ara kavramları denetimli öğrenme yoluyla önceden belirler.
- Doğrusal yoklama: Bir kavramın, tahmin biçimini değiştirmeden eğitilmiş modelin aktivasyonlarından çözümlenip çözümlenemediğini sınar. Been Kim ve çalışma arkadaşlarının TCAV'si gibi kara kutular üzerinde yapılan kavram yoklamaları, bir kavramın etkisini sonradan ölçer.
- Özellik mühendisliği: Ham verilerden girdi özelliklerini elle hesaplar. CBM kavramları, eğitilmiş bir model tarafından ham girdilerden tahmin edilir ve insan etiketleriyle denetlenir.










