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

Thuật toán tiến hóa

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.

Cảm hứng sinh học và các cơ chế cốt lõi

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:

  1. Khởi tạo: Hệ thống tạo ra một tập hợp ban đầu các ứng viên ngẫu nhiên. Trong bối cảnh học máy (ML) , các ứng viên này có thể đại diện cho các tập hợp tham số mô hình khác nhau.
  2. Đánh giá độ phù hợp: 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 đánh giá độ phù hợp . Đối với mô hình 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 ) .
  3. Tuyển chọn: Các ứng viên có điểm thể chất cao hơn sẽ được chọn ngẫu nhiên để làm cha mẹ, đảm bảo các đặc điểm thành công được bảo tồn cho thế hệ tiếp theo.
  4. Sinh sản và Biến dị: Các giải pháp mới được tạo ra thông qua lai chéo (kết hợp các đặc điểm từ hai bố mẹ) và đột biến (tạo ra những thay đổi ngẫu nhiên). Việc đưa sự đa dạng di truyền này vào là rất quan trọng, vì nó ngăn thuật toán bị trì trệ ở điểm tối ưu cục bộ, giúp nó khám phá không gian tìm kiếm điểm cực đại toàn cục.

Ứng dụng thực tế trong AI

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.

Điều chỉnh siêu tham số tự động

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.

Tìm kiếm kiến trúc mạng nơ-ron (Neural Architecture Search - NAS)

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ể.

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, 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.

  • Thuật toán tiến hóa: Dựa trên sự thay đổi qua các thế hệ . Các cá thể (giải pháp) sống, sinh sản dựa trên khả năng thích nghi và chết đi, được thay thế bởi con cháu của chúng. Các động lực chính là các 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ư một đàn chim hoặc một đà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ể các tác nhân di chuyển trong 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 chúng và sự thành công của các tác nhân lân cận, mà không cần thay thế thế hệ.

Áp dụng tối ưu hóa với Ultralytics

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 .

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