Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Điều chỉnh siêu tham số

Điều chỉnh siêu tham số chính để tối ưu hóa các mô hình ML như Ultralytics YOLO . Nâng cao độ chính xác, tốc độ và hiệu suất bằng các kỹ thuật chuyên môn.

Điều chỉnh siêu tham số là quá trình có hệ thống nhằm khám phá tập hợp tối ưu các biến cấu hình bên ngoài, được gọi là siêu tham số, chi phối quá trình huấn luyện mô hình học máy (ML) . Không giống như các tham số mô hình bên trong, chẳng hạn như weights and biases Được học trực tiếp từ dữ liệu huấn luyện trong giai đoạn học, các siêu tham số được thiết lập trước khi huấn luyện và duy trì không đổi trong suốt quá trình. Bước tối ưu hóa này rất quan trọng vì các thiết lập mặc định của mạng nơ-ron hiếm khi mang lại hiệu suất tốt nhất có thể cho một tập dữ liệu cụ thể. Bằng cách tinh chỉnh các điều khiển này, các nhà khoa học dữ liệu có thể cải thiện đáng kể độ chính xác của mô hình, giảm thời gian hội tụ và ngăn ngừa các vấn đề như quá khớp.

Vai trò của siêu tham số

Để hiểu về điều chỉnh, việc hình dung mô hình như một cỗ máy phức tạp với nhiều núm xoay và công tắc khác nhau sẽ rất hữu ích. Trong khi cỗ máy tự học cách xử lý nguyên liệu thô (dữ liệu) thành sản phẩm hoàn thiện (dự đoán), người vận hành trước tiên phải thiết lập tốc độ, nhiệt độ và áp suất. Những "núm xoay" này chính là các siêu tham số.

Các siêu tham số phổ biến thường xuyên được tối ưu hóa bao gồm:

  • Tốc độ học : Thường được coi là thiết lập quan trọng nhất, yếu tố này quyết định kích thước bước mà thuật toán tối ưu thực hiện khi tiến tới giá trị cực tiểu trong hàm mất mát . Tốc độ học quá cao có thể khiến mô hình vượt quá giới hạn giải pháp tối ưu, trong khi tốc độ học quá thấp sẽ dẫn đến việc huấn luyện chậm chạp.
  • Kích thước lô : Xác định số lượng ví dụ huấn luyện được sử dụng trong một lần lặp. Việc điều chỉnh kích thước lô sẽ ảnh hưởng đến độ ổn định của ước tính gradient và yêu cầu bộ nhớ của GPU .
  • Số kỷ nguyên : Số lần thuật toán học máy xử lý toàn bộ tập dữ liệu. Việc tìm ra sự cân bằng phù hợp giúp tránh tình trạng thiếu khớp (quá ít kỷ nguyên) và quá khớp (quá nhiều kỷ nguyên).
  • Kiến trúc mạng: Các quyết định liên quan đến số lớp ẩn, số nơ-ron trên mỗi lớp hoặc loại hàm kích hoạt cụ thể (ví dụ: ReLU, SiLU) cũng là các siêu tham số kiến trúc.

Các kỹ thuật điều chỉnh phổ biến

Việc tìm kiếm sự kết hợp hoàn hảo giữa các thiết lập có thể là một thách thức do không gian tìm kiếm quá rộng lớn. Các chuyên gia sử dụng một số phương pháp tiêu chuẩn để điều hướng không gian đa chiều này:

  • Tìm kiếm lưới : Phương pháp toàn diện này đánh giá một mô hình cho mọi tổ hợp thuật toán và tham số được chỉ định trong lưới. Mặc dù toàn diện, phương pháp này tốn kém về mặt tính toán và thường không hiệu quả đối với các tập tham số lớn.
  • Tìm kiếm ngẫu nhiên : Thay vì kiểm tra mọi tổ hợp, kỹ thuật này chọn các tổ hợp siêu tham số ngẫu nhiên để huấn luyện mô hình. Nghiên cứu cho thấy tìm kiếm ngẫu nhiên thường hiệu quả hơn tìm kiếm lưới vì không phải tất cả siêu tham số đều quan trọng như nhau đối với hiệu suất mô hình.
  • Tối ưu hóa Bayes : Đây là một phương pháp tiếp cận dựa trên mô hình xác suất, xây dựng một mô hình thay thế cho hàm mục tiêu. Phương pháp này cố gắng dự đoán siêu tham số nào sẽ mang lại kết quả tốt nhất dựa trên các đánh giá trước đó, tập trung vào các lĩnh vực triển vọng nhất của không gian tìm kiếm.
  • Thuật toán tiến hóa : Lấy cảm hứng từ quá trình tiến hóa sinh học, phương pháp này sử dụng các cơ chế như đột biến và lai ghép để tiến hóa quần thể các tập siêu tham số qua nhiều thế hệ. Đây là phương pháp chính được sử dụng bởi Ultralytics bộ điều chỉnh để tối ưu hóa các mô hình như YOLO11 .

