Curriculum Learning
Khám phá cách Curriculum Learning cải thiện quá trình training machine learning. Tìm hiểu cách sử dụng các chuỗi dữ liệu có cấu trúc để nâng cao độ chính xác và khả năng hội tụ của Ultralytics YOLO26.
Học tập theo chương trình là một chiến lược huấn luyện machine learning lấy cảm hứng từ cách con người học, bắt đầu với các khái niệm đơn giản trước khi dần giới thiệu những khái niệm phức tạp hơn. Thay vì cung cấp cho model dữ liệu huấn luyện theo thứ tự ngẫu nhiên, các mẫu huấn luyện được sắp xếp rõ ràng thành một chuỗi có độ khó tăng dần. Cách tiếp cận có tổ chức này để đưa dữ liệu vào neural network có thể giúp hội tụ nhanh hơn, cải thiện khả năng tổng quát hóa và tăng độ robust tổng thể trong các tác vụ phức tạp.
Tiến trình có cấu trúc này khác với Continual Learning, vốn tập trung vào việc bổ sung các tác vụ mới cho model mà không làm quên những tác vụ trước đó. Trong Học tập theo chương trình, mục tiêu vẫn giữ nguyên, nhưng trình tự của training data được tuyển chọn một cách có chiến lược.
Cách Học tập theo chương trình hoạt động#
Ý tưởng cốt lõi của Học tập theo chương trình là việc khởi tạo các tham số của model bằng những ví dụ dễ hơn sẽ hướng model đến một cực tiểu cục bộ tốt hơn trên bề mặt hàm mất mát. Khi model đã nắm vững các đặc trưng cơ bản, quy trình huấn luyện sẽ đưa vào những ví dụ khó hơn, cho phép model tinh chỉnh hiểu biết và học các chi tiết phức tạp hơn.
Việc triển khai Học tập theo chương trình gồm hai thành phần chính:
-
Chỉ số độ khó: Một phương pháp đánh giá độ phức tạp của từng ví dụ huấn luyện. Trong computer vision, chỉ số này có thể dựa trên kích thước đối tượng, độ che khuất hoặc độ rõ nét của hình ảnh.
-
Bộ lập lịch huấn luyện: Một hàm điều phối quy định thời điểm và cách thức đưa các ví dụ khó hơn vào quy trình huấn luyện.
Ví dụ, khi huấn luyện Ultralytics YOLO26 cho object detection, bạn có thể bắt đầu bằng việc huấn luyện trên các hình ảnh có một đối tượng duy nhất, rõ nét và nằm ở trung tâm. Khi quá trình huấn luyện tiến triển, bộ lập lịch sẽ đưa vào các hình ảnh có nhiều đối tượng, bị che khuất nghiêm trọng hoặc có điều kiện ánh sáng khác nhau. Điều này giúp model nắm bắt các đặc trưng nền tảng của đối tượng trước khi xử lý những tình huống thực tế đầy thách thức.
Các ứng dụng trong thực tế#
Học tập theo chương trình đã cho thấy những lợi ích trong nhiều lĩnh vực AI khác nhau, đặc biệt khi làm việc với các dataset nhiễu hoặc những tác vụ có độ phức tạp cao.
- Xe tự hành: Trong quá trình huấn luyện các hệ thống lái xe tự hành, model trước tiên được huấn luyện để nhận diện vạch làn đường cơ bản và biển báo giao thông rõ ràng. Chỉ sau khi nắm vững những kiến thức cơ bản này, model mới được tiếp xúc với các tình huống phức tạp như mưa lớn, chuyển động thất thường của người đi bộ hoặc giao lộ phức tạp, từ đó cải thiện AI safety và độ tin cậy.
- Phân tích hình ảnh y khoa: Khi phát triển model cho medical image analysis, cách tiếp cận theo chương trình có thể bắt đầu bằng các ảnh chụp có độ tương phản cao, rõ nét và chứa các khối u dễ nhận biết, trước khi chuyển sang những ảnh chụp có bất thường tinh vi hoặc nhiễu do quá trình chụp.
Ưu điểm và các điểm cần cân nhắc#
Các nghiên cứu từ những tổ chức như Google AI và OpenAI liên tục nhấn mạnh lợi ích của các quy trình huấn luyện có cấu trúc. Bằng cách thiết kế cẩn thận trình tự huấn luyện, developer thường có thể đạt accuracy cao hơn và giảm nguy cơ overfitting.
Tuy nhiên, việc xác định "độ khó" của một ví dụ không phải lúc nào cũng đơn giản. Một chương trình học được thiết kế kém đôi khi có thể làm chậm quá trình huấn luyện hoặc tạo bias cho model. Các phương pháp hiện đại, chẳng hạn như những phương pháp được thảo luận trong các ấn phẩm arXiv về self-paced learning gần đây, cho phép chính model tự động xác định độ khó của các ví dụ dựa trên loss hiện tại, qua đó tự động hóa việc thiết kế chương trình học.
Để quản lý hiệu quả các dataset tùy chỉnh và thử nghiệm với các chiến lược huấn luyện, những công cụ như Ultralytics Platform cung cấp một môi trường tinh gọn cho việc data annotation, tổ chức data splits và theo dõi tiến độ huấn luyện.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# A conceptual example of manually implementing a simple curriculum
# Phase 1: Train on 'easy' dataset (e.g., clear, large objects)
model.train(data="easy_dataset.yaml", epochs=50, imgsz=640)
# Phase 2: Fine-tune on 'hard' dataset (e.g., occluded, small objects)
model.train(data="hard_dataset.yaml", epochs=50, imgsz=640)Trong ví dụ đơn giản hóa này, model trước tiên học các đặc trưng nền tảng từ một dataset dễ hơn trước khi thích nghi với dữ liệu nhiều thách thức hơn, mô phỏng một chương trình học cơ bản gồm hai giai đoạn.









