Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Hyperparameter Tuning

Tuning siêu tham số tìm các thiết lập huấn luyện giúp tối đa hóa hiệu suất trên tập validation. So sánh tìm kiếm dạng lưới, ngẫu nhiên, Bayesian và tiến hóa.

Tối ưu siêu tham số là quá trình tìm kiếm các thiết lập huấn luyện giúp model machine learning đạt hiệu suất tốt nhất trên dữ liệu giữ lại. Siêu tham số được cố định trước khi bắt đầu huấn luyện, khác với trọng số model mà quá trình huấn luyện học từ dữ liệu. Mỗi cấu hình ứng viên phải được chấm điểm bằng cách huấn luyện model và đánh giá trên dữ liệu validation, vì vậy tối ưu là một trong những bước tiêu tốn nhiều tài nguyên tính toán nhất khi xây dựng model, và việc chọn chiến lược tìm kiếm phù hợp cũng quan trọng như việc chọn các giá trị cần tìm.

Các siêu tham số phổ biến#

Trong deep learning cho thị giác, các thiết lập thường cần tối ưu nhất thuộc một vài nhóm:

  • Tối ưu hóa: Learning rate và lịch trình của nó, momentum, weight decay và lựa chọn optimizer, chẳng hạn SGD hoặc optimizer Adam. Learning rate thường có ảnh hưởng lớn nhất và được tìm kiếm theo thang log.
  • Thời lượng huấn luyện và batching: Số lượng epoch, thời lượng warmup và batch size.
  • Tăng cường dữ liệu: Xác suất và cường độ của mỗi phép biến đổi, chẳng hạn lật, thay đổi tỷ lệ, dịch chuyển màu và mosaic.
  • Trọng số loss: Các hệ số cân bằng những thành phần của một hàm loss tổng hợp, chẳng hạn loss box và loss phân loại trong model phát hiện.

Phương pháp tìm kiếm#

Các chuyên gia tìm kiếm trong không gian cấu hình khả thi bằng một số chiến lược:

  • Tìm kiếm lưới: Huấn luyện mọi tổ hợp của một danh sách giá trị cố định. Phương pháp này đơn giản và toàn diện, nhưng chi phí tăng theo cấp số nhân với mỗi siêu tham số được thêm vào.
  • Tìm kiếm ngẫu nhiên: Lấy mẫu ngẫu nhiên các cấu hình từ những khoảng giá trị cho phép. Bergstra và Bengio cho thấy phương pháp này tìm được model tốt ngang hoặc tốt hơn tìm kiếm lưới chỉ với một phần nhỏ tài nguyên tính toán, vì với mỗi bài toán chỉ có một vài siêu tham số thực sự quan trọng, còn lấy mẫu ngẫu nhiên thử được nhiều giá trị khác nhau hơn cho mỗi siêu tham số.
  • Tối ưu hóa Bayes: Khớp một model thay thế để ước lượng điểm số phụ thuộc vào siêu tham số như thế nào, rồi chọn lần thử tiếp theo tại nơi có khả năng cải thiện cao nhất. Các thư viện như Optuna mặc định sử dụng phương pháp này.
  • Phương pháp dừng sớm: Hyperband và successive halving khởi chạy nhiều cấu hình với ngân sách nhỏ, sau đó chỉ cấp thêm epoch cho những cấu hình triển vọng nhất.
  • Thuật toán tiến hóa: Xem mỗi cấu hình như một bộ gene và cải thiện quần thể cấu hình thông qua chọn lọc và đột biến.

Tìm kiếm tiến hóa phù hợp với các lượt huấn luyện có nhiều siêu tham số tương tác, vì phương pháp này không cần mô hình hóa không gian tìm kiếm mà chỉ cần điểm số fitness cho mỗi lần thử. Mỗi vòng lấy một trong những cấu hình tốt nhất đã tìm được, đột biến một số giá trị, huấn luyện với cấu hình mới và giữ cấu hình đó trong tập ứng viên nếu đạt điểm tốt.

Bộ tối ưu siêu tham số của Ultralytics chạy quy trình này cho quá trình huấn luyện YOLO: mỗi vòng lặp chọn một cấu hình cha trong chín kết quả có fitness cao nhất, đột biến khoảng một nửa trong tối đa 26 siêu tham số liên quan đến learning rate, hệ số loss và tăng cường dữ liệu, rồi tính fitness bằng mAP50-95 cho tác vụ phát hiện. Các siêu tham số ở giai đoạn COCO của những checkpoint YOLO26 chính thức được tìm bằng phương pháp tiến hóa này.

from ultralytics import YOLO

# Tải model YOLO26n đã tiền huấn luyện
model = YOLO("yolo26n.pt")

# Không gian tìm kiếm: giới hạn (min, max) cho mỗi siêu tham số cần tối ưu
search_space = {"lr0": (1e-5, 1e-2), "degrees": (0.0, 45.0)}

# Mỗi trong số 30 vòng lặp huấn luyện 10 epoch với các giá trị mới được đột biến
model.tune(data="coco8.yaml", epochs=10, iterations=30, space=search_space, plots=False, save=False, val=False)

Lượt chạy tạo best_hyperparameters.yaml, biểu đồ fitness theo từng vòng lặp và trọng số của vòng lặp tốt nhất trong thư mục tune. model.tune() huấn luyện bằng AdamW trừ khi chỉ định optimizer, vì optimizer="auto" mặc định sẽ ghi đè lr0 đã được tối ưu.

  • Huấn luyện model: Quá trình huấn luyện học trọng số cho một bộ siêu tham số cố định thông qua lan truyền ngược. Tối ưu là vòng lặp bên ngoài, chạy huấn luyện nhiều lần và so sánh kết quả.
  • Fine-tune: Dù tên gọi tương tự, fine-tune tiếp tục huấn luyện trọng số của model đã được pretrained trên dữ liệu mới. Fine-tune có các siêu tham số riêng cần tối ưu, chẳng hạn learning rate thấp hơn và số lớp bị đóng băng.
  • Tìm kiếm kiến trúc mạng nơ-ron (NAS): Tìm kiếm cấu trúc mạng, chẳng hạn loại và độ rộng của các lớp, thay vì các thiết lập huấn luyện.
  • Machine learning tự động (AutoML): Tự động hóa quy trình rộng hơn, bao gồm lựa chọn model và tiền xử lý dữ liệu, trong đó tối ưu siêu tham số là một thành phần.
  • Overfit với tập validation: Hàng trăm lần thử tối ưu được chấm điểm trên cùng một tập validation có thể tình cờ chọn ra các thiết lập phù hợp với riêng tập đó, vì vậy kết quả cuối cùng cần được đánh giá trên một tập test riêng mà quá trình tối ưu chưa từng sử dụng.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning