Automated Machine Learning (AutoML)
Machine learning tự động (AutoML) tự động hóa việc chọn model, tinh chỉnh hyperparameter và chuẩn bị đặc trưng. Cách tìm kiếm hoạt động, các công cụ và tinh chỉnh YOLO.
Học máy tự động (AutoML) là việc tự động hóa quá trình thử-sai khi xây dựng một model học máy (ML): chuẩn bị đặc trưng, chọn thuật toán, thiết lập hyperparameter, đôi khi thiết kế kiến trúc mạng hoặc kết hợp nhiều model. Với một dataset, metric mục tiêu và ngân sách tính toán, hệ thống AutoML tìm kiếm trên các pipeline tiềm năng, chấm điểm từng pipeline bằng dữ liệu giữ lại và trả về pipeline tốt nhất tìm được. Dự án Auto-WEKA mô tả cốt lõi của tác vụ này là bài toán kết hợp lựa chọn thuật toán và tối ưu hóa hyperparameter (CASH), một cách định hình mà các công cụ sau này như auto-sklearn đã áp dụng. AutoML cung cấp các baseline mạnh cho người không chuyên và giúp chuyên gia tiết kiệm phần thử nghiệm lặp đi lặp lại.
Cách AutoML hoạt động#
Một hệ thống AutoML có ba thành phần. Không gian tìm kiếm xác định những yếu tố có thể thay đổi, từ các bước tiền xử lý dữ liệu và thiết kế đặc trưng đến họ model, chẳng hạn như hồi quy tuyến tính, XGBoost hoặc mạng nơ-ron, cùng các thiết lập của từng họ, chẳng hạn như learning rate. Chiến lược tìm kiếm chọn các ứng viên để thử, sử dụng tìm kiếm ngẫu nhiên, tối ưu hóa Bayesian để mô hình hóa những vùng trong không gian có vẻ triển vọng, hoặc thuật toán tiến hóa để đột biến và tái tổ hợp các cấu hình tốt. Bước đánh giá chấm điểm từng ứng viên trên dữ liệu validation hoặc bằng cross-validation. Nhiều hệ thống cũng khởi tạo tìm kiếm bằng meta-learning từ các dataset trước đó và kết thúc bằng cách kết hợp những ứng viên tốt nhất thành một ensemble model.
Huấn luyện hoàn tất mọi ứng viên là khoản chi phí chính, vì vậy các phương pháp đa mức độ trung thực trước tiên huấn luyện nhiều cấu hình với chi phí thấp rồi chỉ dành thêm tài nguyên cho những cấu hình triển vọng. Successive halving, thành phần nền tảng của Hyperband, lặp lại một vòng cho đến khi chỉ còn một cấu hình:
Một lượt tìm kiếm lớn cũng có thể overfit dữ liệu validation, vì cấu hình chiến thắng phần nào chỉ là ứng viên may mắn nhất trong số nhiều ứng viên; do đó model cuối cùng được chấm điểm trên một tập kiểm thử riêng biệt.
Công cụ AutoML#
- AutoGluon: Thư viện mã nguồn mở do Amazon khởi xướng, huấn luyện nhiều loại model trên dữ liệu dạng bảng, văn bản, hình ảnh và chuỗi thời gian, rồi xếp chồng chúng thành một ensemble.
- auto-sklearn: Tìm kiếm trên các pipeline scikit-learn bằng tối ưu hóa Bayesian, meta-learning và xây dựng ensemble.
- FLAML: Thư viện của Microsoft hướng đến tìm kiếm chi phí thấp cho model dạng bảng và hyperparameter.
- Optuna: Framework tối ưu hóa hyperparameter với các pruner dừng sớm những lần thử không triển vọng; thường được dùng làm công cụ tìm kiếm bên trong các vòng lặp AutoML tùy chỉnh.
- Google Cloud AutoML: Dịch vụ được quản lý, hiện là một phần của Gemini Enterprise Agent Platform, trước đây là Vertex AI, giúp huấn luyện model phân loại hình ảnh, phát hiện đối tượng và dạng bảng mà không cần viết mã.
- Amazon SageMaker Autopilot: Dịch vụ AutoML của AWS, hiện có giao diện trong SageMaker Canvas.
Với các bảng dữ liệu nhỏ, model nền tảng dạng bảng cung cấp một cách tiếp cận khác để đạt cùng mục tiêu: dự đoán dựa trên các hàng dữ liệu huấn luyện trong ngữ cảnh mà không cần tìm kiếm riêng cho từng dataset.
Tự động tinh chỉnh YOLO#
Với các model thị giác máy tính có kiến trúc cố định, được huấn luyện trước, quá trình tìm kiếm tự động thường nhắm đến quy trình huấn luyện. model.tune() của Ultralytics YOLO mặc định tiến hóa 26 hyperparameter huấn luyện, bao gồm learning rate, momentum, hệ số loss và cường độ augmentation: mỗi vòng lặp đột biến và tái tổ hợp các cấu hình tốt nhất tìm được đến thời điểm đó, huấn luyện trong thời gian ngắn, ghi lại fitness; lần chạy lưu best_hyperparameters.yaml cùng các biểu đồ fitness qua từng vòng lặp. Truyền use_ray=True sẽ chuyển quá trình tìm kiếm sang Ray Tune.
from ultralytics import YOLO
# Tải một model YOLO26 đã huấn luyện trước để tinh chỉnh
model = YOLO("yolo26n.pt")
# Tiến hóa hyperparameter: mỗi vòng lặp đột biến các cấu hình tốt nhất đến thời điểm đó, huấn luyện và chấm điểm fitness
model.tune(data="coco8.yaml", epochs=30, iterations=10, plots=False, save=False, val=False)AutoML và các thuật ngữ liên quan#
- Tinh chỉnh hyperparameter: Tối ưu hóa các thiết lập của một model đã chọn. AutoML thường bao gồm bước này trong một lượt tìm kiếm rộng hơn, đồng thời lựa chọn model.
- Tìm kiếm kiến trúc mạng nơ-ron (NAS): Nhánh AutoML thiết kế kiến trúc mạng, chẳng hạn như loại layer, độ sâu và kết nối.
- Học chuyển giao: Bắt đầu từ một model đã huấn luyện trước thay vì bắt đầu từ đầu. Các hệ thống AutoML thường tìm kiếm trên các backbone đã huấn luyện trước, khiến hai phương pháp này bổ trợ cho nhau.
- Vận hành học máy (MLOps): Bao quát toàn bộ vòng đời xoay quanh một model, bao gồm triển khai, giám sát và huấn luyện lại; AutoML thường được chạy như một bước trong pipeline huấn luyện.










