Yolo Vision 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 (EAs) là một nhánh thú vị của trí tuệ nhân tạohọc máy, sử dụng các nguyên tắc của tiến hóa sinh học để giải quyết các bài toán tối ưu hóa phức tạp. Lấy cảm hứng từ chọn lọc tự nhiên của Darwin, các thuật toán này lặp đi lặp lại để tinh chỉnh một tập hợp các giải pháp tiềm năng nhằm tìm ra kết quả tốt nhất có thể. Thay vì sử dụng một giải pháp duy nhất, EAs duy trì một nhóm đa dạng các câu trả lời tiềm năng, cho phép chúng khám phá một không gian tìm kiếm rộng lớn và tránh bị mắc kẹt trong các giải pháp không tối ưu, một vấn đề thường gặp với các thuật toán tối ưu hóa khác.

Cách thuật toán tiến hóa hoạt động

Quá trình cốt lõi của một EA mô phỏng sự tiến hóa tự nhiên thông qua một số bước chính:

  1. Khởi tạo: Thuật toán bắt đầu bằng cách tạo ra một quần thể ban đầu gồm các giải pháp ứng cử viên ngẫu nhiên.
  2. Đánh giá độ thích nghi: Mỗi giải pháp trong quần thể được đánh giá bằng một hàm độ thích nghi đo lường mức độ giải quyết vấn đề mục tiêu của nó. Ví dụ: trong việc đào tạo một mô hình thị giác máy tính, độ thích nghi có thể được đo bằng độ chính xác của mô hình.
  3. Chọn lọc (Selection): Các cá thể "phù hợp" nhất được chọn để trở thành "cha mẹ" cho thế hệ tiếp theo. Bước này tương tự như "chọn lọc tự nhiên".
  4. Sinh sản (Lai ghép và Đột biến): Các phần tử cha được chọn tạo ra các phần tử con. Lai ghép kết hợp các phần từ hai giải pháp gốc để tạo ra một giải pháp mới, trong khi đột biến tạo ra những thay đổi nhỏ, ngẫu nhiên cho một giải pháp. Các hoạt động này giới thiệu các biến thể mới vào quần thể, thúc đẩy việc tìm kiếm các giải pháp tốt hơn.
  5. Kết thúc: Chu kỳ này lặp lại qua nhiều thế hệ cho đến khi tìm thấy giải pháp thỏa đáng hoặc đạt tiêu chí dừng được xác định trước (ví dụ: số lượng thế hệ).

Các loại EA phổ biến bao gồm Thuật Toán Di Truyền (GA), Lập Trình Di Truyền, Chiến Lược Tiến Hóa (ES) và Tiến Hóa Vi Sai (DE).

Các Ứng dụng Thực tế

EA rất linh hoạt và được sử dụng để giải quyết các vấn đề mà không gian tìm kiếm lớn, phức tạp hoặc chưa được hiểu rõ.

  • Điều chỉnh siêu tham số cho mô hình học máy: Một trong những ứng dụng phổ biến nhất trong ML là tìm các siêu tham số tối ưu (như learning rate (tốc độ học) hoặc kiến trúc mạng) cho một mô hình. Thư viện Ultralytics bao gồm một Tuner lớp tận dụng EAs để tự động tìm các cài đặt tốt nhất cho quá trình huấn luyện Ultralytics YOLO các mô hình, một quy trình được trình bày chi tiết trong Hướng dẫn Điều Chỉnh Siêu Tham Số. Điều này có thể được mở rộng hơn nữa bằng cách sử dụng các tích hợp như Ray Tune cho các thử nghiệm phân tán được quản lý bằng các công cụ như Ultralytics HUB.
  • Tối ưu hóa Thiết kế và Kỹ thuật: EAs được sử dụng để tạo ra các thiết kế tối ưu cho các hệ thống phức tạp. Một ví dụ nổi tiếng là việc NASA sử dụng EAs để thiết kế ăng-ten cho tàu vũ trụ ST5 của mình. Thuật toán đã phát triển một hình dạng ăng-ten mới lạ, hiệu quả cao mà các kỹ sư là con người không thể trực giác được. Nguyên tắc tương tự này áp dụng cho robotics để phát triển dáng đi và trong AI trong sản xuất để tối ưu hóa dây chuyền sản xuất.
  • AI trong chăm sóc sức khỏe (AI in Healthcare): Trong y học, EAs hỗ trợ trong các nhiệm vụ phức tạp như lên lịch nhân viên bệnh viện để giảm thiểu sự mệt mỏi hoặc tối ưu hóa các kế hoạch xạ trị. Chúng cũng được sử dụng trong phát hiện thuốc (drug discovery) để tìm kiếm các không gian hóa học rộng lớn cho các phân tử có đặc tính trị liệu cụ thể.

So sánh thuật toán tiến hóa với các khái niệm liên quan

Điều quan trọng là phân biệt EA với các mô hình AI liên quan khác:

  • Trí tuệ bầy đàn (Swarm Intelligence - SI): Cả hai đều là các phương pháp dựa trên quần thể, lấy cảm hứng từ tự nhiên. Tuy nhiên, EA tập trung vào cải tiến theo thế hệ thông qua lựa chọn, lai ghép và đột biến. Ngược lại, SI mô hình hóa hành vi tập thể của các tác nhân phi tập trung (như đàn chim hoặc đàn kiến) tương tác trong một thế hệ duy nhất để giải quyết vấn đề.
  • Học tăng cường (Reinforcement Learning - RL): RL liên quan đến một tác nhân duy nhất học một chính sách tối ưu bằng cách tương tác với một môi trường và nhận phần thưởng hoặc hình phạt. Mặt khác, EAs là các kỹ thuật tìm kiếm dựa trên quần thể, không nhất thiết yêu cầu một môi trường tương tác hoặc tín hiệu phần thưởng rõ ràng theo cùng một cách.
  • Gradient-Based Optimization (Tối ưu hóa dựa trên Gradient): Các thuật toán như Stochastic Gradient Descent (SGD) - Gradient Descent ngẫu nhiênAdam dựa vào việc tính toán gradient của hàm mất mát (loss function) để cập nhật các tham số mô hình. Các thuật toán EA (Evolutionary Algorithms) không dựa trên gradient, điều này làm cho chúng có hiệu quả cao đối với các bài toán không khả vi, gián đoạn hoặc có nhiều cực trị cục bộ.

Tham gia cộng đồng Ultralytics

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
Đã sao chép liên kết vào clipboard