Active Learning
Khám phá cách học chủ động (Active Learning) tối ưu hóa việc đào tạo AI. Tìm hiểu cách sử dụng Ultralytics YOLO26 để xác định dữ liệu quan trọng, giảm chi phí gán nhãn và tăng độ chính xác.
Active Learning là một phương pháp chiến lược trong học máy (ML), trong đó thuật toán chủ động lựa chọn các điểm dữ liệu giàu thông tin nhất để gắn nhãn, thay vì chấp nhận một tập dữ liệu đã gắn nhãn sẵn một cách bị động. Trong học có giám sát truyền thống, các model thường đòi hỏi lượng lớn dữ liệu được chú giải, vốn là công việc tốn kém và mất thời gian. Active learning tối ưu hóa quy trình này bằng cách xác định các ví dụ "không chắc chắn" hoặc "khó"—những ví dụ nằm gần ranh giới quyết định hoặc nơi model thiếu độ tin cậy—và yêu cầu con người chỉ gắn nhãn cho chính những trường hợp cụ thể đó. Vòng lặp lặp đi lặp lại này cho phép các model đạt được độ chính xác cao với số lượng mẫu được gắn nhãn ít hơn đáng kể, làm cho nó trở nên hiệu quả cao đối với các dự án có ngân sách hạn chế hoặc bị ràng buộc về thời gian.
Link to this sectionCách thức vận hành chu trình Active Learning#
Cốt lõi của active learning là một vòng lặp phản hồi thường được gọi là human-in-the-loop. Thay vì huấn luyện một lần trên một tập dữ liệu tĩnh, model tiến hóa thông qua các chu kỳ truy vấn và cập nhật.
-
Khởi tạo: Quy trình bắt đầu với một tập hợp nhỏ dữ liệu huấn luyện đã được gắn nhãn dùng để huấn luyện một model ban đầu, chẳng hạn như Ultralytics YOLO26.
-
Chọn lọc truy vấn: Model đánh giá một nhóm lớn dữ liệu chưa được gắn nhãn. Sử dụng chiến lược truy vấn—phổ biến nhất là lấy mẫu dựa trên sự không chắc chắn (uncertainty sampling)—nó chọn ra những hình ảnh hoặc văn bản mà các dự đoán của nó ít tin cậy nhất.
-
Gắn nhãn: Các mẫu ưu tiên cao này được gửi đến một chuyên gia con người, thường được gọi là "oracle" trong tài liệu về active learning, để thực hiện gắn nhãn dữ liệu.
-
Huấn luyện lại: Dữ liệu mới được gắn nhãn sẽ được thêm vào tập huấn luyện và model được huấn luyện lại. Model đã cập nhật này sau đó sẽ được trang bị tốt hơn để lựa chọn đợt mẫu gây bối rối tiếp theo.
Link to this sectionCác ứng dụng trong thực tế#
Active learning là không thể thiếu trong các ngành công nghiệp nơi dữ liệu rất dồi dào nhưng việc gắn nhãn đòi hỏi kiến thức chuyên môn hoặc chi phí cao.
- Phân tích hình ảnh y tế: Trong các lĩnh vực như chẩn đoán hình ảnh, việc gắn nhãn đòi hỏi các chuyên gia có chứng chỉ, những người mà thời gian của họ vô cùng quý giá. Thay vì yêu cầu bác sĩ chú giải hàng nghìn bản quét rõ ràng, một hệ thống active learning có thể lọc ra các trường hợp mơ hồ—như khối u giai đoạn đầu hoặc các điểm bất thường hiếm gặp—cho phép chuyên gia chỉ tập trung vào những hình ảnh thực sự cải thiện khả năng chẩn đoán của model.
- Phương tiện tự lái: Xe tự lái tạo ra lượng dữ liệu video khổng lồ. Việc gắn nhãn từng khung hình là không thể. Active learning giúp các kỹ sư xác định các trường hợp biên, chẳng hạn như người đi bộ mặc trang phục hóa trang hoặc lái xe trong tuyết dày, những thứ mà các model phát hiện đối tượng tiêu chuẩn có thể bỏ lỡ. Bằng cách ưu tiên các tình huống hiếm gặp này, các công ty cải thiện độ an toàn mà không lãng phí tài nguyên vào các cảnh quay đường cao tốc lặp đi lặp lại.
Link to this sectionVí dụ về Python: Lọc các dự đoán không chắc chắn#
Ví dụ sau đây minh họa logic "lấy mẫu dựa trên sự không chắc chắn" đơn giản bằng cách sử dụng Ultralytics YOLO26. Chúng ta tải một model, chạy inference trên hình ảnh và gắn cờ những hình ảnh có điểm tin cậy thấp hơn một ngưỡng nhất định để xem xét thủ công.
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# List of unlabeled image paths
unlabeled_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference
results = model(unlabeled_images)
# Identify samples with low confidence for active learning
uncertain_threshold = 0.6
for result in results:
# Check if any detection confidence is below the threshold
if result.boxes.conf.numel() > 0 and result.boxes.conf.min() < uncertain_threshold:
print(f"Active Learning Query: {result.path} needs human labeling.")Link to this sectionPhân biệt các khái niệm liên quan#
Điều quan trọng là phải phân biệt active learning với các mô hình huấn luyện tương tự:
- Học bán giám sát: Mặc dù cả hai phương pháp đều sử dụng dữ liệu chưa được gắn nhãn, học bán giám sát tự động gán nhãn giả (pseudo-labels) cho dữ liệu dựa trên các dự đoán có độ tin cậy cao của model. Ngược lại, active learning yêu cầu sự can thiệp của con người một cách rõ ràng đối với các dự đoán có độ tin cậy thấp.
- Học chuyển đổi (Transfer Learning): Phương pháp này bao gồm việc lấy một model đã được huấn luyện sẵn (như model được huấn luyện trên ImageNet) và điều chỉnh nó cho một tác vụ mới. Active learning tập trung vào việc dữ liệu nào cần được gắn nhãn, trong khi học chuyển đổi tập trung vào việc tái sử dụng các đặc trưng đã học.
- Học tăng cường (Reinforcement Learning): Tại đây, một tác nhân học bằng cách tương tác với môi trường và nhận phần thưởng. Active learning khác biệt vì nó tìm kiếm các nhãn sự thật cơ sở (ground truth) tĩnh từ một oracle, thay vì tối ưu hóa một chuỗi hành động để đạt được phần thưởng.
Link to this sectionTích hợp với MLOps#
Việc triển khai active learning hiệu quả đòi hỏi một quy trình Vận hành học máy (MLOps) mạnh mẽ. Bạn cần cơ sở hạ tầng để quản lý phiên bản dữ liệu, kích hoạt các tác vụ huấn luyện lại và phục vụ giao diện gắn nhãn cho con người. Các công cụ tích hợp với hệ sinh thái Ultralytics cho phép người dùng di chuyển liền mạch giữa inference, quản lý dữ liệu và huấn luyện. Ví dụ, việc sử dụng các tập lệnh huấn luyện tùy chỉnh cho phép các nhà phát triển nhanh chóng đưa các lô dữ liệu active learning mới vào các model YOLO của họ.
Để đọc thêm về các chiến lược lấy mẫu, các nhà nghiên cứu thường tham khảo các bài khảo sát toàn diện trong tài liệu về active learning. Ngoài ra, việc hiểu về các chỉ số đánh giá model là rất quan trọng để xác minh rằng vòng lặp active learning thực sự đang cải thiện hiệu suất.






