Evolutionary Algorithms
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 bài toán AI. Tìm hiểu cách tối ưu hyperparameter của Ultralytics YOLO26 và nâng cao hiệu suất model.
Thuật toán tiến hóa (EAs) là một nhóm mạnh mẽ gồm các thuật toán tối ưu hóa 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 học để giải quyết những bài toán tính toán phức tạp. Không giống các kỹ thuật toán học truyền thống dựa vào đạo hàm theo giải tích, chẳng hạn như gradient descent ngẫu nhiên (SGD), EAs được thiết kế để khám phá các không gian tìm kiếm rộng lớn, gồ ghề 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 nghiệm 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 đặc biệt hiệu quả đối với các tác vụ trong trí tuệ nhân tạo (AI), nơi khó xác định nghiệm "tốt nhất" bằng phương pháp phân tích, cho phép các hệ thống tiến hóa lặp dần đến kết quả tối ưu.
Cảm hứng sinh học và các cơ chế cốt lõi#
Chức năng của một Thuật toán tiến hóa bắt nguồn từ khái niệm sống sót của cá thể thích nghi nhất. Quy trình này vận hành theo một chu kỳ gồm 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, từng bước tinh chỉnh các nghiệm ứng viên:
-
Khởi tạo: Hệ thống tạo một quần thể ban đầu gồm các ứng viên ngẫu nhiên. Trong bối cảnh machine learning (ML), các ứng viên này có thể đại diện cho những tập tham số model khác nhau.
-
Đánh giá độ thích nghi: Mỗi ứng viên được kiểm tra theo một mục tiêu cụ thể, được gọi là hàm thích nghi. Đối với một model thị giác máy tính (CV), hàm này thường đánh giá các chỉ số như độ chính xác hoặc độ chính xác trung bình (mAP).
-
Lựa chọn: Các ứng viên có điểm độ thích nghi cao hơn được lựa chọn theo xác suất để làm cha mẹ, đảm bảo các đặc tính thành công được duy trì cho thế hệ tiếp theo.
-
Sinh sản và biến dị: Các nghiệm mới được tạo ra thông qua lai ghép (kết hợp lại các đặc tính từ hai cá thể cha mẹ) và đột biến (đưa vào các thay đổi ngẫu nhiên). Việc tạo ra đa dạng di truyền này rất quan trọng vì giúp thuật toán không bị đình trệ tại một cực trị cục bộ, đồng thời hỗ trợ khám phá không gian tìm kiếm để tìm cực đại toàn cục.
Các Ứng dụng Thực tế trong AI#
Thuật toán tiến hóa rất linh hoạt và đã được áp dụng thành công trong nhiều lĩnh vực thuộc deep learning (DL) và kỹ thuật.
Tinh chỉnh Hyperparameter tự động#
Một trong những ứng dụng thực tiễn nhất của EAs là tinh chỉnh hyperparameter. Các neural network hiện đại yêu cầu cấu hình hàng chục tham số—chẳng hạn như learning rate, weight decay và momentum—có ảnh hưởng đáng kể đến hiệu năng. EAs có thể tự động hóa quy trình thử-sai tốn thời gian này bằng cách tiến hóa các thiết lập cấu hình. Ví dụ, phương thức tune() trong thư viện Ultralytics sử dụng thuật toán di truyền để tìm ra các hyperparameter huấn luyện tốt nhất cho các model YOLO26 trên các dataset tùy chỉnh.
Tìm kiếm kiến trúc mạng nơ-ron (NAS)#
EAs là nền tảng cốt lõi của Tìm kiếm kiến trúc mạng nơ-ron (NAS). Thay vì để các kỹ sư tự thiết kế cấu trúc của một 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 đó. Thuật toán kiểm thử các tổ hợp khác nhau của layer, neuron và kết nối, tiến hóa thành những cấu trúc hiệu quả để cân bằng tốc độ và độ chính xác. Kỹ thuật này đã dẫn đến sự ra đời của các backbone có hiệu năng cao, chẳng hạn như EfficientNet, được tối ưu hóa cho các giới hạn phần cứng cụ thể.
Thuật toán tiến hóa so với Trí tuệ bầy đàn#
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, việc phân biệt EAs với Trí tuệ bầy đàn (SI) là rất hữu ích.
- Thuật toán tiến hóa: Dựa trên thay đổi theo thế hệ. Các cá thể (nghiệm) tồn tại, sinh sản dựa trên độ thích nghi rồi chết đi và được thay thế bằng thế hệ con. Các động lực chính là những toán tử di truyền như đột biến và lai ghép.
- Trí tuệ bầy đàn: Mô phỏng tương tác xã hội trong một nhóm, chẳng hạn như đàn chim hoặc đàn cá. Các thuật toán như Tối ưu hóa bầy hạt (PSO) bao gồm một quần thể tác tử di chuyển trong không gian tìm kiếm và điều chỉnh vị trí dựa trên kinh nghiệm của chính chúng cũng như mức độ thành công của các tác tử lân cận, mà không thay thế theo thế hệ.
Triển khai tối ưu hóa với Ultralytics#
Các chuyên gia có thể tận dụng trực tiếp các thuật toán di truyền để tối ưu hóa model phát hiện đối tượng. Phương thức tune của Ultralytics thực hiện một quy trình tiến hóa để đột biến các hyperparameter qua nhiều thế hệ, tự động xác định các thiết lập mang lại hiệu năng cao nhất trên dữ liệu validation 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)Quy trình tinh chỉnh tự động này cho phép các developer vượt qua việc phỏng đoán thủ công. Đối với các team đang mở rộng quy mô vận hành, việc quản lý những thử nghiệm này và theo dõi quá trình tiến hóa hiệu năng của model có thể được đơn giản hóa bằng Ultralytics Platform, nền tảng trực quan hóa các chỉ số huấn luyện và hỗ trợ triển khai model.









