Multiple Instance Learning
Học nhiều instance huấn luyện trên các nhóm instance chỉ được gán nhãn tổng thể, chẳng hạn một lam bệnh học có một chẩn đoán, và tìm ra các instance then chốt.
Học nhiều instance (MIL) là một dạng học máy, trong đó các mẫu huấn luyện được nhóm thành những tập gọi là bag; chỉ mỗi bag có nhãn, còn các instance riêng lẻ bên trong thì không. Một ảnh tiêu bản bệnh học số hóa có nhãn “ung thư” là một bag gồm hàng nghìn tile mô, trong đó có thể chỉ một vài tile cho thấy tế bào khối u; video giám sát có nhãn “sự cố” là một bag gồm các đoạn clip ngắn, phần lớn không có gì bất thường. MIL học cách dự đoán nhãn bag từ dữ liệu đó, đồng thời xác định instance nào chịu trách nhiệm cho nhãn. Đây là một dạng học giám sát yếu, được dùng khi việc gán nhãn từng instance sẽ mất quá nhiều thời gian của chuyên gia hoặc không thể thực hiện.
Thomas Dietterich, Richard Lathrop và Tomás Lozano-Pérez giới thiệu thiết lập này vào năm 1997 để dự đoán hoạt tính của thuốc. Một phân tử có thể gấp thành nhiều hình dạng, và phân tử liên kết với mục tiêu nếu ít nhất một hình dạng phù hợp; vì vậy, họ xem mỗi phân tử là một bag gồm các hình dạng khả dĩ, trong đó chỉ hoạt tính được đo của phân tử là nhãn.
Giả định MIL tiêu chuẩn#
Giả định kinh điển cho nhãn nhị phân là một bag dương tính nếu chứa ít nhất một instance dương tính và chỉ âm tính nếu tất cả instance đều âm tính. Gán nhãn của bag cho mọi instance như cách học có giám sát thông thường vẫn làm sẽ gán nhãn sai cho nhiều instance âm tính trong mỗi bag dương tính. Thay vào đó, MIL chấm điểm từng instance rồi gộp các điểm thành một dự đoán cho bag. Lấy giá trị lớn nhất khớp chính xác với giả định tiêu chuẩn: điểm của bag cao bằng điểm của instance đáng ngờ nhất, và chỉ điểm của instance đó nhận tín hiệu lan truyền ngược từ nhãn bag.
Ví dụ PyTorch này huấn luyện bộ chấm điểm instance tuyến tính trên 16.000 bag, mỗi bag gồm 20 instance ngẫu nhiên; mỗi bag dương tính ẩn một instance “chứng cứ” khác biệt ở 4 trong 16 đặc trưng. Quá trình huấn luyện chỉ sử dụng nhãn bag, còn 1.000 bag kiểm thử dùng để đánh giá cả dự đoán bag lẫn việc instance có điểm cao nhất có phải là instance chứng cứ hay không:
import torch
torch.manual_seed(0)
n = 17000 # 16,000 training bags and 1,000 test bags, each holding 20 instances with 16 features
bags, labels, witness = torch.randn(n, 20, 16), torch.randint(0, 2, (n,)).float(), torch.randint(0, 20, (n,))
bags[torch.arange(n), witness, :4] += 2.0 * labels[:, None] # a positive bag hides one shifted "witness" instance
scorer = torch.nn.Linear(16, 1) # gives every instance a score
optimizer = torch.optim.Adam(scorer.parameters(), lr=1e-2)
for i in range(0, 16000, 32): # train on 32 bags per step, using bag labels only
bag_logits = scorer(bags[i : i + 32]).squeeze(-1).max(dim=1).values # max pooling: a bag scores as its top instance
loss = torch.nn.functional.binary_cross_entropy_with_logits(bag_logits, labels[i : i + 32])
optimizer.zero_grad()
loss.backward()
optimizer.step()
with torch.no_grad():
scores = scorer(bags[16000:]).squeeze(-1) # one score per test instance
positive = labels[16000:].bool()
bag_accuracy = ((scores.max(dim=1).values > 0) == positive).float().mean()
located = (scores.argmax(dim=1) == witness[16000:])[positive].float().mean()
print(f"Bag accuracy: {bag_accuracy:.3f}, witness ranked first in {located:.3f} of positive bags")Model phân loại chính xác 0.917 số bag kiểm thử và xếp instance chứng cứ ở vị trí đầu tiên trong 0.960 số bag dương tính, dù chưa từng sử dụng nhãn instance nào. Khả năng xếp hạng instance đó cho phép các hệ thống MIL chỉ ra tile hoặc clip dẫn đến một quyết định.
Gộp và MIL dựa trên attention#
Gộp cực đại chỉ dựa vào một instance, vì vậy một instance nhiễu có thể làm thay đổi bag. Gộp trung bình sử dụng mọi instance nhưng làm loãng tín hiệu hiếm; phương pháp này phù hợp với các giả định tập thể, trong đó nhãn phụ thuộc vào tỷ lệ instance thể hiện một đặc điểm nào đó. Maximilian Ilse, Jakub Tomczak và Max Welling đề xuất MIL sâu dựa trên attention vào năm 2018: một mạng nhỏ gán trọng số cho từng instance, còn biểu diễn bag là trung bình có trọng số của các đặc trưng instance. Cơ chế attention xử lý bag với mọi kích thước, bỏ qua thứ tự instance và tạo ra các trọng số đóng vai trò như heatmap của những vùng dẫn đến dự đoán, tương tự bản đồ độ nổi bật.
Ảnh toàn tiêu bản quá lớn để huấn luyện end-to-end, vì vậy nhiều pipeline bệnh học trước tiên chuyển mỗi tile thành một vector đặc trưng bằng encoder tiền huấn luyện đã đóng băng, rồi chỉ huấn luyện mạng gộp và bộ phân loại trên nhãn tiêu bản. Model phân loại ảnh YOLO26 có thể đảm nhiệm vai trò encoder đó: model.embed() trả về một vector đặc trưng đã gộp cho mỗi ảnh đầu vào, vì vậy một batch tile trở thành bag gồm các vector instance để đưa vào head gộp attention.
Ứng dụng#
Trong phân tích ảnh y tế, MIL loại bỏ nhu cầu bác sĩ giải phẫu bệnh phải phác thảo khối u trên các tiêu bản gigapixel. Gabriele Campanella và cộng sự tại Memorial Sloan Kettering huấn luyện một hệ thống MIL trên 44.732 ảnh toàn tiêu bản từ 15.187 bệnh nhân, chỉ sử dụng chẩn đoán trong báo cáo bệnh học; nghiên cứu năm 2019 của họ báo cáo diện tích dưới đường cong ROC trên 0.98 đối với ung thư tuyến tiền liệt, ung thư biểu mô tế bào đáy và ung thư vú di căn hạch bạch huyết.
Trong lĩnh vực video, Waqas Sultani, Chen Chen và Mubarak Shah xem mỗi video giám sát là một bag gồm các phân đoạn để phát hiện bất thường, đồng thời công bố bộ dữ liệu UCF-Crime gồm 1.900 video chưa cắt, chỉ có nhãn ở cấp video; dữ liệu này huấn luyện model gán điểm bất thường cao nhất cho các phân đoạn xảy ra sự cố. Phát hiện đối tượng được giám sát yếu xem ảnh là một bag gồm các vùng ứng viên, chỉ được gán nhãn bằng những lớp hiện diện; các vùng có điểm cao nhất trở thành bounding box dự đoán. Trong mọi thiết lập này, giữ tất cả tile hoặc frame từ cùng một tiêu bản, bệnh nhân hoặc video ở cùng một tập sẽ tránh rò rỉ dữ liệu do phân tán các instance gần như giống hệt nhau giữa tập huấn luyện và kiểm thử.
MIL và các thiết lập liên quan#
Học bán giám sát kết hợp các mẫu được gán nhãn đầy đủ và chưa được gán nhãn, trong khi mọi bag MIL đều có nhãn nhưng không instance nào có nhãn. Phân loại đa nhãn gán nhiều lớp cho một mẫu; hai phương pháp này kết hợp thành học đa instance, đa nhãn. Học chủ động có thể tiếp nối MIL, gửi các instance có điểm cao nhất trong bag dương tính cho chuyên gia khi chi phí gán nhãn cấp instance trở nên đáng bỏ ra.










