Khám phá cách các thuật toán tiến hóa sử dụng chọn lọc tự nhiên để giải quyết các vấn đề về trí tuệ nhân tạo. Học cách tối ưu hóa. Ultralytics Tối ưu hóa siêu tham số YOLO26 và nâng cao hiệu suất mô hình.
Các thuật toán tiến hóa (EA) là một họ thuật toán tối ưu hóa mạnh mẽ, mô phỏng các nguyên tắc sinh học của chọn lọc tự nhiên và di truyền để giải quyết các bài toán tính toán phức tạp. Không giống như các kỹ thuật toán học truyền thống dựa trên đạo hàm vi phân và tích phân, chẳng hạn như thuật toán giảm độ dốc ngẫu nhiên ( SGD ) , EA được thiết kế để điều hướng trong không gian tìm kiếm rộng lớn, phức tạp hoặc chưa được hiểu rõ. Chúng hoạt động bằng cách duy trì một quần thể các giải pháp tiềm năng cạnh tranh, sinh sản và đột biến theo thời gian. Cách tiếp cận này làm cho chúng đặc biệt hiệu quả đối với các nhiệm vụ trong trí tuệ nhân tạo (AI) mà việc xác định giải pháp "tốt nhất" bằng phương pháp phân tích rất khó khăn, cho phép các hệ thống tiến hóa lặp đi lặp lại hướng tới một kết quả tối ưu.
Chức năng của thuật toán tiến hóa dựa trên khái niệm " sự sống sót của kẻ mạnh nhất" . Quá trình này diễn ra thông qua một chu kỳ các toán tử được thiết kế để mô phỏng quá trình tiến hóa di truyền tự nhiên, dần dần tinh chỉnh các giải pháp tiềm năng:
Các thuật toán tiến hóa rất linh hoạt và đã được áp dụng thành công vào nhiều lĩnh vực khác nhau trong học sâu (DL) và kỹ thuật.
Một trong những ứng dụng thực tiễn nhất của EA là
điều chỉnh siêu tham sốCác mạng nơ-ron hiện đại yêu cầu cấu hình hàng tá tham số—chẳng hạn như tốc độ học, độ suy giảm trọng số và động lượng—ảnh hưởng đáng kể đến hiệu suất. Các thuật toán tiến hóa (EA) có thể tự động hóa quá trình thử và sai tốn thời gian này bằng cách phát triển các thiết lập cấu hình. Ví dụ, tune() phương pháp trong Ultralytics Thư viện này sử dụng thuật toán di truyền để tìm ra các siêu tham số huấn luyện tốt nhất cho YOLO26 mô hình trên tập dữ liệu tùy chỉnh.
Các thuật toán tiến hóa (EA) là nền tảng của Tìm kiếm Kiến trúc Mạng nơ-ron (NAS) . Thay vì các kỹ sư con người tự tay thiết kế cấu trúc của mạng nơ-ron (NN) , một thuật toán tiến hóa có thể "phát triển" kiến trúc đó. Nó kiểm tra các tổ hợp khác nhau của các lớp, nơ-ron và kết nối, phát triển các cấu trúc hiệu quả cân bằng giữa tốc độ và độ chính xác. Kỹ thuật này đã dẫn đến việc tạo ra các kiến trúc xương sống hiệu quả cao, chẳng hạn như EfficientNet , được tối ưu hóa cho các ràng buộc phần cứng cụ thể.
Mặc dù cả hai đều là các chiến lược tối ưu hóa lấy cảm hứng từ tự nhiên, nhưng việc phân biệt giữa EA và Trí tuệ bầy đàn (Swarm Intelligence - SI) là rất hữu ích.
Các chuyên gia có thể tận dụng trực tiếp thuật toán di truyền để tối ưu hóa mô hình phát hiện đối tượng của họ. Ultralytics
tune Phương pháp này thực hiện một quy trình tiến hóa để biến đổi các siêu tham số qua nhiều thế hệ, tự động xác định các thiết lập mang lại hiệu suất cao nhất trên dữ liệu kiểm chứng của bạn.
from ultralytics import YOLO
# Load the standard YOLO26 model
model = YOLO("yolo26n.pt")
# Run hyperparameter tuning using a genetic algorithm approach
# The tuner evolves parameters (lr, momentum, etc.) over 30 generations
model.tune(data="coco8.yaml", epochs=10, iterations=30, plots=False)
Quá trình tinh chỉnh tự động này cho phép các nhà phát triển vượt qua việc phỏng đoán thủ công. Đối với các nhóm đang mở rộng quy mô hoạt động, việc quản lý các thử nghiệm này và theo dõi sự phát triển hiệu suất của mô hình có thể được đơn giản hóa bằng cách sử dụng Nền tảng Ultralytics , nền tảng này trực quan hóa các chỉ số huấn luyện và tạo điều kiện thuận lợi cho việc triển khai mô hình .