Sự khác nhau giữa Reinforcement Learning và Genetic Algorithm?

  1. Trí tuệ nhân tạo

Mình đọc qua và thấy cả hai đều có một nguyên lí chung là làm sao để hệ thống (agent) có thể lựa chọn các hành động để tối ưu hóa một hàm phần thưởng (reward) nào đó. Vậy khác biệt giữa 2 thuật toán này là gì?

Từ khóa: 

trí tuệ nhân tạo

Câu hỏi này cũng cũ lắm rồi nhỉ. Mình góp một ý nhỏ thôi, GA thì output là gene tốt nhất, nghiệm tốt nhất, và thường bài toán được mô tả như một dạng tìm kiếm thỏa mãn ràng buộc (Constraint satisfaction problem - CSP). Các bước học của nó có yếu tố "đột biến" mang tính ngẫu nhiên cao. Còn RL thì output là một hàm policy (có thể biểu diễn dạng bảng trong trường hợp hữu hạn) map từng state của environment xung quanh agent với một action của nó. So với GA thì output của của RL phức tạp và khó biểu diễn hơn nhiều. Hơn nữa trong GA, mặc dù dựa trên ý tưởng chọn lọc tự nhiên, nhưng khái niệm "environment" khá mờ nhạt chứ ko chi tiết và cần đặc tả rõ ràng như trong RL.

Mới nghe câu hỏi thì thấy hơi lạ vì chưa thấy ai so sánh 2 cái này cả, nhưng mà đúng là nó cũng dễ liên tưởng đến nhau qua khái niệm reward.

Trả lời

Câu hỏi này cũng cũ lắm rồi nhỉ. Mình góp một ý nhỏ thôi, GA thì output là gene tốt nhất, nghiệm tốt nhất, và thường bài toán được mô tả như một dạng tìm kiếm thỏa mãn ràng buộc (Constraint satisfaction problem - CSP). Các bước học của nó có yếu tố "đột biến" mang tính ngẫu nhiên cao. Còn RL thì output là một hàm policy (có thể biểu diễn dạng bảng trong trường hợp hữu hạn) map từng state của environment xung quanh agent với một action của nó. So với GA thì output của của RL phức tạp và khó biểu diễn hơn nhiều. Hơn nữa trong GA, mặc dù dựa trên ý tưởng chọn lọc tự nhiên, nhưng khái niệm "environment" khá mờ nhạt chứ ko chi tiết và cần đặc tả rõ ràng như trong RL.

Mới nghe câu hỏi thì thấy hơi lạ vì chưa thấy ai so sánh 2 cái này cả, nhưng mà đúng là nó cũng dễ liên tưởng đến nhau qua khái niệm reward.

Reinforcement LearningGenetic Algorithm hoạt động trên cùng một tiền đề cơ bản:

Cả hai đều cố gắng một cái gì đó, nhận "tích cực" (phần thưởng cho Reinforcement Learning, sự xứng đáng cho Genetic Algorithm), sau đó thử và làm cái gì đó để có được một tín hiệu "tích cực" cao hơn.

Sự khác biệt chính nằm ở cách chúng "cố gắng để có được một sự tích cực cao hơn". Các thuật toán Reinforcement Learning sử dụng các phương pháp đã được định nghĩa toán học như Q-learning. Ngược lại, Genetic Algorithm thay đổi một tập hợp, chọn feature tốt nhất và lặp lại.

la gi?