(+84) 236.3827111 ex. 402

Deep Reinforcement Learning đa tác tử với PPO: từ nền tảng đến MAPPO


Vì sao cần đa tác tử?

Nhiều bài toán thực tế có nhiều "người chơi" cùng hành động: xe tự lái chia sẻ đường, robot kho vận, bot trong game. Học tăng cường đa tác tử giải quyết các bài toán này, và PPO, thuật toán quen thuộc của học tăng cường sâu một tác tử, hóa ra vẫn hoạt động rất tốt khi mở rộng sang nhiều tác tử.

PPO trong vài dòng

PPO (Schulman và cộng sự, 2017) cập nhật chính sách theo từng bước nhỏ: nó giới hạn mức thay đổi xác suất chọn hành động giữa chính sách mới và cũ (tham số ε, thường 0.2), nên huấn luyện ổn định. PPO thường dùng kèm critic và GAE để ước lượng lợi thế. Ưu điểm là dễ cài đặt, ổn định và dễ song song hóa.

Khó khăn khi có nhiều tác tử

  • Môi trường không dừng: các tác tử khác cũng đang học và thay đổi hành vi.
  • Gán công trạng: phần thưởng chung thì ai đóng góp bao nhiêu?
  • Quan sát cục bộ: mỗi tác tử chỉ thấy một phần thế giới.
  • Không gian hành động chung tăng theo hàm mũ với số tác tử.

Kết hợp PPO với đa tác tử

Khung phổ biến là huấn luyện tập trung, thực thi phân tán (CTDE): khi huấn luyện có thể dùng thông tin toàn cục, khi triển khai mỗi tác tử chỉ dựa vào quan sát của mình.

  • IPPO: mỗi tác tử chạy một bản PPO độc lập, chỉ dùng quan sát cục bộ. Đơn giản nhưng đôi khi cạnh tranh được với các thuật toán phức tạp hơn.
  • MAPPO (Yu và cộng sự, 2021): actor dùng quan sát cục bộ, còn critic tập trung nhìn trạng thái toàn cục. Nhóm tác giả báo cáo MAPPO cạnh tranh hoặc vượt nhiều phương pháp off-policy trên MPE, SMAC, Hanabi và Google Research Football.
  • Chia sẻ tham số: các tác tử đồng nhất dùng chung một mạng, kèm định danh tác tử ở đầu vào.
  • HAPPO: cập nhật tuần tự từng tác tử, phù hợp khi các tác tử không đồng nhất.

Quy trình MAPPO

  1. Chạy song song nhiều môi trường, mỗi tác tử thu thập quỹ đạo.
  2. Critic tập trung tính giá trị và GAE; chuẩn hóa lợi thế.
  3. Cập nhật actor bằng mục tiêu cắt của PPO kèm entropy, cập nhật critic bằng mất mát giá trị.
  4. Bỏ dữ liệu cũ (vì là on-policy) rồi lặp lại.

Mẹo huấn luyện

Chuẩn hóa giá trị và quan sát, dùng ít epoch cập nhật, mặt nạ hành động cho hành động không hợp lệ, mạng hồi quy khi quan sát cục bộ, và chạy nhiều môi trường song song. Có thể thử trên MPE, SMAC hoặc PettingZoo.

Hạn chế và kết luận

PPO là on-policy nên cần nhiều dữ liệu; đội lớn và tác tử không đồng nhất vẫn là thách thức. Dù vậy, MAPPO là baseline mạnh và dễ cài đặt cho bài toán hợp tác nhiều tác tử, miễn là chú ý kỹ các chi tiết cài đặt.