Tôi muốn sử dụng học tăng cường để làm cho động cơ cải thiện bằng cách chơi với chính nó. Tôi đã đọc về chủ đề này nhưng tôi vẫn còn khá bối rối.
Được cảnh báo: Học tăng cường là một môn học phức tạp lớn. Mặc dù nó có thể đưa bạn đi đường vòng từ các bot chơi trò chơi, bạn có thể muốn nghiên cứu cơ bản về RL. Một nơi tốt để bắt đầu là Học tập củng cố Sutton & Barto : Giới thiệu
Phần thưởng nào khác có trong một trò chơi một phần sản lượng thắng hoặc thua (1 hoặc 0)?
Tùy thuộc vào bạn trò chơi, đó thường là nó. Thực tế đối với một trò chơi thắng / hòa / thua như cờ vua thì phần thưởng từ mỗi hành động là 0 ngoại trừ chiến thắng (+1) hoặc thua (-1) khi kết thúc. Trong một trò chơi có tổng bằng 0, điều này sẽ điều chỉnh một cách độc đáo để minimax, cắt tỉa alphabeta, v.v.
Học tăng cường nhằm giải quyết các môi trường với phần thưởng bị trì hoãn. Thêm phần thưởng "người trợ giúp" cho các mục tiêu tạm thời thường là phản tác dụng.
Nếu tôi sử dụng các phần thưởng khác, như đầu ra từ chức năng đánh giá ở mỗi lượt, tôi có thể thực hiện nó như thế nào?
Điển hình là bạn không. Những gì áp dụng RL tự chơi sẽ làm là tìm hiểu hàm trả về (đôi khi được gọi là tiện ích ) dự đoán mức độ mong đợi của phần thưởng + 1/0 / -1 của bạn vào cuối trò chơi. Bạn sẽ sử dụng điều này thay cho heuristic hiện tại của bạn để tìm kiếm minimax. Hoặc, có khả năng bạn sẽ điều chỉnh chức năng heuristic hiện tại của mình thành đầu ra trong cùng phạm vi và sử dụng RL để tối ưu hóa trọng số của nó để tạo ra xấp xỉ tốt nhất cho hàm trả về phát tối ưu thực sự (có thể quá phức tạp để tính toán chính xác).
Làm cách nào để sửa đổi hàm đánh giá để trao phần thưởng tốt hơn sau khi lặp?
Đó là những gì RL khác nhau tiếp cận mọi nỗ lực để làm, có nhiều người giải quyết khác nhau. Không có cách nào ngắn để giải thích nó. Bạn có thể bắt đầu với một phương pháp đơn giản như Q-Learning . Q-Learning học các ước tính của Q (s, a) (được gọi là giá trị hành động) là mức lợi nhuận kỳ vọng khi ở trạng thái và thực hiện hành động a, và sau đó tuân theo chính sách tối ưu. Nó làm cho một dự đoán tùy ý để bắt đầu và tinh chỉnh nó gần hơn với giá trị thực với mỗi bước được thực hiện trong môi trường học tập. Người học Q dạng bảng đơn giản thực hiện việc tinh chỉnh này chỉ bằng cách lưu trữ một bảng lớn gồm tất cả các trạng thái và hành động với ước tính tốt nhất cho đến nay về giá trị thực và tính trung bình trong mỗi ước tính mới khi có kinh nghiệm.
Cũng có thể kết hợp phương pháp RL cho phương pháp phỏng đoán với tìm kiếm minimax nhìn về phía trước - đó là những gì AlphaGo ban đầu đã làm và AlphaGo Zero làm gì trong quá trình đào tạo. Đây là một cách tiếp cận mạnh mẽ vì tìm kiếm minimax sẽ hoạt động để kiểm tra lại các heuristic do RL tạo ra. Mặc dù đối với các trò chơi đủ đơn giản, RL có thể học các phương pháp phỏng đoán hoàn hảo và bạn sẽ chỉ cần tìm kiếm cục bộ (bước tiếp theo nên là gì).
Trừ khi trò chơi của bạn rất đơn giản (tất cả các trạng thái có thể sẽ phù hợp với bộ nhớ), bạn sẽ cần một số loại xấp xỉ hàm bên trong thuật toán RL. Mạng lưới thần kinh là một lựa chọn tiêu chuẩn. Có một cái gì đó cho phần đó là không thể tránh khỏi - mặc dù một lựa chọn tốt khác là xác định một loạt các tính năng proxy (mà bạn có thể sử dụng để xây dựng một heuristic bằng tay) và sử dụng một xấp xỉ tuyến tính - chỉ là tổng của tất cả các tính năng. Điều này có thể hoạt động đủ tốt, và đã được sử dụng ví dụ trong trình kiểm tra (bản nháp) người chơi được đào tạo sử dụng RL.
Trên thực tế, với điều kiện hàm heuristic của riêng bạn không quá bất thường, có lẽ bạn có thể coi nó giống như một hàm xấp xỉ tuyến tính và sử dụng RL để tìm hiểu các trọng số tốt nhất cho nó.