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ừ thiên nhiên.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Thuật toán tiến hóa (EA) là một lớp các kỹ thuật tối ưu hóa và tìm kiếm lấy cảm hứng từ các nguyên tắc của quá trình tiến hóa sinh học, chẳng hạn như chọn lọc tự nhiên, đột biến và sinh sản. Chúng đặc biệt hiệu quả để giải quyết các vấn đề phức tạp mà các thuật toán tối ưu hóa truyền thống có thể gặp khó khăn, chẳng hạn như các thuật toán có không gian tìm kiếm phi tuyến tính, không khả vi hoặc có nhiều chiều. EA duy trì một quần thể các giải pháp tiềm năng và tinh chỉnh chúng theo từng thế hệ, nhằm mục đích tìm ra các giải pháp tối ưu hoặc gần tối ưu dựa trên tiêu chí thể lực đã xác định. Cách tiếp cận này khiến chúng trở thành các công cụ có giá trị trong nhiều lĩnh vực, bao gồm trí tuệ nhân tạo (AI)học máy (ML) .

Thuật toán tiến hóa hoạt động như thế nào

Quá trình cốt lõi của Thuật toán tiến hóa thường bao gồm các bước sau, mô phỏng quá trình tiến hóa sinh học :

  1. Khởi tạo: Một quần thể các giải pháp ứng viên (thường được gọi là cá thể hoặc nhiễm sắc thể) được tạo ra, thường là ngẫu nhiên, trên toàn bộ không gian tìm kiếm.
  2. Đánh giá độ phù hợp: Mỗi giải pháp trong quần thể được đánh giá bằng hàm độ phù hợp (tương tự như hàm mất mát) để đo chất lượng hoặc mức độ giải quyết vấn đề mục tiêu của giải pháp đó.
  3. Lựa chọn: Các giải pháp được lựa chọn dựa trên điểm số về độ phù hợp của chúng. Các giải pháp phù hợp hơn có khả năng cao hơn được lựa chọn để truyền các đặc điểm của chúng cho thế hệ tiếp theo, mô phỏng nguyên tắc "sự sống còn của những cá thể phù hợp nhất". Có nhiều chiến lược lựa chọn khác nhau, như lựa chọn giải đấu hoặc lựa chọn bánh xe roulette.
  4. Sinh sản (Toán tử di truyền):
    • Lai tạo (Tái tổ hợp): Các giải pháp cha mẹ được chọn trao đổi thông tin (một phần cấu trúc của chúng) để tạo ra các giải pháp con mới, kết hợp các đặc điểm có lợi.
    • Đột biến: Những thay đổi nhỏ, ngẫu nhiên được đưa vào các giải pháp con để duy trì sự đa dạng trong quần thể và khám phá các khu vực mới của không gian tìm kiếm, ngăn ngừa sự hội tụ sớm thành các giải pháp không tối ưu.
  5. Sự thay thế: Thế hệ con mới thay thế một phần hoặc toàn bộ quần thể cũ, hình thành nên thế hệ tiếp theo.
  6. Kết thúc: Quá trình lặp lại từ bước đánh giá độ phù hợp cho đến khi đáp ứng được điều kiện kết thúc, chẳng hạn như đạt đến số thế hệ tối đa, tìm ra giải pháp thỏa đáng hoặc không thấy sự cải thiện đáng kể nào về độ phù hợp.

Sự liên quan trong AI và Học máy

EA là công cụ mạnh mẽ trong AI và ML, đặc biệt đối với các tác vụ liên quan đến tối ưu hóa trên các không gian phức tạp, nơi thông tin về độ dốc không khả dụng hoặc không đáng tin cậy. Các ứng dụng chính bao gồm:

Thuật toán tiến hóa so với các phương pháp tối ưu hóa khác

