Trong nhiều dự án Machine Learning, phần tốn kém nhất không phải là viết mô hình mà là chuẩn bị dữ liệu có nhãn. Nếu bài toán là phân loại email, phát hiện lỗi sản phẩm qua ảnh, nhận diện ý định người dùng trong chatbot hoặc trích xuất thông tin từ hóa đơn, việc gán nhãn thủ công có thể nhanh chóng trở thành nút thắt. Active Learning là một cách tiếp cận thực tế: thay vì gán nhãn ngẫu nhiên thật nhiều dữ liệu, ta để mô hình giúp chọn ra những mẫu “đáng gán nhãn nhất”. Ý tưởng cốt lõi của Active Learning Active Learning thường bắt đầu với một tập dữ liệu nhỏ đã được gán nhãn. Ta huấn luyện một mô hình ban đầu, sau đó dùng mô hình này dự đoán trên tập dữ liệu chưa gán nhãn. Thay vì lấy ngẫu nhiên vài nghìn mẫu để con người gán nhãn tiếp, hệ thống sẽ ưu tiên những mẫu mà mô hình đang bối rối, dễ sai hoặc có khả năng mang lại nhiều thông tin mới. Quy trình cơ bản có thể hình dung như sau: - Bước 1: Gán nhãn một tập nhỏ ban đầu, đủ để huấn luyện baseline. - Bước 2: Huấn luyện mô hình đầu tiên. - Bước 3: Cho mô hình dự đoán trên dữ liệu chưa gán nhãn. - Bước 4: Chọn một nhóm mẫu cần gán nhãn tiếp theo. - Bước 5: Con người gán nhãn nhóm mẫu đó. - Bước 6: Huấn luyện lại hoặc cập nhật mô hình. - Bước 7: Lặp lại cho đến khi chất lượng đủ dùng hoặc ngân sách gán nhãn cạn. Ví dụ thực tế: phân loại phản hồi khách hàng Giả sử một công ty muốn phân loại phản hồi khách hàng thành các nhóm như “lỗi thanh toán”, “giao hàng chậm”, “yêu cầu hoàn tiền”, “phàn nàn chất lượng”, “khen ngợi” và “khác”. Công ty có 100.000 phản hồi chưa gán nhãn, nhưng chỉ có ngân sách để nhân viên gán nhãn 5.000 mẫu. Nếu chọn ngẫu nhiên 5.000 mẫu, có thể nhiều mẫu rất dễ, ví dụ “Tôi muốn hoàn tiền” hoặc “Giao hàng quá chậm”. Những mẫu này hữu ích, nhưng sau một thời gian mô hình đã học khá tốt. Vấn đề nằm ở các phản hồi mơ hồ hơn: “Tôi đặt hàng ba ngày rồi chưa thấy cập nhật, nếu không xử lý tôi muốn hủy” — mẫu này có thể vừa liên quan giao hàng, vừa liên quan hoàn tiền/hủy đơn. Với Active Learning, sau khi mô hình học từ 1.000 mẫu đầu tiên, ta có thể yêu cầu hệ thống chọn thêm các phản hồi mà mô hình không chắc chắn. Ví dụ mô hình dự đoán: - “giao hàng chậm”: 0.38 - “yêu cầu hoàn tiền”: 0.34 - “khác”: 0.15 - các nhãn còn lại thấp hơn Đây là mẫu đáng đưa cho người gán nhãn, vì quyết định đúng ở những trường hợp biên như vậy sẽ giúp mô hình cải thiện rõ hơn so với việc gán nhãn thêm các câu quá dễ. Một số chiến lược chọn mẫu phổ biến 1. Chọn mẫu mô hình kém tự tin nhất Cách đơn giản là chọn các mẫu có xác suất dự đoán cao nhất nhưng vẫn thấp. Ví dụ mô hình chỉ tự tin 42% ở nhãn tốt nhất. Điều này cho thấy mô hình chưa chắc chắn. Cách này dễ triển khai, phù hợp để bắt đầu, nhưng cần lưu ý: xác suất của mô hình không phải lúc nào cũng được hiệu chỉnh tốt. Một mô hình có thể “tự tin sai”. 2. Chọn mẫu có độ nhập nhằng cao Thay vì chỉ nhìn xác suất cao nhất, ta xem khoảng cách giữa hai nhãn đứng đầu. Nếu hai nhãn gần nhau, mẫu đó có thể nằm ở ranh giới quyết định. Ví dụ: - Mẫu A: nhãn 1 = 0.51, nhãn 2 = 0.49 - Mẫu B: nhãn 1 = 0.70, nhãn 2 = 0.10 Mẫu A đáng gán nhãn hơn vì mô hình đang phân vân thật sự. 3. Chọn mẫu đa dạng Nếu chỉ chọn mẫu khó, hệ thống có thể lấy rất nhiều mẫu giống nhau. Ví dụ trong bài toán ảnh lỗi sản phẩm, mô hình có thể liên tục chọn các ảnh bị mờ, nhưng điều đó không giúp bao phủ nhiều dạng lỗi khác nhau. Do đó, nên kết hợp tiêu chí “khó” với “đa dạng”. Có thể dùng embedding để nhóm dữ liệu, sau đó chọn mẫu khó từ nhiều cụm khác nhau. Cách này đặc biệt hữu ích với văn bản, ảnh hoặc log người dùng. 4. Chọn mẫu theo giá trị kinh doanh Không phải lỗi nào cũng quan trọng như nhau. Trong hệ thống phát hiện gian lận, bỏ sót giao dịch rủi ro cao có thể nghiêm trọng hơn phân loại nhầm giao dịch nhỏ. Trong chatbot chăm sóc khách hàng, các ý định liên quan khiếu nại, hoàn tiền hoặc pháp lý có thể cần ưu tiên hơn các câu hỏi thông thường. Active Learning không nhất thiết chỉ dựa vào độ khó kỹ thuật. Có thể thêm trọng số kinh doanh để chọn mẫu: vừa khó, vừa thường gặp, vừa ảnh hưởng lớn. Những lỗi dễ gặp khi áp dụng Active Learning - Chỉ chọn mẫu khó và quên dữ liệu đại diện: mô hình có thể giỏi ở các trường hợp biên nhưng kém ở phân phối thật. - Không kiểm tra chất lượng người gán nhãn: Active Learning không cứu được nhãn sai hoặc hướng dẫn gán nhãn mơ hồ. - Huấn luyện lại quá thường xuyên: nếu mỗi vài chục mẫu lại train lại từ đầu, chi phí vận hành có thể không đáng. - Không giữ tập đánh giá cố định: nếu tập test cũng bị ảnh hưởng bởi vòng chọn mẫu, kết quả đánh giá sẽ thiếu khách quan. - Nhầm Active Learning với tự gán nhãn: Active Learning thường vẫn cần con người xác nhận nhãn. Nếu mô hình tự gán nhãn rồi tự học lại, đó là một quy trình khác và có rủi ro khuếch đại lỗi. Gợi ý triển khai đơn giản cho nhóm nhỏ Nếu bạn đang có một dự án phân loại văn bản hoặc ảnh, có thể bắt đầu theo cách thực dụng: - Tạo một tập test cố định và không đụng vào trong quá trình chọn mẫu. - Gán nhãn ban đầu khoảng vài trăm đến vài nghìn mẫu, tùy độ phức tạp bài toán. - Huấn luyện một baseline đơn giản trước, chưa cần mô hình quá lớn. - Dự đoán trên dữ liệu chưa gán nhãn. - Chọn một batch gồm các mẫu mô hình phân vân nhất, nhưng thêm điều kiện đa dạng. - Gán nhãn batch đó, kiểm tra độ nhất quán giữa người gán nhãn nếu có thể. - Huấn luyện lại và so sánh trên tập test cố định. - Dừng khi chất lượng tăng chậm lại hoặc đạt ngưỡng đủ dùng. Khi nào nên dùng Active Learning? Active Learning phù hợp khi dữ liệu chưa gán nhãn nhiều, nhưng gán nhãn tốn chi phí; khi mô hình cần cải thiện liên tục; hoặc khi bài toán có nhiều trường hợp biên cần chuyên gia xử lý. Nó đặc biệt hữu ích trong y tế, pháp lý, kiểm duyệt nội dung, phân loại ticket hỗ trợ, phát hiện lỗi sản phẩm và các hệ thống AI nội bộ có dữ liệu đặc thù. Ngược lại, nếu dữ liệu có nhãn đã rất rẻ, bài toán đơn giản, hoặc quy trình gán nhãn chưa ổn định, bạn nên giải quyết các vấn đề nền tảng trước: định nghĩa nhãn rõ ràng, xây dựng baseline, tạo tập đánh giá đáng tin và kiểm soát chất lượng nhãn. Kết luận Active Learning không phải là kỹ thuật “thần kỳ” giúp giảm dữ liệu trong mọi trường hợp. Giá trị của nó nằm ở việc biến ngân sách gán nhãn thành một vòng lặp có chiến lược hơn. Thay vì hỏi “cần gán nhãn bao nhiêu dữ liệu?”, hãy hỏi thêm: “mẫu nào nếu được gán nhãn sẽ giúp mô hình học được nhiều nhất?”. Với cách triển khai cẩn thận, Active Learning có thể giúp dự án Machine Learning tiết kiệm công sức, cải thiện nhanh hơn và tập trung vào đúng những điểm mô hình còn yếu.