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 Thuật toán Tiến hóa tối ưu hóa các giải pháp AI và ML, từ điều chỉnh siêu tham số đến robot, sử dụng các chiến lược lấy cảm hứng từ tự nhiên.

Thuật toán Tiến hóa (EA) đại diện cho một lớp kỹ thuật tìm kiếm trí tuệ nhân tạo (AI) mạnh mẽ, lấy cảm hứng từ các nguyên lý sinh học của chọn lọc tự nhiên và di truyền. Không giống như các phương pháp toán học truyền thống dựa trên các phép tính đạo hàm, các thuật toán này mô phỏng quá trình tiến hóa để giải quyết các bài toán tối ưu hóa phức tạp. Bằng cách duy trì một quần thể các giải pháp tiềm năng có khả năng cạnh tranh, sinh sản và đột biến, EA có thể định hướng trong không gian tìm kiếm rộng lớn, khắc nghiệt, nơi câu trả lời "tốt nhất" chưa được biết hoặc không thể suy ra bằng phương pháp phân tích. Điều này khiến chúng đặc biệt hữu ích trong học máy (ML) cho các tác vụ từ thiết kế mô hình tự động đến lập lịch trình phức tạp.

Cơ chế cốt lõi của sự tiến hóa

Chức năng của Thuật toán Tiến hóa phản ánh khái niệm sinh tồn của kẻ mạnh nhất . Quá trình này tinh chỉnh lặp đi lặp lại một tập hợp các giải pháp ứng viên thông qua một chu trình các toán tử sinh học:

  1. Khởi tạo: Hệ thống tạo ra một quần thể ngẫu nhiên các giải pháp tiềm năng cho vấn đề.
  2. Đánh giá độ phù hợp: Mỗi ứng viên được kiểm tra theo một hàm độ phù hợp đã xác định. Trong thị giác máy tính (CV) , hàm này thường đo độ chính xác của mô hình hoặc Độ chính xác trung bình (Mean Average Precision - CV). mAP ).
  3. Lựa chọn: Những ứng viên có điểm thể lực cao hơn sẽ được chọn làm cha mẹ 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 bằng cách sử dụng phép lai (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). Đột biến rất quan trọng vì nó tạo ra sự đa dạng di truyền, ngăn thuật toán bị mắc kẹt trong một điểm tối ưu cục bộ thay vì tìm ra điểm tối ưu toàn cục .

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

Thuật toán tiến hóa là những công cụ đa năng được sử dụng trong nhiều lĩnh vực có tác động cao để nâng cao hiệu suất hệ thống:

  • Điều chỉnh Siêu tham số : Một trong những ứng dụng phổ biến nhất trong học sâu (DL) là tối ưu hóa cấu hình huấn luyện. Thay vì tự tay đoán các giá trị cho tốc độ học , động lượng hoặc suy giảm trọng số, EA có thể phát triển một tập hợp các siêu tham số giúp tối đa hóa hiệu suất mô hình. Quy trình huấn luyện Ultralytics YOLO11 bao gồm một bộ điều chỉnh dựa trên thuật toán di truyền để tự động hóa quy trình này.
  • Tìm kiếm Kiến trúc Nơ-ron (NAS): EA tự động hóa việc thiết kế mạng nơ-ron . Bằng cách xử lý cấu trúc mạng (các lớp, kết nối) như mã di truyền, thuật toán có thể phát triển các kiến trúc hiệu quả cao, phù hợp với các thiết bị AI biên , nơi tài nguyên tính toán bị hạn chế.
  • Robot và Điều khiển: Trong lĩnh vực AI trong robot , các EA (trí tuệ nhân tạo) phát triển các chính sách điều khiển và dáng đi chuyển động. Điều này cho phép robot tự động học cách điều hướng trong môi trường động bằng cách mô phỏng nhiều thế hệ chiến lược chuyển động.
  • Tối ưu hóa môi trường: Trong các lĩnh vực như AI trong nông nghiệp , EA giúp tối ưu hóa việc phân bổ nguồn lực, chẳng hạn như lịch trình tưới tiêu hoặc vị trí trồng trọt, để tối đa hóa năng suất đồng thời giảm thiểu chất thải.

Tự động hóa tối ưu hóa với Python

Các học viên có thể tận dụng các thuật toán tiến hóa trực tiếp trong ultralytics gói để tìm cấu hình đào tạo tối ưu cho phát hiện đối tượng các mô hình. Các tune phương pháp này sử dụng thuật toán di truyền để đột biến các siêu tham số qua nhiều thế hệ.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Run hyperparameter tuning using a genetic algorithm approach
# The tuner evolves parameters like lr0, momentum, and weight_decay
# 'iterations' defines how many evolutionary generations to run
model.tune(data="coco8.yaml", epochs=10, iterations=30, optimizer="AdamW", plots=False)

Phân biệt các khái niệm liên quan

Để áp dụng hiệu quả các kỹ thuật này, cần phân biệt Thuật toán tiến hóa với các chiến lược tối ưu hóa và học tập khác:

  • So với Stochastic Gradient Descent ( SGD ): Các phương pháp huấn luyện tiêu chuẩn như Stochastic Gradient Descent ( SGD ) dựa vào việc tính toán đạo hàm của hàm mất mát để cập nhật trọng số. EA không có gradient , nghĩa là chúng có thể tối ưu hóa các bài toán không khả vi hoặc rời rạc khi không có gradient.
  • So với Trí tuệ bầy đàn: Mặc dù cả hai đều lấy cảm hứng từ sinh học, Trí tuệ bầy đàn (ví dụ: Tối ưu hóa đàn kiến) tập trung vào hành vi tập thể của các tác nhân phi tập trung tương tác trong một vòng đời duy nhất. Ngược lại, EA dựa vào việc thay thế các giải pháp qua từng thế hệ , trong đó các ứng viên yếu hơn bị loại bỏ để nhường chỗ cho thế hệ con cháu từ các bậc cha mẹ mạnh hơn.
  • So với Học Tăng cường: Học Tăng cường (RL) liên quan đến việc một tác nhân học thông qua các tương tác thử-sai với môi trường để tối đa hóa tín hiệu thưởng. Mặc dù EA cũng có thể tối ưu hóa các chính sách, nhưng chúng thực hiện điều này bằng cách phát triển một tập hợp các tham số chính sách thay vì học thông qua các chu kỳ tương tác liên tục giữa tác nhân và môi trường.

Để biết thêm thông tin chi tiết về cách cải thiện hiệu suất mô hình, hãy khám phá hướng dẫn của chúng tôi về mẹo đào tạo mô hình và ngăn ngừa hiện tượng quá khớp .

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