Active Learning
Active learning cho phép model chọn những mẫu chưa gán nhãn mà con người sẽ gán nhãn tiếp theo, đạt accuracy mục tiêu với ít nhãn hơn. Các chiến lược truy vấn và code.
Học chủ động là một phương pháp học máy, trong đó model chọn các mẫu chưa gán nhãn mà con người nên gán nhãn tiếp theo. Thay vì gán nhãn một mẫu dữ liệu ngẫu nhiên, nhóm huấn luyện model trên một tập nhỏ đã gán nhãn, dùng model để chấm điểm một tập lớn các mẫu chưa gán nhãn, gửi những mẫu giàu thông tin nhất cho người gán nhãn, huấn luyện lại trên tập dữ liệu đã mở rộng rồi lặp lại quy trình. Người cung cấp nhãn được gọi là oracle. Mục tiêu là đạt độ chính xác mong muốn với số nhãn ít nhất có thể; điều này đặc biệt quan trọng khi việc gán nhãn đòi hỏi chuyên gia, chẳng hạn như bác sĩ X-quang đọc ảnh chụp, hoặc khi tập dữ liệu quá lớn để gán nhãn toàn bộ, chẳng hạn video mà một đội xe tự hành ghi lại mỗi ngày.
Cách hoạt động của vòng lặp học chủ động#
Các dự án thị giác máy tính thường sử dụng học chủ động dựa trên pool, trong đó một tập hợp cố định gồm các ảnh chưa gán nhãn chờ được chấm điểm. Mỗi vòng có bốn bước:
- Huấn luyện: Huấn luyện một model, chẳng hạn model phát hiện đối tượng, trên các mẫu đã thu thập và gán nhãn đến thời điểm hiện tại.
- Chấm điểm: Chạy model trên tập chưa gán nhãn và chấm điểm mức độ giàu thông tin cho từng mẫu.
- Truy vấn: Gửi batch có điểm cao nhất cho người gán nhãn để gán nhãn dữ liệu.
- Cập nhật: Thêm nhãn mới vào dữ liệu huấn luyện rồi huấn luyện lại.
Vòng lặp kết thúc khi hết ngân sách gán nhãn hoặc độ chính xác trên một tập validation cố định không còn cải thiện. So sánh từng vòng với model được huấn luyện bằng cùng số lượng nhãn được chọn ngẫu nhiên sẽ cho biết việc lựa chọn có hiệu quả hay không.
Chiến lược truy vấn#
Chiến lược truy vấn quyết định thế nào là giàu thông tin:
- Lấy mẫu theo độ bất định: Chọn các mẫu mà model ít chắc chắn nhất, được đo bằng độ tin cậy thấp nhất của lớp đứng đầu, khoảng cách nhỏ nhất giữa hai lớp có điểm cao nhất hoặc entropy cao nhất của phân phối lớp dự đoán.
- Truy vấn theo hội đồng: Huấn luyện một số model rồi chọn các mẫu mà chúng bất đồng nhiều nhất. Monte Carlo dropout tạo ra một hội đồng tiết kiệm chi phí từ một mạng duy nhất.
- Lấy mẫu đa dạng: Chọn các mẫu bao phủ không gian embedding, để batch không bị lấp đầy bởi các mẫu gần như trùng lặp, chẳng hạn các frame video liên tiếp. Phương pháp core-set xây dựng cách chọn batch theo hướng này sau khi phát hiện nhiều heuristic về độ bất định không hiệu quả với CNN trong bối cảnh xử lý theo batch.
- Chiến lược kết hợp: Kết hợp cả hai tín hiệu. BADGE chọn các mẫu vừa bất định vừa đa dạng trong không gian embedding gradient mà không cần tinh chỉnh trọng số thủ công.
Detector tạo ra nhiều bounding box trên mỗi ảnh, vì vậy cần kết hợp điểm số của các box thành một điểm cho mỗi ảnh, chẳng hạn bằng cách lấy trung bình độ tin cậy của mọi đối tượng được phát hiện. Script dưới đây xếp hạng một pool nhỏ theo độ tin cậy phát hiện trung bình bằng model YOLO26 được tiền huấn luyện và truy vấn ảnh có độ tin cậy thấp nhất trước tiên:
from ultralytics import YOLO
# Model trained on the current labeled set
model = YOLO("yolo26n.pt")
# Unlabeled pool, usually thousands of images
pool = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
results = model(pool, conf=0.1)
# Least-confidence sampling: score each image by its mean detection confidence
scores = {}
for image, result in zip(pool, results):
if len(result.boxes):
scores[image] = result.boxes.conf.mean().item()
# Query the lowest-scoring images first, within a labeling budget of one image
query = sorted(scores, key=scores.get)[:1]
print(f"Label next: {query}")Ngưỡng thấp conf=0.1 giữ lại các lượt phát hiện yếu trong điểm số, vì đó là những box khiến model không chắc chắn. Trình chỉnh sửa gán nhãn của Ultralytics Platform hoàn tất các bước còn lại của vòng lặp: chế độ Smart tải các model YOLO đã fine-tune của bạn, để mỗi model được huấn luyện lại gán nhãn sơ bộ cho batch được truy vấn tiếp theo, rồi người gán nhãn chỉnh sửa.
Những vấn đề thường gặp trong thực tế#
- Khởi động lạnh: Điểm bất định từ model được huấn luyện trên vài chục ví dụ không đáng tin cậy, vì vậy các vòng đầu thường chọn ngẫu nhiên hoặc dựa trên độ đa dạng. Model thị giác-ngôn ngữ cũng có thể gán nhãn trước cho lô đầu tiên chỉ dựa trên tên lớp; Bảng xếp hạng VLM so sánh độ chính xác của chúng khi gán nhãn dataset detection thực tế.
- Batch dư thừa: Việc chọn độc lập k ảnh bất định nhất thường trả về các cụm ảnh gần như giống hệt nhau; đây là vấn đề mà các chiến lược đa dạng và kết hợp hướng đến giải quyết.
- Thiên kiến lấy mẫu: Tập đã gán nhãn dần lệch khỏi phân phối dữ liệu thực vì các trường hợp khó bị đại diện quá mức. Vì vậy, tập validation và tập test được lấy ngẫu nhiên từ toàn bộ pool để giữ cho điểm số không bị thiên lệch.
- Ngoại lệ: Ảnh bị hỏng, mờ hoặc nằm ngoài miền dữ liệu đều khiến mọi model cho kết quả bất định và có thể làm lãng phí ngân sách gán nhãn nếu không được lọc bỏ.
Học chủ động và các thuật ngữ liên quan#
- Học bán giám sát: Cũng sử dụng dữ liệu chưa gán nhãn, nhưng model tự gán nhãn giả cho các dự đoán mà model tin cậy thay vì hỏi con người về những dự đoán còn bất định. Hai phương pháp này thường được kết hợp.
- Học theo chương trình: Sắp xếp các mẫu đã gán nhãn theo thứ tự từ dễ đến khó trong quá trình huấn luyện. Học chủ động quyết định mẫu nào được gán nhãn ngay từ đầu.
- Khai thác hard negative: Chọn các mẫu âm tính đã gán nhãn mà model dự đoán sai nhiều nhất rồi tăng cường huấn luyện trên chúng. Phương pháp này dùng các nhãn hiện có và không bổ sung nhãn mới.
- Bánh đà dữ liệu: Vòng lặp trong môi trường production, nơi các model đã triển khai phát hiện dữ liệu mới giúp cải thiện model tiếp theo. Học chủ động là một bước lựa chọn phổ biến trong vòng lặp này.