Mặc dù EA là một loại thuật toán tối ưu hóa , nhưng chúng khác đáng kể so với các phương pháp dựa trên gradient như Gradient Descent hoặc Stochastic Gradient Descent (SGD) :

  • Thông tin về độ dốc: EA không yêu cầu thông tin về độ dốc, khiến chúng phù hợp với các bài toán không thể phân biệt hoặc không liên tục khi phương pháp giảm độ dốc không thành công.
  • Chiến lược tìm kiếm: EA thực hiện tìm kiếm toàn cục bằng cách sử dụng một quần thể các giải pháp, khiến chúng ít có khả năng bị kẹt trong tối ưu cục bộ so với tìm kiếm cục bộ của gradient descent dựa trên độ dốc của hàm mất mát. Tuy nhiên, việc khám phá toàn cục này thường có chi phí tính toán cao hơn.
  • Loại vấn đề: Phương pháp giảm dần độ dốc thường được ưu tiên để tối ưu hóa các tham số trong các mô hình học sâu với các hàm mất mát có thể phân biệt được, trơn tru, trong khi EA vượt trội trong tối ưu hóa tổ hợp, tối ưu hóa tham số trong bối cảnh thể lực phức tạp và tối ưu hóa đa mục tiêu.

Ứng dụng trong thế giới thực

Ngoài việc tối ưu hóa lý thuyết, EA còn được sử dụng thực tế trong:

  1. Tối ưu hóa mô hình ML: Như đã đề cập, việc tìm kiếm các siêu tham số tốt nhất cho các mô hình như Ultralytics YOLO là một ứng dụng quan trọng. Ultralytics Tuner lớp học cung cấp một triển khai sử dụng EA để tối ưu hóa YOLO người mẫu đào tạo [Tham khảo: Thuật ngữ điều chỉnh siêu tham số]. Tích hợp với các công cụ như Ray Điều Chỉnh nâng cao hơn nữa khả năng điều chỉnh phân tán.
  2. Hệ thống điều khiển và robot: EA được sử dụng để phát triển dáng đi của robot, các thông số điều khiển cho hệ thống tự động và các chiến lược lập kế hoạch đường đi, đặc biệt là trong robot .
  3. Lập lịch trình và hậu cần: Giải quyết các vấn đề lập lịch trình phức tạp như lập lịch trình xưởng, lập thời gian biểu hoặc tối ưu hóa tuyến đường giao hàng ( Tài nguyên về vấn đề lập tuyến đường cho phương tiện ).
  4. Tối ưu hóa thiết kế: Được sử dụng trong lĩnh vực kỹ thuật và thiết kế để tối ưu hóa cấu trúc, vật liệu hoặc hình dạng khí động học (ví dụ: nghiên cứu của NASA về thiết kế ăng-ten ).
  5. Khám phá thuốc: EA có thể khám phá không gian hóa học rộng lớn để xác định các ứng cử viên thuốc tiềm năng có đặc tính mong muốn, hỗ trợ nghiên cứu dược phẩm .

Ưu điểm và nhược điểm

Thuận lợi:

  • Hiệu quả trong tối ưu hóa toàn cục, ít bị ảnh hưởng bởi tối ưu cục bộ.
  • Có thể áp dụng cho nhiều bài toán khác nhau, bao gồm cả các bài toán phức tạp và không thể phân biệt được.
  • Có khả năng song song hóa một cách tự nhiên vì đánh giá mức độ phù hợp thường có thể được thực hiện độc lập.
  • Hoạt động tốt trong môi trường ồn ào hoặc không chắc chắn.

Nhược điểm:

  • Có thể tốn kém về mặt tính toán do phải tìm kiếm dựa trên dân số và đánh giá mức độ phù hợp.
  • Hiệu suất có thể nhạy cảm với sự lựa chọn các tham số EA (quy mô quần thể, tỷ lệ đột biến, v.v.).
  • Sự hội tụ đến mức tối ưu toàn cục không phải lúc nào cũng được đảm bảo.
  • Có thể cần điều chỉnh đáng kể cho các vấn đề cụ thể.

Thuật toán tiến hóa đại diện cho một bộ công cụ mạnh mẽ và linh hoạt trong bối cảnh AI và ML, mang lại những lợi thế độc đáo để giải quyết các thách thức tối ưu hóa phức tạp gặp phải trong nghiên cứu và công nghiệp, bao gồm tối ưu hóa các mô hình thị giác máy tính hiện đại bằng các nền tảng như Ultralytics HUB .

Đọc tất cả