Concept Bottleneck Models
Model nút thắt khái niệm (CBM) trước tiên dự đoán các khái niệm do con người đặt tên, sau đó chỉ dự đoán nhãn dựa trên các khái niệm đó, để chuyên gia có thể kiểm tra và sửa từng quyết định.
Model nút thắt khái niệm (CBM) là một mạng nơ-ron trước tiên dự đoán một tập khái niệm có tên gọi dễ hiểu từ đầu vào, sau đó chỉ dùng các khái niệm đó để dự đoán nhãn cuối cùng. Với ảnh X-quang đầu gối, các khái niệm có thể là hẹp khe khớp và gai xương; với ảnh chim, đó có thể là màu cánh và hình dạng mỏ. Vì mọi dự đoán đều đi qua lớp hẹp có nhãn này, con người có thể xem khái niệm nào dẫn đến quyết định và sửa một khái niệm sai để thay đổi kết quả; nhờ đó, CBM là một dạng AI có thể giải thích (XAI) được tích hợp vào kiến trúc. Pang Wei Koh, Thao Nguyen, Yew Siang Tang, Stephen Mussmann, Emma Pierson, Been Kim và Percy Liang thuộc Stanford và Google đã giới thiệu thuật ngữ này trong Concept Bottleneck Models tại ICML 2020, cho thấy độ chính xác cạnh tranh với các model đầu cuối tiêu chuẩn trên hai tác vụ: phân độ viêm xương khớp đầu gối từ ảnh X-quang và nhận diện loài chim.
Cách thức hoạt động của model nút thắt khái niệm#
CBM gồm hai phần: bộ dự đoán khái niệm ánh xạ đầu vào, chẳng hạn ảnh, thành các giá trị khái niệm; và bộ dự đoán nhãn ánh xạ các giá trị khái niệm đó thành đầu ra. Koh và cộng sự đã so sánh ba cách huấn luyện:
- Độc lập: Bộ dự đoán khái niệm học từ các chú thích khái niệm, còn bộ dự đoán nhãn học từ các khái niệm thực, mỗi bộ được huấn luyện riêng.
- Tuần tự: Bộ dự đoán khái niệm được huấn luyện trước, sau đó bộ dự đoán nhãn học từ các khái niệm do bộ thứ nhất dự đoán.
- Đồng thời: Cả hai phần được huấn luyện cùng nhau trên tổng có trọng số của loss khái niệm và loss nhãn.
Trên dữ liệu Osteoarthritis Initiative gồm 36.369 ảnh X-quang đầu gối được gán nhãn theo mức độ nghiêm trọng Kellgren-Lawrence, các khái niệm là 10 phát hiện thứ bậc mà bác sĩ X-quang vốn đã đánh giá, chẳng hạn hẹp khe khớp, gai xương và xơ cứng xương. Trên tập dữ liệu Caltech-UCSD Birds gồm 11.788 ảnh của 200 loài, các khái niệm là 112 thuộc tính nhị phân như màu cánh và hình dạng mỏ. Mỗi mẫu huấn luyện cần cả chú thích khái niệm lẫn nhãn, đây là chi phí chính của phương pháp.
Nút thắt cho phép can thiệp tại thời điểm kiểm thử: khi chuyên gia nhận thấy một khái niệm được dự đoán sai, họ thay thế nó bằng giá trị chính xác và bộ dự đoán nhãn tính lại đầu ra. Trong tác vụ X-quang, chỉ cần cung cấp giá trị thực của hai khái niệm đã giảm lỗi của mức độ nghiêm trọng được dự đoán từ trên 0.4 xuống khoảng 0.3 RMSE.
Ví dụ PyTorch này huấn luyện một CBM độc lập trên dữ liệu giả lập, trong đó sáu khái niệm nhị phân tạo ra đầu vào nhiễu và nhãn chỉ phụ thuộc vào các khái niệm, sau đó đo độ chính xác nhãn khi chuyên gia cung cấp giá trị thực của các khái niệm có độ chắc chắn thấp nhất:
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}")Bộ dự đoán khái niệm dự đoán đúng 0.834 trong số 6.000 khái niệm kiểm thử, còn CBM gán nhãn chính xác 0.819 trong số 1.000 mẫu kiểm thử. Việc cung cấp giá trị thực của một, hai và ba khái niệm có độ chắc chắn thấp nhất trong mỗi mẫu nâng độ chính xác nhãn lên lần lượt 0.861, 0.915 và 0.951, mà không thay đổi model nào.
CBM được sử dụng ở đâu#
CBM phù hợp với các lĩnh vực mà chuyên gia vốn suy luận bằng những phát hiện có tên gọi cụ thể. Trong phân tích ảnh y tế, nghiên cứu X-quang nêu trên sử dụng chính những phát hiện mà bác sĩ X-quang ghi nhận, nên bác sĩ lâm sàng có thể kiểm tra từng phát hiện. Giám sát an toàn cũng có cấu trúc tương tự: model Ultralytics YOLO26 được huấn luyện trên tập dữ liệu Construction-PPE phát hiện các lớp có tên cụ thể như helmet, no_helmet, vest và no_boots; quy tắc tuân thủ chỉ đọc các phát hiện đó tạo thành một nút thắt khái niệm, cho phép người đánh giá truy nguyên quyết định đến một hạng mục cụ thể còn thiếu.
Các nghiên cứu sau này nới lỏng yêu cầu chú thích. CBM không cần nhãn tạo danh sách khái niệm bằng model ngôn ngữ và chấm điểm khái niệm bằng CLIP, mở rộng ý tưởng sang ImageNet mà không cần nhãn khái niệm; CBM hậu nghiệm chuyển đổi một model đã huấn luyện bằng cách chiếu embedding của model lên các hướng khái niệm.
Hạn chế#
Tập khái niệm hiếm khi bao quát mọi yếu tố quyết định nhãn, khiến độ chính xác của CBM bị giới hạn. Khi bộ dự đoán nhãn nhận xác suất khái niệm thay vì giá trị cứng, các xác suất đó có thể chứa thêm thông tin về nhãn ngoài ý nghĩa của từng khái niệm; hiện tượng này được gọi là rò rỉ khái niệm, khiến giải thích và can thiệp kém đáng tin cậy hơn. Model nhúng khái niệm biểu diễn mỗi khái niệm thành một vector được học, nhằm giữ độ chính xác cao mà vẫn hỗ trợ can thiệp. Khái niệm được định nghĩa kém hoặc có tương quan tạo ra giải thích không đáng tin cậy, còn chú thích khái niệm thiên lệch đưa thiên lệch vào mọi quyết định phụ thuộc vào chúng.
CBM và các khái niệm liên quan#
- Bản đồ độ nổi bật: Làm nổi bật các pixel đã ảnh hưởng đến model hộp đen được huấn luyện trước đó. CBM giải thích quyết định bằng các khái niệm có tên gọi cụ thể và cho phép chỉnh sửa các khái niệm đó.
- Diễn giải cơ chế: Đảo ngược kỹ thuật để tìm hiểu các đặc trưng và mạch mà model đã huấn luyện tự học được. CBM xác định trước các khái niệm trung gian thông qua giám sát.
- Thăm dò tuyến tính: Kiểm tra xem có thể giải mã một khái niệm từ các activation của model đã huấn luyện hay không mà không thay đổi cách model dự đoán. Các phép thăm dò khái niệm trên model hộp đen, chẳng hạn TCAV của Been Kim và các cộng sự, đo lường ảnh hưởng của khái niệm sau khi huấn luyện.
- Thiết kế đặc trưng: Tính toán thủ công các đặc trưng đầu vào từ dữ liệu thô. Khái niệm trong CBM được model đã huấn luyện dự đoán từ đầu vào thô và được giám sát bằng nhãn do con người gán.










