Evolutionary Algorithms
Khám phá cách Evolutionary Algorithms sử dụng chọn lọc tự nhiên để giải quyết các vấn đề AI. Tìm hiểu cách tối ưu hóa các siêu tham số của Ultralytics YOLO26 và tăng cường hiệu suất mô hình.
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 như stochastic gradient descent (SGD), EA được thiết kế để điều hướng trong 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 giải pháp tiềm năng cạnh tranh, tái tạo và đột biến theo thời gian. Cách tiếp cận này đặc biệt hiệu quả cho các nhiệm vụ trong trí tuệ nhân tạo (AI) nơi mà giải pháp "tốt nhất" khó có thể xác định bằng phân tích, cho phép các hệ thống tiến hóa lặp đi lặp lại hướng tới kết quả tối ưu.
Link to this sectionNguồn 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 dựa trên khái niệm kẻ sống sót thích nghi nhất. Quá trình này trải qua một chu kỳ các toán tử được thiết kế để bắt chước sự tiến hóa di truyền tự nhiên, dần dần tinh chỉnh các giải pháp ứng viên:
-
Khởi tạo: Hệ thống tạo ra 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 các tập hợp tham số model khác nhau.
-
Đánh giá Fitness: Mỗi ứng viên được kiểm tra dựa trên một mục tiêu cụ thể, được gọi là hàm fitness. Đối với một model computer vision (CV), hàm này thường đánh giá các chỉ số như accuracy hoặc Mean Average Precision (mAP).
-
Chọn lọc: Các ứng viên có điểm fitness cao hơn được chọn theo xác suất để làm cha mẹ, đảm bảo rằng các đặc điểm thành công được bảo tồn cho thế hệ tiếp theo.
-
Tái tạo và Biến dị: Các giải pháp mới được tạo ra thông qua crossover (tái tổ hợp các đặc điểm từ hai cha mẹ) và đột biến (giới thiệu các thay đổi ngẫu nhiên). Việc đưa vào sự đa dạng di truyền này là rất quan trọng vì nó ngăn thuật toán bị đình trệ tại một cực tiểu địa phương, giúp nó khám phá không gian tìm kiếm để tìm ra cực đại toàn cục.
Link to this sectionCá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 vào nhiều lĩnh vực trong deep learning (DL) và kỹ thuật.
Link to this sectionTự động tinh chỉnh siêu tham số#
Một trong những ứng dụng thực tế nhất của EA là tinh chỉnh siêu tham số. Các mạng thần kinh hiện đại yêu cầu cấu hình hàng chục tham số—như tốc độ học, weight decay và momentum—ảnh hưởng đáng kể đến hiệu suất. EA có thể tự động hóa quy trình thử và sai tẻ nhạt này bằng cách tiến hóa các cài đặt 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 để khám phá các siêu tham số huấn luyện tốt nhất cho các model YOLO26 trên các tập dữ liệu tùy chỉnh.
Link to this sectionTìm kiếm kiến trúc mạng thần kinh (NAS)#
EA là nền tảng của Neural Architecture Search (NAS). Thay vì các kỹ sư con người thiết kế thủ công cấu trúc của một neural network (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 kết hợp khác nhau của các lớp, neuron và kết nối, tiến hóa các cấu trúc hiệu quả giúp 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 backbone 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ể.
Link to this sectionThuậ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 EA với Swarm Intelligence (SI) là rất hữu ích.
- Thuật toán tiến hóa: Dựa vào sự thay đổi theo thế hệ. Các cá thể (giải pháp) sống, tái tạo dựa trên fitness và chết đi, sau đó được thay thế bởi thế hệ con cái. Các nhân tố chính là các toán tử di truyền như đột biến và crossover.
- Trí tuệ bầy đàn: Bắt chước tương tác xã hội trong một nhóm, chẳng hạn như một đàn chim hoặc một đàn cá. Các thuật toán như Particle Swarm Optimization (PSO) bao gồm một quần thể các tác tử di chuyển qua không gian tìm kiếm và điều chỉnh vị trí của chúng dựa trên kinh nghiệm của chính mình và thành công của các láng giềng mà không cần thay thế theo thế hệ.
Link to this sectionTriể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 các model phát hiện đối tượng của mình. Phương thức tune của Ultralytics chạy một quy trình tiến hóa để làm đột biến các siêu tham số qua nhiều thế hệ, tự động xác định các cài đặt mang lại hiệu suất 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)Sự tinh chỉnh tự động này cho phép các nhà phát triển vượt xa 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 model có thể được tinh giản bằng cách sử dụng Ultralytics Platform, vốn trực quan hóa các chỉ số huấn luyện và hỗ trợ triển khai model.