Điều chỉnh siêu tham số so với đào tạo mô hình

Điều cần thiết là phải phân biệt giữa điều chỉnhđào tạo vì chúng là những giai đoạn riêng biệt trong vòng đời MLOPS :

  • Huấn luyện mô hình: Quá trình mô hình lặp lại dữ liệu đã được gắn nhãn để học các tham số nội bộ (trọng số và độ lệch) thông qua lan truyền ngược . Mục tiêu là giảm thiểu lỗi trên tập huấn luyện.
  • Điều chỉnh siêu tham số: Siêu quy trình lựa chọn các thiết lập về cấu trúc và vận hành trước khi bắt đầu huấn luyện. Mục tiêu là tối đa hóa một số liệu xác thực, chẳng hạn như Độ chính xác trung bình ( mAP ) , trên dữ liệu chưa biết.

Các Ứng dụng Thực tế

Các mô hình được điều chỉnh hiệu quả đóng vai trò quan trọng trong việc triển khai các giải pháp AI mạnh mẽ trên nhiều ngành công nghiệp khác nhau.

Nông nghiệp chính xác

Trong AI trong Nông nghiệp , máy bay không người lái được trang bị mô hình thị giác máy tính sẽ theo dõi sức khỏe cây trồng. Các mô hình này chạy trên các thiết bị điện toán biên với pin và công suất xử lý hạn chế. Việc tinh chỉnh siêu tham số được sử dụng để tối ưu hóa kiến trúc mô hình (ví dụ: giảm độ sâu lớp) và độ phân giải đầu vào. Điều này đảm bảo hệ thống cân bằng giữa tốc độ suy luận cao với độ chính xác phát hiện đủ để xác định cỏ dại hoặc sâu bệnh theo thời gian thực.

Chẩn đoán y khoa

Đối với AI trong Y tế , đặc biệt là trong phân tích hình ảnh y tế , kết quả âm tính giả có thể gây nguy hiểm đến tính mạng. Khi phát hiện bất thường trong ảnh chụp X-quang hoặc MRI, các kỹ sư sẽ chủ động điều chỉnh các siêu tham số liên quan đến quy trình tăng cường dữ liệu và trọng số lớp trong hàm mất mát. Việc điều chỉnh này tối đa hóa khả năng thu hồi của mô hình, đảm bảo rằng ngay cả những dấu hiệu bệnh lý nhỏ nhất cũng được đánh dấu để con người xem xét.

Điều chỉnh tự động với Ultralytics

Các ultralytics thư viện đơn giản hóa sự phức tạp của quá trình tối ưu hóa bằng cách bao gồm một thư viện tích hợp tuner sử dụng thuật toán di truyền. Điều này cho phép người dùng tự động tìm kiếm các siêu tham số tốt nhất cho tập dữ liệu tùy chỉnh của họ mà không cần điều chỉnh giá trị thủ công cho mỗi lần chạy huấn luyện.

Ví dụ sau đây minh họa cách bắt đầu điều chỉnh siêu tham số cho một YOLO11 mô hình. Bộ điều chỉnh sẽ thay đổi các siêu tham số (như tốc độ học, động lượng và suy giảm trọng số) qua nhiều lần lặp lại để tối đa hóa hiệu suất.

from ultralytics import YOLO

# Initialize a YOLO11 model (using the 'nano' weight for speed)
model = YOLO("yolo11n.pt")

# Start tuning hyperparameters on the COCO8 dataset
# This will run for 10 epochs per iteration, for a total of 30 iterations
model.tune(data="coco8.yaml", epochs=10, iterations=30, optimizer="AdamW", plots=False)

Đối với người dùng nâng cao quản lý các thí nghiệm quy mô lớn, việc tích hợp với các nền tảng chuyên dụng như Ray Tune hoặc sử dụng Weights & Biases để trực quan hóa có thể đơn giản hóa hơn nữa quy trình điều chỉnh. Với các nghiên cứu và phát triển sắp tới về kiến trúc như YOLO26 , điều chỉnh tự động vẫn là nền tảng để đạt được hiệu suất tiên tiến một cách hiệu quả.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay